Ключевое ?лово

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Железо для умного дома

ТЕМА: Прошивка NRF24le1

Прошивка NRF24le1 30 Июнь 2018 22:05 #22424

  • Andrey_T
  • Andrey_T аватар
  • Не в сети
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
  • Репутация: 1
Adminhs пишет:
у ардуины 5в, а у ле1 - 3.3в питание, ей нужно сопротивление подобрать, и на сам датчик еще можно подать 5в , а не 3.3
Спасибо, заработал другой датчик на 20 Ком
Администратор запретил публиковать записи гостям.

Прошивка NRF24le1 02 Июль 2018 16:36 #22433

  • Andrey_T
  • Andrey_T аватар
  • Не в сети
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
  • Репутация: 1
Немного поправил код библиотеки ONE WIRE:
В функции чтения убрал задержку перед чтением бита и все заработало, так же на всякий случай переписал функцию записи, NRF теперь не отпускает шину, а устанавливает уровень ноль или единица, для более крутых переходов. В итоге датчики стали работать со стандартным сопротивлением 4к7.
static void OneWireOutByte(uint8_t d)
{
	uint8_t n;
	interrupt_control_global_disable();
        gpio_pin_configure(DSPIN,
	   GPIO_PIN_CONFIG_OPTION_DIR_OUTPUT
                | GPIO_PIN_CONFIG_OPTION_OUTPUT_VAL_SET);
	for(n = 8; n > 0; n--) {
		if (d & 0x01) {
                   gpio_pin_val_clear(DSPIN);
		   delay_us(1);
                   gpio_pin_val_set(DSPIN);
		   delay_us(49);
		}
		else {
                   gpio_pin_val_clear(DSPIN);
                    delay_us(49);
                   gpio_pin_val_set(DSPIN);
                    delay_us(1);
		}
		d = d >> 1;
	}

        gpio_pin_configure(DSPIN,
	   GPIO_PIN_CONFIG_OPTION_DIR_INPUT);
	interrupt_control_global_enable();
}




static uint8_t OneWireInByte(void)
{
	uint8_t d = 0, n, b = 0;
	interrupt_control_global_disable();
	for (n = 0; n < 8; n++) {
		gpio_pin_configure(DSPIN,
				GPIO_PIN_CONFIG_OPTION_DIR_OUTPUT
				| GPIO_PIN_CONFIG_OPTION_OUTPUT_VAL_CLEAR
		);
		delay_us(1);
		gpio_pin_configure(DSPIN,
				GPIO_PIN_CONFIG_OPTION_DIR_INPUT
		);
		//delay_us(1); //Убираем совсем задержку перед чтением
		b = gpio_pin_val_read(DSPIN);
		delay_us(50);
		d = (d >> 1) | (b << 7);
	}
	interrupt_control_global_enable();
	return d;
}
Администратор запретил публиковать записи гостям.
Спасибо сказали: loginkr

Прошивка NRF24le1 03 Июль 2018 12:43 #22439

  • loginkr
  • loginkr аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 24
  • Спасибо получено: 1
  • Репутация: 0
залил на гит библиотеки и пару примеров
github.com/DmytryS/nrf24le1-sensor
Администратор запретил публиковать записи гостям.

Прошивка NRF24le1 06 Июль 2018 15:21 #22457

  • Andrey_T
  • Andrey_T аватар
  • Не в сети
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
  • Репутация: 1
Вот еще нашел на гитхабе библиотеку для работы с разными сенсорами, работоспособность не проверял , вернее проверял только DS18B20 - там тот же косяк, надо задержку убирать
Администратор запретил публиковать записи гостям.

Прошивка NRF24le1 18 Фев 2019 16:26 #24071

  • pistoletov
  • pistoletov аватар
  • Не в сети
  • Давно я тут
  • Нам никогда не будет 60 а лишь 4 раза по 15.
  • Сообщений: 127
  • Спасибо получено: 34
  • Репутация: 1
парни а питание на dht22 подаете через ключик или непосредственно?
В конструкторе кода так написано:


В спящем режиме GPIO установленные на выход используются для включения питания датчиков.
Т.Е. ч могу с любого выхода подавать питание на DHT22 но через ключик?
Администратор запретил публиковать записи гостям.

Прошивка NRF24le1 18 Фев 2019 21:11 #24077

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7025
  • Спасибо получено: 1091
  • Репутация: 191
типа того, теоретически... Но текст больше относится для ds1820 , точнее к его резистору подтяжки
Просьба писать сообщения в соотвествующих темах форума.
ESP8266: [Первая страница темы] [Отлавливаем баги]
IRC: forestnet.org канал #esp8266 - онлайн помощь.
Администратор запретил публиковать записи гостям.
Модераторы: FlyRouter
Время создания страницы: 0.087 секунд

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.