Maak een weerstation met je Arduino

Inhoudsopgave

  1. Inleiding
  2. Pagina 2: project Weeralarm en Weermonitor

Benodigde componenten

- NodeMCU
- Breadboard
- 5 jumperdraden
- 1 rode led
- 1 oranje led
- 1 gele led
- 1 groene led
- 4 weerstanden van 100 ohm

01 Schakeling bouwen

De schakeling voor het weeralarm is eenvoudig: we sluiten een groene, gele, oranje en rode led op de NodeMCU aan. Voor elke led gebruiken we een aparte aansluiting op het bordje: de pinnen D1, D2, D5 en D6, die we in de code instellen als digitale uitgang. Verbind voor elke led de kathode (het korte pootje) van de led via een weerstand van 100 ohm met GND om de stroom door de led te begrenzen. De anode (het lange pootje) van de rode led sluit je aan op D1, die van de oranje led op D2, die van de gele led op D5 en die van de groene led op D6. Heb je niet alle kleuren leds tot je beschikking, dan kun je uiteraard ook andere kleuren gebruiken. Maar dat is natuurlijk wel minder leuk en minder duidelijk.

02 Uploaden code

Je kunt de code voor dit project hier downloaden. Open de code in de ontwikkelomgeving. Stel als eerste de naam van je draadloze netwerk (in plaats van SSID) en het wachtwoord van je draadloze netwerk in (in plaats van WACHTWOORD). Vervolgens kun je de juiste regio instellen, zodat je het weeralarm van jouw regio ziet. Het oorspronkelijke weeralarm gold voor heel Nederland, maar sinds 2010 geeft het KNMI een weeralarm per provincie. Het KNMI heeft Nederland daarom ingedeeld in vijftien regio’s. Een regio per provincie plus de Waddeneilanden, de Waddenzee en het IJsselmeergebied. In de code die je voor dit project kunt downloaden, vind je de url “/weeralarm.php?regio=utrecht” terug. Je kunt utrecht vervangen door limburg, zeeland, noord-brabant, zuid-holland, noord-holland, gelderland, flevoland, overijssel, drenthe, groningen, friesland, ijsselmeergebied, waddenzee of waddeneilanden om de juiste regio te tonen. Upload de code vervolgens naar de NodeMCU en druk op het resetknopje. Na een korte tijd gaat het lampje branden van de weercode die momenteel in jouw regio actief is.

02 Het groene lampje brandt: er zijn geen waarschuwingen van kracht.

ESP8266 in een domoticasysteem

De Arduino-ontwikkelomgeving is niet de enige software die je in combinatie met de ESP8266 kunt gebruiken. In editie 12/2017 hebben we het NodeMCU-bordje gebruikt als basis om sensoren te verbinden met domoticasysteem Domoticz. Hiervoor gebruikten we de ESP Easy-firmware die een webinterface biedt waarmee je eenvoudig aangesloten sensoren als een bewegingsmelder, thermometer of luchtvochtigheidsmeter kunt uitlezen. Je kunt het artikel hier teruglezen.

Behalve voor ontwikkelen in Arduino is de NodeMCU met ESP Easy-firmware ook in te zetten als draadloos verbonden sensor voor je domoticasysteem.

Project Weermonitor

Benodigde componenten

- NodeMCU
- Breadboard
- 4 jumperdraden
- Oled-scherm

01 Schakeling bouwen

De schakeling voor de weermonitor is nog eenvoudiger dan die van het weeralarm. Het enige dat we doen is een eenvoudig beeldschermpje aansluiten. Dat kan met vier draadjes. VCC en GND van het schermpje verbinden we respectievelijk met 3.3V en GND op de ESP-module, SCL met D1 en SDA met D2. En daarmee is onze schakeling klaar. Er zijn verschillende schermpjes te koop die je kunt gebruiken in combinatie met ontwikkelbordjes. We gebruiken een I2C-OLED-schermpje met witte weergave met een afmeting van 0,96 inch met een resolutie van 128 x 64 pixels, voorzien van vier aansluitpinnen. Wil je een dergelijk schermpje los kopen, tik dan in bijvoorbeeld eBay of AliExpress de zoekterm “i2c oled 4 pin white Arduino”. Zo’n schermpje is voor zo’n 2,50 euro te vinden.

02 Oled-driver installeren

Om het oled-schermpje aan te sturen, hebben we een extra library nodig: esp8266-OLED. Download het zip-bestand, pak het uit en plaats de uitgepakte map in de map libraries van je map met Arduino-schetsen (Documents\Arduino onder je persoonlijke map in Windows). Maak eventueel de map libraries aan als die nog niet bestaat. Herstart daarna de Arduino IDE. We kunnen nu in onze code de nieuwe library gebruiken met de regel #include "OLED.h". Overigens voegen we ook een regel #include <Wire.h> toe, omdat de library OLED de library Wire nodig heeft voor de communicatie met het schermpje.

03 Code instellen

Je kunt de code voor dit project hier downloaden. Om de schets te laten werken vul je in de code de naam van je draadloze netwerk in plaats van SSID en je wachtwoord in plaats van WACHTWOORD. In de regel daarna kun je het nummer van het gewenste weerstation instellen. Ieder weerstation heeft een viercijferig nummer. Standaard staat hier 6260, de code voor het weerstation bij De Bilt. Je vindt alle weerstations hier. Upload de code vervolgens naar de NodeMCU. Herstart het bordje door op het resetknopje te drukken en de weergegevens verschijnen op het schermpje.

03 Afhankelijk van de gegevens die het gewenste meetstation doorgeeft zie je de luchtvochtigheid, temperatuur en windsnelheid.

Geschreven door: Redactie Computer!Totaal op

Category: Workshop, Programmeren

Tags: