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 дисплея. Борду не предлагать. Кто что делает?