Датчик DHT11 - считывает либо все нули, либо все -999 (в зависимости от библиотеки)
Поэтому я пытаюсь реализовать небольшой проект для предстоящего затмения, чтобы просто отслеживать изменения влажности и температуры во время затмения.
У меня два датчика 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 для наборов данных.
Моя установка
Моя схема не очень точная, датчик на макетной плате. Лайкните ваши мысли.
@Jayven Mason, 👍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
- Код считывания датчика DHT22 странно интерпретирует отрицательные значения (распространенная проблема)
- Датчики Dht 11 дают нулевое значение
- DHT11 перестает работать при подаче питания с платы блока питания
- Датчик влажности и температуры DHT11
- Датчик температуры и влажности DHT11 Код
- ОШИБКА: вернуть reinterpret_cast<T>(pgm_read_ptr(p));
- Как время выполнения инструкций кода влияет на сигнал между Arduino и DHT11?
- Данные DHT11 на MAX7219 показывают 0.
@StarCat просто удалите комментарий тогда, @jsotola
Я попробовал резистор, я поместил один конец в ряд питания между 5 В на макетной плате и контактом питания датчика, а другой конец в слот между проводом данных, выходящим на Mega, и контактом датчика. По-прежнему нули., @Jayven Mason
Попробуйте использовать другой контакт, кроме 13. Вокруг контакта 13 имеется дополнительная схема для встроенного светодиода., @Delta_G
Также это может быть неисправный датчик или плохой кабель., @tepalia
Вы можете перепроверить свой датчик с помощью этого руководства. https://www.theengineeringprojects.com/2017/08/dht11-arduino-interfacing.html Если ваш датчик не работает после выполнения этих инструкций, возможно, вам придется его заменить., @tepalia