{"id":112,"date":"2020-10-04T15:38:08","date_gmt":"2020-10-04T13:38:08","guid":{"rendered":"https:\/\/www.picademie.nl\/?p=112"},"modified":"2022-02-18T15:27:17","modified_gmt":"2022-02-18T14:27:17","slug":"tempertuur-vochtigheid-sensor","status":"publish","type":"post","link":"https:\/\/www.picademie.nl\/index.php\/2020\/10\/04\/tempertuur-vochtigheid-sensor\/","title":{"rendered":"Temperatuur &#038; vochtigheid sensor"},"content":{"rendered":"\n<p>In deze tutorial maken we kennis met de DHT-sensor, de afkorting van Digital Temperature and Humidity. Met deze sensor kun je de temperatuur en luchtvochtigheid meten. De sensor is door de fabrikant al redelijk geijkt, eventuele correcties kunnen softwarematig gedaan worden.<\/p>\n\n\n\n<p><strong>Specificaties DHT11<\/strong><br>&#8211; Voeding: 3,3 \u2013 5,5V.<br>&#8211; Temperatuur bereik: 0 tot +50 \u00baC.<br>&#8211; Temperatuur nauwkeurigheid: \u00b12,0 \u00baC.<br>&#8211; Vochtigheid bereik: 20 &#8211; 95% RH.<br>&#8211; Vochtigheid nauwkeurigheid: \u00b15,0% RH.<br>&#8211; Response tijd: &lt; 5 sec.<\/p>\n\n\n\n<p>Zowel de <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT11<\/span><\/strong> als de <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT22<\/span><\/strong> kan in deze tutorial gebruikt worden. Het verschil tussen de DHT11 en de DHT22 is dat de DHT22 wat nauwkeuriger is en ook metingen kan doen onder het vriespunt (-40 gr.) De DHT22 is wel iets duurder en geeft de waarde in decimalen weer, de DHT11 niet!<\/p>\n\n\n\n<p><strong>Aansluitingen DHT11 en DHT22<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-93.png\" alt=\"\" class=\"wp-image-1979\" width=\"234\" height=\"220\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-93.png 319w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-93-300x282.png 300w\" sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"192\" height=\"129\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-88.png\" alt=\"\" class=\"wp-image-1962\"\/><figcaption>Pinbeschrijving van de DHT sensoren<\/figcaption><\/figure>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">LET OP: Er blijken ook andere versies in omloop te zijn. Controleer altijd de sensorpinnen!<\/span><\/strong><\/p>\n\n\n\n<p><strong>Verbinden met de Raspberry Pi<\/strong><br>Sluit de DHT sensor op de Raspberry Pi aan zoals hieronder aangegeven. De weerstand (4,7 kOhm) tussen de voeding en GPIO4 (pin 7) wordt gebruikt voor de pull-up.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-89.png\" alt=\"\" class=\"wp-image-1965\" width=\"357\" height=\"463\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-89.png 441w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/11\/image-89-231x300.png 231w\" sizes=\"auto, (max-width: 357px) 100vw, 357px\" \/><\/figure>\n\n\n\n<p> Pin 3 van de sensor wordt niet aangesloten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"303\" height=\"129\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/temp.png\" alt=\"\" class=\"wp-image-8790\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/temp.png 303w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/temp-300x128.png 300w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><figcaption>In plaats van pin <strong>14<\/strong> kan ook een andere GND-pin van de Pi gebruikt worden.<\/figcaption><\/figure>\n\n\n\n<p><strong>Python script<\/strong><br>Onderstaand script leest een<span class=\"has-inline-color has-vivid-cyan-blue-color\"> DHT11<\/span>-sensor uit via <span class=\"has-inline-color has-vivid-cyan-blue-color\">GPIO 4<\/span> (pin 7) en geeft de waarden weer via de terminal.<\/p>\n\n\n\n<p>Maak op de Pi in de home-directorie een map aan genaamd &#8216;<span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT<\/span>&#8216;.<\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">mkdir DHT<\/span><\/kbd><\/p>\n\n\n\n<p>Ga hier in staan. <\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">cd DHT<\/span><\/kbd><\/p>\n\n\n\n<p>Er is nu een script nodig om sensortype <span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT11 <\/span>op <span class=\"has-inline-color has-vivid-cyan-blue-color\">GPIO 4<\/span> uit te lezen.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht.zip\">Klik hier om het gezipte bestand <strong>dht.py<\/strong> te downloaden<\/a><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>Zet het script in de map <strong>DHT<\/strong> of maak met de <strong>nano <\/strong>editor een bestand aan met de naam <strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">dht.py<\/span><\/strong><span class=\"has-inline-color has-black-color\"> en kopieer de inhoud het script hierin.\u00a0<\/span><\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">nano dht.py<\/span><\/kbd><\/p>\n\n\n\n<p>Zoals je wellicht gezien hebt bevat het script de parameters voor de <span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT11<\/span> en de aansluiting op <span class=\"has-inline-color has-vivid-cyan-blue-color\">GPIO 4<\/span>.<\/p>\n\n\n\n<p>Sla het script op en sluit de editor af met <strong>Ctrl-X<\/strong> en &#8220;<strong>J<\/strong>&#8221; of &#8220;<strong>Y<\/strong>&#8221; en [<strong>ENTER<\/strong>]<\/p>\n\n\n\n<p><strong>AdaFruit<\/strong><br>De gedownloade scripts die we voor deze tutorial gebruiken zijn door <span class=\"has-inline-color has-vivid-cyan-blue-color\"><a rel=\"noreferrer noopener\" href=\"https:\/\/www.adafruit.com\/\" data-type=\"URL\" data-id=\"https:\/\/www.adafruit.com\/\" target=\"_blank\">AdaFruit<\/a><\/span> beschikbaar gesteld en vereisen om de bibliotheek <span class=\"has-inline-color has-vivid-cyan-blue-color\">Adafruit_DHT<\/span>. Om deze in de scripts te kunnen gebruiken zal eerst de bibliotheek ge\u00efnstalleerd moeten worden. Geef hiervoor de volgende commando&#8217;s:<\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">git clone https:\/\/github.com\/adafruit\/Adafruit_Python_DHT.git <\/span><\/kbd><\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">cd Adafruit_Python_DHT <\/span><\/kbd><\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">sudo apt-get install build-essential python-dev <\/span><\/kbd><\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">sudo python setup.py install<\/span><\/kbd><\/p>\n\n\n\n<p>Als bovenstaande ge\u00efnstalleerd is , kan je het script starten met het commando:<\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">python dht.py<\/span><\/kbd><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"418\" height=\"86\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-14.png\" alt=\"\" class=\"wp-image-8850\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-14.png 418w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-14-300x62.png 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><figcaption>In mijn ruimte is het 21 graden Celsius en heeft het een vochtigheid van 42%<\/figcaption><\/figure>\n\n\n\n<p><strong>Script met commando parameters<\/strong><br>Het script dat we hierboven gebruiken bevat reeds de specifieke parameters (<span class=\"has-inline-color has-vivid-cyan-blue-color\">type DHT-sensor en GPIO poort<\/span>). Wil je in de commandolijn parameters gebruiken, bijvoorbeeld als je meerdere DHT sensors hebt aangesloten op verschillende GPIO pinnen, gebruik onderstaande het volgende script.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht22.zip\">Klik hier om het gezipte bestand <strong>dht22.py<\/strong> te downloaden<\/a><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht22.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>Geef het volgende commando met parameters om de sensor uit te lezen:<\/p>\n\n\n\n<p><code><span class=\"has-inline-color has-vivid-cyan-blue-color\">python dht.py <\/span><span class=\"has-inline-color has-black-color\">[spatie]<\/span><span class=\"has-inline-color has-vivid-cyan-blue-color\"> 11<\/span> of <span class=\"has-inline-color has-vivid-cyan-blue-color\">22 <\/span><span class=\"has-inline-color has-black-color\">[spatie]<\/span> <span class=\"has-inline-color has-vivid-cyan-blue-color\">[GPIO-poortnr.]<\/span><\/code><\/p>\n\n\n\n<p>Als de DHT11 sensor op GPIO 4 aangesloten is wordt het commando:<\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">python dht.py 11 4<\/span><\/kbd><\/p>\n\n\n\n<p>Als de DHT22 sensor op GPIO 12 aangesloten is wordt het commando:<\/p>\n\n\n\n<p> <kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">python dht.py 22 12<\/span><\/kbd> <br><\/p>\n\n\n\n<p><strong>Gegevens wegschrijven naar CSV bestand<\/strong><br>Je kunt de ingelezen waarden ook opslaan in een <span class=\"has-inline-color has-vivid-cyan-blue-color\">.CSV<\/span> bestand. Onderstaand script maakt ook gebruik van de commandolijn met parameters en slaat gegevens op in een bestand. Iedere maand wordt er een nieuw bestand aangemaakt. <\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht_csv.zip\">Klik hier om het gezipte bestand <strong>dht_csv.py<\/strong> te downloaden<\/a><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/dht_csv.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>Sla de code op als <span class=\"has-inline-color has-vivid-cyan-blue-color\">dht_csv.py<\/span><\/p>\n\n\n\n<p>Start het script met het commando: <\/p>\n\n\n\n<p><span class=\"has-inline-color has-vivid-cyan-blue-color\"><kbd>sudo python dht_csv.py 11 4<\/kbd><\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"418\" height=\"86\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-15.png\" alt=\"\" class=\"wp-image-8871\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-15.png 418w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-15-300x62.png 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/figure>\n\n\n\n<p>De naam van het csv-bestand wordt: <span class=\"has-inline-color has-vivid-cyan-blue-color\">DHT_DATA_[YYYYMM].csv<\/span><\/p>\n\n\n\n<p>Nadat het script een paar keer gemeten heeft ziet de inhoud van het CSV bestand er als volgt uit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"218\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-16.png\" alt=\"\" class=\"wp-image-8911\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-16.png 376w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2022\/02\/image-16-300x174.png 300w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/figure>\n\n\n\n<p><strong>Doen = leren!<\/strong><br>We zijn aan het eind gekomen van deze tutorial. Ik adviseer je om wat te gaan experimenteren met de scripts. Leef je uit! Wat kan er misgaan als je een back-up hebt gemaakt van de scripts? Het ergste dat je kan overkomen, is dat je het nog een keer mag doen&#8230;.<\/p>\n\n\n\n<p>Een leuke huiswerkopdracht is om het script met <a href=\"https:\/\/www.picademie.nl\/index.php\/2020\/11\/17\/cronjob\/\" data-type=\"URL\" data-id=\"https:\/\/www.picademie.nl\/index.php\/2020\/11\/17\/cronjob\/\">CRONTAB<\/a> ieder uur automatisch op te starten. Het csv-bestand zal zich vullen waardoor je in staat bent om bijvoorbeeld in MS Excel een grafiek ervan te maken. <\/p>\n\n\n\n<p><strong>Mogelijke problemen<\/strong><br> &#8211; Mochten er problemen zijn met het laden van de bibliotheek? Ga dan in de DHT directorie staan. Voer dan onderstaande commando&#8217;s in. Er worden dan aanvullende onderdelen van AdaFruit ge\u00efnstalleerd.<\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">pip3 install adafruit-circuitpython-dht<\/span><\/kbd><\/p>\n\n\n\n<p><kbd><span class=\"has-inline-color has-vivid-cyan-blue-color\">sudo apt-get install libgpiod2<\/span><\/kbd><\/p>\n\n\n\n<p><span class=\"has-inline-color has-black-color\">&#8211; Heel soms krijg je geen resultaat van de scripts, dat komt omdat Debian\/Raspberry Pi OS de (precieze) timing van de aanroepen niet kan garanderen!<\/span><\/p>\n\n\n\n<p><em>Have A Nice Day!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>In deze tutorial maken we kennis met de DHT-sensor, de afkorting van Digital Temperature and Humidity. Met deze sensor kun je de temperatuur en luchtvochtigheid <a class=\"mh-excerpt-more\" href=\"https:\/\/www.picademie.nl\/index.php\/2020\/10\/04\/tempertuur-vochtigheid-sensor\/\" title=\"Temperatuur &#038; vochtigheid sensor\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":8870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-112","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_featured_media_url":"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/Vernieuwd.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":0,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media\/8870"}],"wp:attachment":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}