Датчик 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

Обсуждение

@StarCat просто удалите комментарий тогда, @jsotola

Я попробовал резистор, я поместил один конец в ряд питания между 5 В на макетной плате и контактом питания датчика, а другой конец в слот между проводом данных, выходящим на Mega, и контактом датчика. По-прежнему нули., @Jayven Mason

Попробуйте использовать другой контакт, кроме 13. Вокруг контакта 13 имеется дополнительная схема для встроенного светодиода., @Delta_G

Также это может быть неисправный датчик или плохой кабель., @tepalia

Вы можете перепроверить свой датчик с помощью этого руководства. https://www.theengineeringprojects.com/2017/08/dht11-arduino-interfacing.html Если ваш датчик не работает после выполнения этих инструкций, возможно, вам придется его заменить., @tepalia


1 ответ


1

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

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

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

,

Я успешно использовал DHT11 как минимум в двух разных проектах. Взгляните на https://www.fpaynter.com/2021/07/temperature-display-for-3d-printer-closure/ и https://www.fpaynte r.com/2017/01/3d-printer-filament-de-humidifier-bin/. Оба этих поста содержат полный код., @user3765883