#1 2017-04-18 12:30:00

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

dht11 не оприділяється

Добрий день!
в мене таке питання, уже ставлю другий датчик dht11 і arduino uno пише помилку зчитування даних, хоча раніше все робило, вже контакти перевіряв і живлення і нічого. Бібіліотеки різні пробував, теж не допомоголо, і delay() виставляв, теж нічого, що може бути?

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
#include "DHT.h"
#define DHTPIN 2     // what pin we're connected to
// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11 
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  
Serial.begin(9600); 
Serial.println("DHTxx test!");
delay(2000);
dht.begin();
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
} else {
Serial.print("Humidity: "); 
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: "); 
Serial.print(t);
Serial.println(" *C");
}
}

в терміналі Failed to read from DHT

Неактивний

#2 2017-04-18 12:53:24

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

ds18b20 підключив і працює, а в чому проблема DHT11 не розумію

Неактивний

#3 2017-04-18 13:03:29

KushlaVR
Гість

Re: dht11 не оприділяється

1) Ще раз перевірити підключення!
2) Резистор 10K (або меньше... можна і 5K поставити) між +5В та pin 2 стоїть?
3) Затримка в loop() не обовязкова (в бібліотеці реалізовано кеш....)

Я отак опитую. Все працює.

float currHum;
float currTemp;
long lastRead;

void loop() {

    if (lastRead == 0 || ((millis() - lastRead) > 5000U/*опитуємо не частішше ніж раз на 5 секунд*/)) {
        Serial.print(F("DHT11:"));
        // Reading temperature or humidity takes about 250 milliseconds!
        // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
        currHum = dht.readHumidity(true);//ігнорувати закешоване значення і примусово зчитати з сенсора нове
        // Read temperature as Celsius (the default)
        currTemp = dht.readTemperature(false, false);

        Serial.print(currHum);
        Serial.print(F("%;"));
        Serial.print(currTemp);
        Serial.println(F("C;"));
        //if (!isnan(currHum) && !isnan(currTemp))
        lastRead = millis();
    }

}


П.С.
DHT11 - то дуже приблизний датчик. З допомого нього можна хіба витяжку в підвалі включати....
Показник вологості у них взагалі якісь фейкові. Таке враження що по якеійсь формулі визначаються з температури.... Для прикладу у мене дома - градусник на стіні показує 18, а DHT11 25 градусів; Зимою градусник показував 25, DHT11 показував 28.
Дойшов до висновку що краще використовувати dht21
Вони точнішші.

#4 2017-04-18 13:44:03

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

KushlaVR пише:

1)
2) Резистор 10K (або меньше... можна і 5K поставити) між +5В та pin 2 стоїть?

так в мене готовий модуль вже з 10к резистором

Неактивний

#5 2017-04-18 18:24:29

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

по одній з бібліотек я дізнавсяч що немає відповіді від DHT11, в чому може бути причина ?
поки зроблю проект на DS18B20
думаю вже перейти на NTC 100K

Неактивний

#6 2017-04-18 19:22:22

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: dht11 не оприділяється

Либо DHT11 не рабочий, либо пин в ардуине. Поменяйте пин или вцепите на этот пин, например, DS18B20.

Неактивний

#7 2017-04-18 19:30:01

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

DATA pin що в DS18B20, DHT11 був 2, піни міняв, та як так, раніше все робило (, от жаль думав і вологість буде показувати

я і версію бібліотеки назад скидав не вийшло (

UPD:
помалу скидав версію бібліотеки з всіма експерементами, от вийшло, біліотека DHT-sensor-library але запрацювало на версії 1.2.0, з новими не хоче, це що оновлення якісь вийшли для DHT датчиків і вони в коді є ? Хто що скаже по цьому прикладу, в чому зміни.
Одним словом дякую все працює

Остання редакція res2500 (2017-04-18 19:44:31)

Неактивний

#8 2017-04-18 20:41:45

zabil
Гість

Re: dht11 не оприділяється

а как его вообще без библиотеки запустить?

#9 2017-04-18 20:54:28

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

без бібліотеки ніяк, просто з версією 1.3.0 не працювало, а ж поки не дійшов до 1.2.0 )

а так можна почитати про DHT11 + AVR там код повинен бути і даташіт почитати, дуже багато бібліотек

Остання редакція res2500 (2017-04-18 20:58:37)

Неактивний

#10 2017-04-18 21:37:33

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

от мого контакти ще не так як всіх

Неактивний

#11 2017-04-18 23:04:08

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: dht11 не оприділяється

Пробуй:

#include <SimpleDHT.h>
//SimpleDHT.h -> строка 98 -> delayMicroseconds(10); если будет выдавать маразмы - уменьшить значение до 9 или 8

SimpleDHT11 dht11;

byte DHT11_temp;   //температура измеренная с датчика DHT11, C
byte DHT11_hum;    //влажность измеренная с датчика DHT11, %


loop........

  if (dht11.read(DHT11_pin, &DHT11_temp, &DHT11_hum, NULL))    ....DHT11_Error.....
  else .....DHT11_Ok....

Неактивний

#12 2017-04-18 23:08:48

alex_dol
Учасник
Зареєстрований: 2015-12-28
Повідомлень: 196

Re: dht11 не оприділяється

У меня на этой библиотеке отработало стабильно 4 мес. Сейчас перешел на DHT22. Рекомендую, возвращает реально точные значения, хотя немного тормознутее реагирует на изменения температуры чем DS18B20.

Неактивний

#13 2017-04-19 18:33:11

res2500
Учасник
Зареєстрований: 2017-04-18
Повідомлень: 11

Re: dht11 не оприділяється

дякую попробую, бачу бібліотеки не стабільні (

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму