Датчик DHT11 - считывает либо все нули, либо все -999 (в зависимости от библиотеки)

dht11

Поэтому я пытаюсь реализовать небольшой проект для предстоящего затмения, чтобы просто отслеживать изменения влажности и температуры во время затмения.

У меня два датчика DHT11, я использую только один.

Я загрузил эту библиотеку (она внизу), и вот код, который я использую.

#include <dht.h>
#define pin 13
dht DHT;
void setup() {

  Serial.begin(9600);
  delay(2500);
  Serial.print("DHT11 Sensor: April 8 Solar eclipse data\n\n");
  delay(1500);
}

void loop() {
  DHT.read11(pin);
    Serial.print(" ");
    Serial.print(DHT.humidity);
    Serial.print(" ");
    Serial.print(DHT.temperature);
    Serial.print(",\n");
    delay(2500);
    

}

Цель здесь — получить CSV-файлы, которые я могу скопировать/вставить в CSV-файл и импортировать в Matlab, чтобы сделать там то, что мне нужно.

Я постоянно получаю заголовок и «0,00 0,00» для двух наборов данных. С другими библиотеками и заимствованным кодом я иногда получаю -999 для наборов данных.

Моя установка

схема

Моя схема не очень точная, датчик на макетной плате. Лайкните ваши мысли.

, 👍1


1 ответ


1

Если вы используете автономный датчик DHT11 (без коммутационной платы), вам понадобится подтягивающий резистор 1 кОм между 5 В и данными.

Вывод данных DHT — открытый коллектор, то есть он может только подтянуть провод к земле для передачи данных. Если этот провод не был подтянут изначально, то ему нечего будет подтягивать.

Если ваш DHT11 находится на коммутационной плате с уже установленным резистором 1 кОм, я бы заподозрил неисправный датчик...

,