Практика Arduino с датчиком температуры / влажности DHT 11, но с проблемой - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время я отправляю данные о температуре с датчика на жидкокристаллический дисплей 16x2. Я могу отображать температуру, но она продолжает изменяться от температуры до -999, она также отображает данные на мониторе последовательного порта, когда я их печатаю. слишком. Может кто-нибудь сказать мне, что я делаю не так? Вот мой неаккуратный код, извините, но он не отмечен должным образом, но я все еще понимаю основы.

#include <LiquidCrystal.h>
#include <dht.h>

dht DHT;

#define DHT11_PIN 12

LiquidCrystal lcd(13 ,11,10,9,8,7,6 ,5 , 4, 3 );

void setup(){
  Serial.begin(9600);
}

void loop()
{
 int chk = DHT.read11(DHT11_PIN);
 lcd.begin(16,2);
 lcd.print("Temperature =");
 lcd.setCursor(0,2);
 lcd.print(DHT.temperature);
 delay(1000);
}

1 Ответ

0 голосов
/ 03 октября 2019

Прежде всего, просто для справки, поместите функцию lcd.begin() в функцию настройки, а не в цикл, потому что lcd должен быть инициализирован только один раз.

Затем, читая таблицу данныхдатчика DHT11 я обнаружил, что минимальное время между двумя показаниями датчика должно быть не менее 2 секунд, поэтому, вероятно, изменение значения delay(1000) на delay(2000) должно сработать.

...