Sensoren meten onder andere de temperatuur, luchtvochtigheid en luchtdruk. De waarden worden verzameld door een Arduino Mini Pro en via een ESP8266 over WiFi doorgeseind naar ThingSpeak.
Ooit begonnen als een idee om een paar balkonplanten te bewateren tijdens vakanties: een irrigatiesysteem. Om te voorkomen dat de planten te veel, dan wel te weinig water zouden krijgen is de vochtigheid van de potaarde te gebruiken om te bepalen wel of geen water te geven. Allerlei sensoren kwamen vervolgens in beeld. Dus even een tussenstap gemaakt: een soort weerstation waarvan de waardes ook vanuit het vakantie-oord via het internet te volgens is.
Sensoren die hun meetwaardes via een Arduino Mini Pro en een ESP8266-module naar ThingSpeak doorzenden. Daar komt nog heel wat bij kijken!
Hieronder het schema van de opzet.
De Arduino (ik heb hier gebruik gemaakt van een Arduino Nano) doet niet anders dan de sensoren uitlezen en de meetwaardes vervolgens serieel versturen naar de ESP8266. De BMP180 (meet de temperatuur en de luchtdruk) en de BH1750 (licht in LUX) zijn verbonden via I2C-bus op A4 en A5. De DHT22 (temperatuur en luchtvochtigheid) is verbonden met een digitale pin (D3), als input geconfigureerd. De regensensor-module (water & eventueel sneeuw), de LDR (licht) en de ‘spijkers’ meten elk analoge waardes en zijn respectievelijk verbonden met A0, A1 en A2.
De ESP8266 krijgt de meetwaardes serieel door en verstuurd ze via WiFi naar mijn Wifi access point (AP), waarvandaan ze het internet opgaan richting mijn ThingSpeak-channel.
De BMP180-module meet de temperatuur en de luchtdruk. Deze waardes worden uitgelezen en verstuurd over de I2C bus.
De BH1750-module meet de hoeveelheid licht in Lux. Ook dit gaat via de I2C-bus.
De DHT22 meet ook temperatuur en daarnaast de relatieve luchtvochtigheid. Voor Arduino is hier ook een mooi library beschikbaar.
Regen- en sneeuwsensor
Een LDR – light dependent resistor. Met een weerstand van 5K Ohm vormt de LDR samen een spanningsdeler. Wanneer er weinig licht op de LDR valt is de weerstand hoog, hoe meer licht op de LDR valt, hoe lager de weerstand wordt. Afhankelijk van de hoeveelheid licht varieert zodoende de spanning op de analoge pin van de Nano.
Met de spijkers wordt de vochtigheid van de aarde gemeten. Samen met een weerstand (1K Ohm) vormt de plantenaarde een spanningsdeler, eigenlijk net zoals hiervoor de LDR. Afhankelijk van de vochtigheid van de grond (heel vochtig = kleine weerstand, droog = hoge weerstand) varieert ook hier de spanning.
Ik heb een gelijkaardi systeem in elkaar geknutseld met een Arduino Uno en probeer ook via een ESP8266 mijn waardes naar Thingspeak door te sturen maar zoals je zelf aangeeft “Komt daar nog heel wat bij kijken!” kan je aangeven hoe je dat voor mekaar gekregen hebt?
Hallo Koen,
Het is al een tijdje geleden dat ik hiermee bezig was. Als alles aan elkaar geknoopt is is het Arduino-programma natuurlijk hetgeen wat alles regelt. Ik neem aan dat je vraag daarover gaat? Waar loop je tegen aan? Ik kan de sketch natuurlijk plaatsen als je daar wat aan hebt?