tag:blogger.com,1999:blog-4777043518561979210.post8349555773552194844..comments2022-04-02T13:22:51.629+02:00Comments on STM32-Tutor: DHT22 an langem AnschlusskabelAnonymoushttp://www.blogger.com/profile/09528429964791336613noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-4777043518561979210.post-90563499055161876942017-12-29T11:27:12.381+01:002017-12-29T11:27:12.381+01:00Hallo,
danke für die Tips. Bei mir hat es folgende...Hallo,<br />danke für die Tips. Bei mir hat es folgendermaßen geklappt, nachdem ich festgestellt habe, dass sich der DHT22 bereits an 1 m Leitung zickig benimmt:<br /><br />15 m Cat6 Kabel<br />3.3 V und Masse an einem twisted pair<br />Signal allein an einen weiteren pair<br />Schirm NICHT auf Masse (da ging bei mir gar nix mehr)<br />2.3 kOhm Pullup Widerstand am Sensorende<br /><br />So habe ich das Kabel aus dem Keller ins Freie geführt, um die Wetterstation mit Außendaten zu füttern. In der Konfiguration habe ich < 1 % fehlerhafte Datenpakete.<br /><br />Generell ist der Treiber etwas komisch:<br />Die Zeit bis zum Return der Messwerte schwankt bei mir zw. 1 und 20 sec. (vermutl. retries..)<br />Der Treiber gibt, wenn das Auslesen scheitert, sowohl für temperature und humidty kein float, sondern den String "None" zurück, was dazu führt, das alles im nachstehenden code, was einen float wert erwartet, crasht. Das muss man im Code abfangen. (If str(humidity) == "None": ....)<br /><br />Daneben gibt der Sensor manchmal auch blödsinnige Messwerte zurück, also z.B. 3350 % Feuchte oder unsinnige Temperaturen. Das muss man ebenfalls im Code ausfiltern.<br /><br />Die Genauigkeit der Werte scheint auf dem ersten Blick OK.<br /><br />Das Ding läuft seit gestern und zeichnet brav auf. <br /><br />War eine schwere Geburt mit dem Kabel, aber es geht.<br /><br />Also nicht gleich aufgeben, 15 m haben bei mir funktioniert.Scooperhttps://www.blogger.com/profile/09181991426565312514noreply@blogger.com