BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> DHT11 рядко връща читава чек сума
SuN
Публикувано на: 27-12-2023, 03:41
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12992
Регистриран на: 27.01.05



Малко разширявам въпроса: нормално ли е сензора DHT11 рядко да връща читава чек сума?

Имам сензор, който за последно го ползвах преди години и не помня дали съм получавал грешна чек сума тогава, която да съм игнорирал и забравил по стар обичай. Затова и не знам дали това е нормално поведение. Но сега ми се наложи да сглобя набързо нещо и се случва веднъж на няколко минути да получа читави данни (теста е не повече от 5 минути преди да рестартирам). Данните за температура и влага (на които не им излиза чек сумата) са близки до тези друг сензор, а и като усещане изглеждат приблизително добре (по тениска съм на 21-22 градуса).


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
thrawn
Публикувано на: 27-12-2023, 07:40
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3695
Регистриран на: 17.01.17



Целта на контролната сума е да се гарантира (до някъде), че данните са получени без загуби. С деуги думи, до някъде би било нормално да пилучавш скапани данни с коректна сума. Но не е нормално да получаваш некоректа сума.

Та или илаш проблеми по трасето или смяташ грешно.
PMEmail Poster
Top
Дон Реба
Публикувано на: 27-12-2023, 08:16
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 10298
Регистриран на: 11.11.06



залагам на смяташ грешно
PM
Top
Дон Реба
Публикувано на: 27-12-2023, 08:19
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 10298
Регистриран на: 11.11.06



между другото наскоро не се стърпях и си взех една играчка dso-tc3, той има четене на DHT11 и щеше веднага да получиш сравнение
PM
Top
SuN
Публикувано на: 27-12-2023, 11:14
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12992
Регистриран на: 27.01.05



Кода не съм го писал аз, а е примерен (модула е на waveshare). Понякога минава чек сумата, но рядко. Всичко е още на бредборд, но до снощи връзките изглеждаха читаво. Тествах го снощи за влага и веднага се вдигна стойността, само тая чек сума ме притеснява.

Май все пак ще поръчам втори такъв, че корпуса за сензора, макар и стабилен, е повдигнат леко от платката.


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
thrawn
Публикувано на: 27-12-2023, 11:22
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3695
Регистриран на: 17.01.17



Какво точно плучаваш за сума (когато не съвпада)?
PMEmail Poster
Top
ici
Публикувано на: 27-12-2023, 11:40
Quote Post


Group Icon
Име: Ивайло Илчев
Група: VIP
Ранг: Почетен член

Мнения: 18704
Регистриран на: 06.06.04



Виж на платката на сензора дали имаш запоен pullup резистор, 5к или по-малко. На бредборда влизат разни шумотевици.


--------------------
Ние не сме в една лодка, ние сме в една буря. Лодките са различни.

Следващият път когато се почувстваш ненужен, грозен и недооценен, помни че освен това си и тъп.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 27-12-2023, 11:57
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3695
Регистриран на: 17.01.17



Мен ме съмнява, че получава сума по-голяма от 255 (повече от 8 бита) и я гледа цялата.

Това мнение е било редактирано от thrawn на 27-12-2023, 11:57
PMEmail Poster
Top
SuN
Публикувано на: 27-12-2023, 12:13
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 12992
Регистриран на: 27.01.05



Направих снимки на постановката с ардуиното, но телефона ми е с линукс и не знам как да ги прехвърля... Пък и не са на фокус, защото не съм прекомпилирал кернела. icon_smile.gif

CODE

// Фрагмент от функцията dht11read:
#define DHTLIB_OK                               0
#define DHTLIB_ERROR_CHECKSUM   -1
#define DHTLIB_ERROR_TIMEOUT    -2
...
       // as bits[1] and bits[3] are allways zero they are omitted in formulas.
       humidity    = bits[0];
       temperature = bits[2];

       uint8_t sum = bits[0] + bits[2];
       if (debug) {
         Serial.print("bits0="); Serial.println(bits[0]);
         Serial.print("bits2="); Serial.println(bits[2]);
         Serial.print("bits4="); Serial.println(bits[4]);
       }

       if (bits[4] != sum) return DHTLIB_ERROR_CHECKSUM;


Изход от серийната конзола:
CODE
bits0=70
bits2=22
bits4=95
temp=22; humidity=70
result=-1

bits0=70
bits2=22
bits4=94
temp=22; humidity=70
result=-1

bits0=69
bits2=22
bits4=94
temp=22; humidity=69
result=-1

bits0=69
bits2=22
bits4=94
temp=22; humidity=69


На модула по връзката DOUT има някакъв елемент с номер 472 върху черна лента, но честно казано трябва да се поровя да видя какво е.

Пак ще съм на линия след вечерта.

Това мнение е било редактирано от SuN на 27-12-2023, 12:14


--------------------
Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти.
PMEmail Poster
Top
thrawn
Публикувано на: 27-12-2023, 12:21
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3695
Регистриран на: 17.01.17



Най-сигурния начин за грешка е да изхвърляш данни. Смятай контролната сума като ползваш всички данни (без да прескачаш тия които предполагаш, че са 0).
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0