DHT11 + LCD 1602 i2c
- Войдите на сайт для отправки комментариев
Сб, 09/11/2019 - 12:34
Приветствую, форумчане! Есть такая задача - получить данные с датчика DHT11 и вывести их на LCD 1602 подключенный по i2c. Датчик и дисплей работоспособны - данные в монитор порта выводятся, датчик реагирует на изменения параметров внешней среды. Дисплей также замечательно работает. Но вот когда пытаемся данные с датчика отправить на дисплей, датчик отрубается сразу после lcd.begin() и с него уже ничего не считать. Если сначала считать данные с датчика, а только потом дать команду lcd.begin(), то однократно данные получим, потом соответственно в мониторе порта наблюдаем ноли, а на lcd "nan". Что я делаю не так? Варианты пробовал разные.
#include "DHT.h" DHT dht(A5, DHT11); //Инициализация датчика DHT-11 #include <Wire.h> #include <LiquidCrystal_I2C.h> // Подключение библиотеки LiquidCrystal_I2C lcd(0x27,16,2); // Указываем I2C адрес (наиболее распространенное значение), а также параметры экрана (в случае LCD 1602 - 2 строки по 16 символов в каждой float h; float t; void setup() { Serial.begin(9600); dht.begin(); lcd.begin(); lcd.backlight(); } void loop() { delay(2000); t = temp(); h = humid(); Serial.println(t); Serial.println(h); lcd_print(t,h); } float temp() { return dht.readTemperature(); } float humid() { return dht.readHumidity(); } void lcd_print(float temp_, float humid_){ lcd.setCursor(0,0); lcd.print(t); lcd.setCursor(0,1); lcd.print(h); }
У Вас дисплей использует A4 и A5. А Вы на тот же самый A5 ещё и датчик посадили. Вот они и дерутся. Других свободных пинов нет?
Попробуйте ещё вариант с датчиком на свободном пине, а не на занятом дисплеем.
А ничего, что у вас дисплей и датчик подключен к одному и тому же пину?
Это был эпик фейл... Благодарю! Распечатал себе схемку, что так не тупить.
Мне всегда было интересно, как к одной ноге подключить два провода? Вот лежит передо мной нана и в неё воткнут дисплей по i2c. А надо ещё датчик воткнуть. И как +5 вольт датчика воткнуть в уже воткнутый пин +5 дисплея. Борду не предлагать. Кто что делает?