If you prefer the English description please check my GitHub page.

Want?

Er zijn ook ronde LCD displays te koop. Het leek me aardig om daar een CO2 meter mee te bouwen. En als je dan toch bezig bent, kun je er gelijk wat andere weer informatie bij stoppen toch. In dit hoofdstuk wordt dit project beschreven. Gebruik het, pas het aan jouw wensen aan, geef me tips hoe het beter kan. Graag!

Omdat de gebruikte internet links puur bedoeld zijn voor Nederland schrijf ik deze tekst dan ook in het Nederlands. Alle informatie is in het engels beschikbaar op GitHub.

Onderdelen

Links

De Nederlandse website Buienradar.nl geeft de meest recente waarnemingen van haar meetstations elke 10 minuten door. Deze zijn op te vragen via een API in JSON formaat.

Ook geeft de website Buienradar.nl de verwachte regenhoeveelheid in mm/uur weer voor de komende 2 uur per elke 10 minuten.

De CO2 informatie wordt lokaal afgelezen van de ingebouwde MHZ sensor.

Bouw

CO2 Sensor

De Winsen CO2 sensor heeft een break-out board van waaraf een connector vertrekt. Ik heb het einde van deze connector afgeknipt zodat ik de losse draden op de microcontroller kon solderen. De volgende draden heb ik gebruikt.

  • Groen (RX) naar Wemos D1
  • Blauw (TX) naar Wemos D2
  • Zwart (Gnd) naar Wemos GND
  • Rood (5V) nar Wemos 5V

Display

Het WaveShare 1.18 Inch LCD display gebruikt de SPI interface. Ik heb de volgende draden aan de microcontoller bevestigd:

  • Blauw (DC) naar Wemos D3
  • Geel (CS) naar Wemos D0
  • Oranje (CLK) naar Wemos D5
  • Groen (DIN) naar Wemos D7
  • Paars (VCC) naar Wemos 3V3
  • Wit (GND) naar Wemos GND
  • Grijs (BL) nar Wemos 5V
  • Bruin (RST) naar Wemos D4

Het doosje

Het doosje is ontworpen met TinkerCad. Download het ontwerp daar, pas het aan, of gebruik het STL bestand in de directory “/box design” op GitHub.

Het past niet zo heel precies, dus enige handigheid is vereist. Heb je tips, of een verbeterd ontwerp? Dat zou super zijn.

Software

Ik gebruik Visual Studio Code met de Platform IO uitbreiding om de code te bouwen en deze naar de Wemos microcontroller te uploaden. Indien je een andere manier gebruikt zoals de Arduino editor moet je wellicht wat verwijzingen aanpassen om het werkend te krijgen. Ook de manier waarop je de bibliotheken gebruikt is iets afwijkend.

Let op: de JSON string die van Buienradar afkomt is relatief groot. De Wemos heeft daar erg veel moeite mee omdat via de JSON bibliotheken te verwerken. Vandaar dat ik er voor gekozen heb om deze informatie als gewone string te behandelen en daar de informatie uit te plukken. Niet zoals het eigenlijk hoort; ik weet het; maar gezien de beperkte ruimte zag ik dit als een handige oplossing. Heb je tips voor me? Graag.

Lokaal gebruik

De parameters die nu gebruikt worden in de source file (main.ccp) wijzen wellicht naar een andere plaats als waar jij het apparaat wil gebruiken. Zoek omstreeks regel 178 naar de variable rain_link2. Hier staan de coordinaten genoemd waarvan Buienradar de informatie zal ophalen. Pas deze aan naar behoefte. Let wel op dat je exact dezelfde manier gebruikt.

Ook omstreeks regel 179 staat het station id genoemd van het meetstation wat het meest dichtbij jouw lokatie is, om accurate informatie te krijgen. Let op dat er nogal wat aanhalingstekens staan; houd deze intact. Bekijk de JSON info online en bepaal welk station Id het meest geschikt is.

Zoek de definitie SCREEN_CHANGE_TIMEOUT in de code op indien je de snelheid van pagina wisselen wilt wijzigen.

Geef hier het aantal ms aan voordat van scherm gewisseld wordt.

Her-compileer de source na een verandering en upload deze naar de Wemos.

Installatie

Dit apparaat zal de eerste keer in een nieuwe omgeving niet weten welk Wifi netwerk hij kan gebruiken. De ingebouwde WifiManager bibliotheek houdt daar rekening mee. Na de eerste maal starten in een nieuwe omgeving zal de WifiManager zich als Wifi Access point gaan gedragen. Dit netwerk zal de naam “Kippenhok” hebben.

  • Ga naar de instellingen op je telefoon
  • Selecteer het netwerk “Kippenhok”
  • Je telefoon wordt nu met het netwerk “Kippenhok” verbonden.
  • Je wordt automatisch doorgestuurd naar een webpagina.
  • Selecteer “Configure Wifi”
  • Selecteer jouw Wifi netwerk in de lijst
  • Voeg het password voor dit netwerk toe
  • Bevestig

De CO2 meter zal nu herstarten en proberen verbinding te maken het het door jou opgegeven netwerk. Op het schermpje is dat zichtbaar. Lukt dat niet, herhaal dan de installatie stappen van hier boven.

Gebruik

Tijdens het opstarten zal de meter zich melden. Daarna zal de meter zolang er stroom is afwisselend drie pagina’s laten zien:

  1. Weer informatie van het door jouw geselecteerde station. De laatste ophaaltijd vind je onderin het midden
  2. Het CO2 informatie scherm geeft je de huidige CO2 waarde. De buitenste ring is grijs en zal verkleuren naar gelang de hoogte van de waarde. Deze waarde wordt onder andere gehanteerd in [ https://www.rivm.nl/bibliotheek/rapporten/609021029.pdf](Gezondheidkundige advieswaarden binnenmilieu) (zie blz 49)
    • Tussen 0 en 800 zal deze groen zijn,
    • Tussen 800 en 1200 zal deze oranje zijn
    • En boven 1200 is deze rood.
  3. Het regen scherm geeft het aantal mm/uur weer wat verwacht wordt de komende twee uur, per interval van 10 minuten. Om een zinvolle grafiek te laten zien wordt met drie kleuren gewerkt:
    • Een blauwe grafiek als het maximum onder 5 mm/uur blijft,
    • Een magenta gekleurde grafiek als het maximum tussen 5 mm/uur en 20 mm/uur ligt,
    • En een rode grafiek als het maximum boven 20 mm/uur ligt. We spreken dan over zware regenval.

Tip

Ben je nieuwsgierig of werkt het niet naar behoren sluit dan een terminal kabel aan de usb poort en verbind deze met een pc. Gebruik PlatformIO of Arduino en kijk via de terminal mee wat het apparaat allemaal doet. Wellicht geeft het een aanknopingspunt.