Handboek · hoofdstuk 25Sensoren en automatisch regelen
Meten, beslissen, doen: de meetkas geeft zelf water en zet zelf haar dakraam open
Een microcontroller met alleen knoppen en leds weet niets van de wereld. Met sensoren meet hij temperatuur, licht en bodemvocht; met actuatoren zoals een relais, een pomp of een servo grijpt hij in. Daartussen zit een eenvoudige regel: is de meting te hoog of te laag, schakel dan iets aan of uit. In dit hoofdstuk leer je analoge waarden inlezen, een sensor ijken tegenover een betrouwbare referentie, en een aan/uit-regeling bouwen. De meetkas geeft voortaan zelf water en opent zelf haar dakraam.

- Je kan het blokschema meten - beslissen - doen tekenen en uitleggen, en een open lus onderscheiden van een gesloten lus.
- Je kan voor temperatuur, licht en bodemvocht een sensor kiezen en zeggen welke grootheid er verandert.
- Je kan een ruwe waarde van een 10-bits ADC (0 tot 1023) omrekenen naar een spanning en omgekeerd, voor een Uno (5 V) en een micro:bit (3,3 V).
- Je kan een sensor ijken met een referentie: metingen in een tabel en een ijklijn zetten, en de ijklijn gebruiken.
- Je kan een aan/uit-regeling met een drempelwaarde ontwerpen, en uitleggen waarom twee drempels (hysterese) het schakelen rustiger maken.
- Je kan een geschikte actuator kiezen (servo, pomp, ventilator, relais, duwstang) en uitleggen waarom een relais nodig is.
- Je kan het automatisch water geven van de meetkas bouwen, programmeren en testen, met aandacht voor wat er gebeurt als iets faalt.
Drie uitvinders en een vlotter
Al meer dan tweeduizend jaar bouwen mensen machines die zichzelf bijsturen. In de derde eeuw voor Christus maakte Ktesibios in Alexandrië een waterklok: water druppelt gelijkmatig in een vat, en het stijgende peil wijst de tijd aan. Gelijkmatig druppelen lukt alleen als het water erboven op een vaste hoogte blijft. Ktesibios gebruikte daarvoor een vlotter die de toevoer afsluit als het peil stijgt en opent als het daalt: hetzelfde principe als het vlotterventiel in een toiletreservoir.
Rond 1620 bouwde de Nederlandse uitvinder Cornelis Drebbel een broedoven die zijn temperatuur zelf op peil hield: een vloeistof die uitzette bij warmte, bewoog een klep die de luchttoevoer van het vuur verkleinde. Een van de eerste thermostaten. En in 1788 zette James Watt een centrifugaalregulateur op zijn stoommachine: twee draaiende kogels die uit elkaar zwaaien als de machine te snel draait, en dan de stoomklep wat dichtduwen.
Een vlotter, een uitzettende vloeistof, draaiende kogels: telkens meet iets de toestand, beslist het mechanisme of er bijgestuurd moet worden, en doet een klep het werk. Vandaag doet een sensor het meten, een microcontroller het beslissen en een actuator het doen. Het idee is hetzelfde gebleven.

Meten, beslissen, doen
Elke automatische regeling bestaat uit dezelfde blokken:
- een sensor meet de grootheid die je wil bewaken (het bodemvocht);
- een regelaar vergelijkt de meting met wat je wil (de drempel) en beslist (de microcontroller met zijn programma);
- een actuator grijpt in (het relais met de pomp);
- het proces verandert (de grond wordt natter), en de sensor meet dat opnieuw.
Die laatste pijl terug heet terugkoppeling. Met terugkoppeling spreek je van een gesloten lus: de regeling ziet het resultaat van haar eigen actie, en ook van storingen zoals een zonnige dag of planten die veel drinken.
Zonder terugkoppeling heb je een open lus: een tuinsproeier met een timer geeft elke dag om 8 uur twee minuten water, ook als het de hele nacht geregend heeft. Open lussen zijn eenvoudig en goedkoop, maar reageren niet op wat er echt gebeurt.
Een buitenlamp met een bewegingsmelder heeft een sensor, maar de sensor meet niet het resultaat van de lamp (het licht). Dat is een open lus die door een gebeurtenis gestart wordt. Gesloten is een lus pas als de sensor meet wat de actuator verandert.
Sensoren: van grootheid naar spanning
Een microcontroller meet spanningen. Een sensor zet een grootheid om in een spanning (of in een weerstand die je met een tweede weerstand in een spanning omzet; hoe dat precies werkt, zie je in Intermediate, hoofdstuk 22).
| grootheid | sensor | wat verandert er? | in de meetkas |
|---|---|---|---|
| temperatuur | TMP36 | uitgangsspanning: 0,5 V bij 0 °C, 10 mV meer per °C | A1 |
| temperatuur | NTC-weerstand | weerstand daalt als het warmer wordt | (alternatief) |
| licht | LDR (lichtgevoelige weerstand) | weerstand daalt bij meer licht | A2, met 10 kΩ |
| bodemvocht | capacitieve sensor | uitgangsspanning daalt als de grond natter is | A0 |
| waterpeil | vlotterschakelaar | contact open of dicht (digitaal) | D3 |
Let op het verschil: een vlotter of een drukknop geeft maar twee toestanden (digitaal), een temperatuursensor elke waarde binnen een bereik (analoog). Analoge sensoren sluit je aan op A0 tot A5.
Van elke sensor bestaat een gegevensblad (datasheet) met het bereik, de nauwkeurigheid en het verband tussen grootheid en spanning. Voor de TMP36 staat er: 10 mV per °C, 750 mV bij 25 °C, nauwkeurigheid ±2 °C. Een sensor van enkele euro's is dus niet op de tiende van een graad juist: daarom ijk je hem.

De capacitieve bodemvochtsensor
Een bodemvochtsensor meet hoeveel water er in de grond zit. Oudere sensoren hebben twee blote metalen pinnen en meten de weerstand van de grond; die pinnen roesten snel weg. De capacitieve sensor heeft geen blootliggend metaal: hij meet hoe goed de grond een elektrisch veld doorlaat, en dat hangt sterk af van het water erin.
- 1Aansluitingen
GND naar GND, VCC naar 5V (of 3,3 V), AOUT naar een analoge ingang (A0). Drie draadjes.
- 2Elektronica
Een kleine schakeling maakt van de meting een spanning. Moet droog blijven: niet in de grond, en best afdekken (krimpkous of lak).
- 3Tot hier in de grond
De streep geeft aan hoe diep de sensor mag. Steek hem altijd even diep, anders verandert de meting.
- 4Meetzone
Twee koperbanen onder een beschermlaag vormen een soort condensator. Hoe natter de grond, hoe lager de spanning op AOUT.
- 5Punt
Steek de sensor voorzichtig in: de printplaat breekt als je ze tegen een steen duwt. Duw niet op de elektronica.
Analoog inlezen: van spanning naar getal
Een analoge ingang meet een spanning en geeft een getal terug. Dat doet de analoog-digitaalomzetter (ADC) in de chip. Een Uno heeft een ADC van 10 bits: hij verdeelt het bereik van 0 tot 5 V in trapjes, genummerd van 0 tot 1023. Eén trapje is .
In Arduino-code lees je de ruwe waarde met analogRead(A0); in blokken met 'lees analoge pin A0', in MakeCode met 'lees analoog pin P0'. Een spanning van 2,5 V geeft ongeveer 512: de helft.
De ruwe waarde heeft geen eenheid. 512 betekent 2,5 V, en wat 2,5 V betekent (een temperatuur, een vochtigheid) hangt af van de sensor. Die laatste stap doe je met het gegevensblad of met een ijklijn.
Van getal naar temperatuur
Een TMP36 op A1 van een Uno geeft de ruwe waarde 150. Welke temperatuur is dat volgens het gegevensblad? Welke ruwe waarde verwacht je bij 30 °C? En hoe groot is één trapje in °C?
- ruwe waarde 150, bereik 0-5 V, 0-1023
- TMP36:
- bij ruw 150
- ruwe waarde bij 30 °C
- één trapje in °C
- 1Getal naar spanning. .
- 2Spanning naar temperatuur. Boven 0,5 V is elke 0,010 V één graad: .
- 3Omgekeerd, bij 30 °C. ; ruw (afgerond).
- 4Eén trapje is 4,9 mV, en 10 mV is 1 °C: één trapje is ongeveer 0,5 °C. Fijner kan deze opstelling de temperatuur niet onderscheiden.
Een temperatuursensor ijken
Wijst onze TMP36 de juiste temperatuur aan, en hoe corrigeren we hem als dat niet zo is?
- Arduino Uno met TMP36 op A1 (5V, A1, GND)
- referentiethermometer (bv. een digitale labothermometer)
- vier bekers: ijswater, kraanwater, lauw water, warm water (tot ±60 °C)
- plastic zakje of krimpkous om de sensor waterdicht te maken
- computer met de seriële monitor (Serial.println)
- 1Pak de sensor waterdicht in. Laat de Arduino elke seconde
analogRead(A1)naar de computer sturen. - 2Hang de sensor en de referentiethermometer naast elkaar in de beker met ijswater. Roer, wacht tot beide waarden niet meer veranderen.
- 3Noteer de temperatuur van de referentie en de ruwe waarde van de sensor.
- 4Herhaal met kraanwater, lauw water en warm water.
- 5Zet de metingen in een grafiek: temperatuur van de referentie horizontaal, ruwe waarde verticaal. Teken de best passende rechte: de ijklijn.
- 6Teken in dezelfde grafiek de lijn volgens het gegevensblad en vergelijk.
| referentie (°C) | ruwe waarde | volgens het gegevensblad (°C) | verschil (°C) |
|---|---|---|---|
| 3,2 | 112 | 4,7 | +1,5 |
| 21,0 | 148 | 22,3 | +1,3 |
| 38,5 | 184 | 39,9 | +1,4 |
| 55,0 | 218 | 56,5 | +1,5 |
De punten liggen op een rechte die evenwijdig loopt met de lijn van het gegevensblad, maar er iets boven ligt: deze sensor wijst telkens ongeveer 1,5 °C te hoog aan.
Elke sensor heeft kleine afwijkingen door de productie. Hier is het een vaste verschuiving (een offset) van ongeveer +1,5 °C: de helling klopt, het beginpunt niet. De ijklijn corrigeert dat. Lees je later de ruwe waarde 150 af, dan ga je in de grafiek van 150 horizontaal naar de ijklijn en dan naar beneden: 21,8 °C, en niet de 23,3 °C van het gegevensblad. In het programma trek je voortaan 1,5 °C af. Zo is een sensor van een paar euro even betrouwbaar als de referentie waarmee je hem ijkte, binnen het bereik dat je gemeten hebt (hier 3 tot 55 °C).
De bodemvochtsensor ijken in twee punten
Voor de bodemvochtsensor bestaat geen gegevensblad met een formule. Je ijkt hem daarom met twee referentiepunten: in droge potgrond meet je 600, in natte potgrond (net gegoten en uitgelekt) 300. Maak een schaal van 0 % (droog) tot 100 % (nat). Welk bodemvocht hoort bij 450? En bij welke ruwe waarde moet de kas water geven, als de drempel 30 % is?
- droog: ruw 600 → 0 %
- nat: ruw 300 → 100 %
- tussen de twee punten: een rechte (een aanname)
- vocht bij ruw 450
- ruwe waarde bij 30 %
- 1Het bereik. Van droog naar nat daalt de ruwe waarde met . Dat zijn 100 procentpunten: elke 3 lager is 1 % natter.
- 2De ijklijn. . Controle: ruw 600 geeft 0 %, ruw 300 geeft 100 %.
- 3Ruw 450. : precies in het midden.
- 4De drempel. 30 % is onder 600: ruw . Boven 510 is de grond droger dan 30 %.
map(ruw, 600, 300, 0, 100) deze omrekening.Drempelwaarde en aan/uit-regeling
De eenvoudigste regelaar kent maar twee standen: aan of uit. Hij vergelijkt de meting met een drempelwaarde: 'is het kouder dan 20 °C, dan verwarming aan, anders uit'. Zo werkt de thermostaat van een verwarming, een koelkast of een strijkijzer. Het is precies de ruit van een stroomdiagram (hoofdstuk 22) in een eindeloze lus.
In de eerste grafiek meet de thermostaat elke minuut. Ligt de temperatuur net onder 20 °C, dan gaat de verwarming aan; een minuut later is het net boven 20 °C en gaat ze uit. De temperatuur blijft netjes op 20 °C, maar de verwarming schakelt in drie uur 107 keer (elke rode strook is een periode 'aan'). Voor een ketel, een relais of een motor is dat slecht: ze verslijten door het voortdurende aan en uit.
Echte thermostaten gebruiken daarom twee drempels: aan onder 19,5 °C, uit boven 20,5 °C. Daartussen verandert er niets. Nu schommelt de temperatuur een halve graad rond 20 °C, en schakelt de verwarming in drie uur maar 13 keer. Dat verschil tussen de aan- en de uitdrempel heet hysterese. Hoe je het goed kiest, leer je in Intermediate (hoofdstuk 31).
Een aan/uit-regeling kan nooit precies op 20,0 °C blijven: de verwarming geeft ofwel alles, ofwel niets. Wie een temperatuur heel stil wil houden, doseert het vermogen: 30 % verwarmen in plaats van aan of uit. Dat doet de PID-regelaar van het station op Expert-niveau.
Actuatoren: van signaal naar actie
Een actuator zet het besluit van de regelaar om in een actie. Een microcontrollerpin levert hoogstens 20 mA bij 5 V (hoofdstuk 24): genoeg voor een led, niet voor een pomp. Daarom stuur je de meeste actuatoren via een tussenstap aan.
| actuator | wat hij doet | hoe je hem aanstuurt | in de meetkas |
|---|---|---|---|
| led, zoemer | licht, geluid | rechtstreeks op een pin (met weerstand) | statuslampje |
| servo | draait naar een hoek van 0 tot 180° | signaal op een pin; voeding apart (5 V) | (opdracht 25.15) |
| pomp, ventilator (12 V) | water pompen, lucht verplaatsen | via een relais of een transistor | pompje 0,65 A |
| relais | schakelt een aparte kring | relaismodule op een pin | K1 ledstrip, K2 pomp |
| duwstang (lineaire actuator) | schuift in of uit | twee relais (uit / in) | dakraam, K3 en K4 |
Een relais is een schakelaar die bediend wordt door een elektromagneet. Loopt er stroom door de spoel, dan trekt ze een ijzeren anker aan en sluit het contact. De stuurkring (5 V) en de werkkring (12 V) zijn elektrisch gescheiden: een fout in de pompkring kan de microcontroller niet beschadigen. De spoel van een klein relais van 5 V vraagt ongeveer 70 mA: te veel voor een pin. Daarom gebruik je een relaismodule, met een transistor die de spoelstroom levert en een diode die de chip beschermt als de spoel uitgeschakeld wordt (Intermediate, hoofdstuk 23 en 26).
Sommige relaismodules schakelen in als de pin HIGH is, andere als ze LOW is. Test je module eerst met een eenvoudig programma, en noteer het. In dit hoofdstuk schakelt HIGH het relais in.

Habitat: automatisch water geven
Zet het algoritme 'water geven' (hoofdstuk 22, getest in de simulatie van hoofdstuk 23) om in een echte schakeling. Welke pinnen gebruik je, hoe schakel je het pompje van 12 V, hoeveel water geeft een beurt, en hoeveel energie kost het per dag?
- bodemvochtsensor op A0, ijking: vocht = (600 − ruw) : 3
- drempel 30 %, wachttijd 15 min
- pompje 12 V, 0,65 A, 8,0 mL/s; verbruik ongeveer 1,8 L per dag
- 12 V-tak van de pomp met zekering 1 A en vlotterschakelaar (hoofdstuk 18 en 20)
- pinplan en schema
- water per beurt en aantal beurten per dag
- energie van de pomp per dag
- 1Meten. Sensor op A0 (analoog). Vlotter van het reservoir op D3 (digitaal, INPUT_PULLUP), zoals in opdracht 24.12.
- 2Doen. De pomp trekt 0,65 A op 12 V: dat kan geen pin. Relaismodule op D6; het contact K2 komt in de 12 V-tak van de pomp, in serie met de zekering (1 A) en met de vlotterschakelaar. Zo zijn er twee beveiligingen: het programma pompt niet als D3 'leeg' meldt, en de vlotter in de pompkring breekt de stroom zelf als het peil te laag is.
- 3Beslissen. Het programma leest A0, rekent om naar procent, en pompt 30 s als het vocht onder 30 % is en er water is. Daarna 15 minuten wachten: het water moet eerst naar de sensor zakken.
- 4Water per beurt. . Voor 1,8 L per dag: beurten, of pompen per dag, zoals in het stationsdossier.
- 5Energie. Het pompje: , 225 s per dag: , of 0,49 Wh per dag (hoofdstuk 21). De spoel van het relais (±0,35 W) staat alleen aan tijdens het pompen: verwaarloosbaar.
Automatisch water geven in code en in blokken
Het programma volgt het stroomdiagram van hoofdstuk 22. Nieuw zijn analogRead(), dat een getal van 0 tot 1023 geeft, en map(), dat een getal van het ene bereik naar het andere omrekent (hier van 600 → 300 naar 0 → 100). Met Serial.println() stuurt de Arduino elke meting naar de computer: handig om te testen en te ijken (Intermediate, hoofdstuk 29 en 30).
// Automatisch water geven in de meetkasconst int SENSOR = A0; // capacitieve bodemvochtsensorconst int VLOTTER = 3; // vlotter naar GND: dicht (LOW) = er is waterconst int POMP = 6; // relais K2 van het pompje (HIGH = aan)const int ROOD = 10; // statuslampjeconst int GROEN = 11;const int DROOG = 600; // ijkpunt: ruwe waarde in droge potgrondconst int NAT = 300; // ijkpunt: ruwe waarde in natte potgrondconst int DREMPEL = 30; // water geven onder 30 % void setup() { pinMode(VLOTTER, INPUT_PULLUP); pinMode(POMP, OUTPUT); pinMode(ROOD, OUTPUT); pinMode(GROEN, OUTPUT); Serial.begin(9600); // metingen volgen op de computer} void loop() { int ruw = analogRead(SENSOR); // 0 tot 1023 int vocht = map(ruw, DROOG, NAT, 0, 100); // ruwe waarde -> procent Serial.println(vocht); bool water = (digitalRead(VLOTTER) == LOW); if (vocht < DREMPEL && water) { // droog en er is water: pompen digitalWrite(ROOD, HIGH); digitalWrite(GROEN, LOW); digitalWrite(POMP, HIGH); delay(30000); // 30 s = 240 mL digitalWrite(POMP, LOW); } else if (vocht < DREMPEL) { // droog, maar het reservoir is leeg digitalWrite(ROOD, HIGH); digitalWrite(GROEN, LOW); } else { // vochtig genoeg digitalWrite(ROOD, LOW); digitalWrite(GROEN, HIGH); } delay(900000UL); // 15 min: het water moet eerst inzakken}Een detail: map() rekent met gehele getallen en rondt naar beneden af. Ruw 511 wordt , dus 29: net onder de drempel. Voor een kas maakt dat niets uit. Wel belangrijk: tijdens de 15 minuten delay() doet de Arduino niets anders. Het dakraam kan in dezelfde lus dus niet tussendoor reageren. Wie beide wil, meet in één lus alles en wacht korter, of gebruikt millis() (Intermediate, hoofdstuk 29).
Habitat: het dakraam als thermostaat
Op een zonnige aprildag wordt het in de gesloten meetkas 32 °C (hoofdstuk 4). Boven 30 °C lijden de planten. De duwstang van hoofdstuk 12 kan het dakraam 20 cm openen. Ontwerp de regeling: wanneer gaat het raam open en dicht? Gebruik de simulatie om één drempel te vergelijken met twee.
- TMP36 op A1, geijkt (−1,5 °C)
- duwstang met eindschakelaars: relais K3 schuift uit, K4 schuift in
- model: open raam haalt de helft van het verschil met buiten weg; meten elke minuut
- blokschema
- drempels
- aantal schakelingen en hoogste temperatuur
- 1Meten, beslissen, doen. Sensor TMP36 → regelaar (Arduino) → K3 of K4 → duwstang → dakraam → de kas koelt af → de sensor meet dat.
- 2Eén drempel (28 °C). Het raam gaat open zodra het warmer is dan 28 °C en dicht zodra het koeler is. De kas blijft onder 28,3 °C, maar in de simulatie schakelt de duwstang 166 keer tussen 6 en 20 uur: bijna elke minuut. De duwstang en de relais zouden dat niet lang overleven.
- 3Twee drempels. Open boven 28 °C, dicht onder 25 °C. Nu schakelt het raam 14 keer. Het eerste openen gebeurt om 12:07, het laatste sluiten om 15:41. De hoogste temperatuur is 28,2 °C.
- 4Waarom twee duwstangrelais? Een duwstang schuift uit bij de ene polariteit en in bij de andere. Met twee relais kies je de richting; ingebouwde eindschakelaars stoppen de stang aan het einde van haar slag. Hoe je zo'n richtingsschakeling (een H-brug) veilig bouwt, zie je in Intermediate, hoofdstuk 26.
Het dakraam in code
Het programma onthoudt in de variabele raamOpen of het raam open is. Dat heb je nodig voor twee drempels: bij 26 °C moet het raam open blijven als het al open was, en dicht blijven als het dicht was. float is een variabele met cijfers na de komma; !raamOpen betekent 'niet raamOpen'.
// Dakraam van de meetkas: open boven 28 graden, dicht onder 25 gradenconst int SENSOR = A1; // TMP36const int UIT = 4; // relais K3: duwstang schuift uit (raam open)const int IN = 5; // relais K4: duwstang schuift in (raam dicht)bool raamOpen = false; void setup() { pinMode(UIT, OUTPUT); pinMode(IN, OUTPUT);} void loop() { int ruw = analogRead(SENSOR); float u = ruw * 5.0 / 1023.0; // spanning in volt float t = (u - 0.5) * 100.0 - 1.5; // TMP36, met de ijkcorrectie van -1,5 graden if (!raamOpen && t > 28.0) { digitalWrite(UIT, HIGH); // uitschuiven tot de eindschakelaar delay(15000); digitalWrite(UIT, LOW); raamOpen = true; } else if (raamOpen && t < 25.0) { digitalWrite(IN, HIGH); // inschuiven tot de eindschakelaar delay(15000); digitalWrite(IN, LOW); raamOpen = false; } delay(60000); // een keer per minuut meten}De relais blijven 15 s aan: ruim genoeg om de duwstang (typisch 5 à 10 mm per seconde) de 4 cm van haar slag te laten afleggen; de eindschakelaar stopt ze. Kijk in het gegevensblad van je duwstang hoe snel ze is. Nooit K3 en K4 tegelijk aan: in dit programma kan dat niet, want ze staan in verschillende takken van het if-else-blok.
Overzicht: sensoren, omrekenen, regelen en het pinplan
| symbool | betekenis | eenheid |
|---|---|---|
| ruwe waarde van analogRead | 0 tot 1023 | |
| spanning | volt (V) |
| symbool | betekenis | eenheid |
|---|---|---|
| temperatuur | °C | |
| uitgangsspanning | volt (V) |
| symbool | betekenis | eenheid |
|---|---|---|
| ruwe waarde in droge en in natte grond | (getal) |
| regeling | kenmerk |
|---|---|
| open lus | geen terugkoppeling: tijd of gebeurtenis bepaalt de actie |
| gesloten lus | de sensor meet wat de actuator verandert |
| aan/uit met één drempel | houdt de waarde dicht bij de drempel, maar schakelt heel vaak |
| aan/uit met twee drempels (hysterese) | schommelt tussen de drempels, schakelt veel minder |
| pin | onderdeel | soort | hoofdstuk |
|---|---|---|---|
| A0 | bodemvochtsensor (capacitief), ijkpunten 600 droog / 300 nat | analoge ingang | 25 |
| A1 | temperatuursensor TMP36 (ijkcorrectie −1,5 °C) | analoge ingang | 25 |
| A2 | lichtsensor (LDR met 10 kΩ) | analoge ingang | 25 |
| D2 | drukknop (test / handbediening) | digitale ingang, INPUT_PULLUP | 24 |
| D3 | vlotter reservoir (dicht = water) | digitale ingang, INPUT_PULLUP | 24 |
| D4 / D5 | relais K3 / K4: duwstang uit / in (dakraam) | digitale uitgang | 25 |
| D6 | relais K2: pompje | digitale uitgang | 25 |
| D7 | relais K1: ledstrip (automaat, hoofdstuk 18) | digitale uitgang | 25 |
| D10 / D11 | statuslampje rood / groen (220 Ω) | digitale uitgang | 24 |
Waar regelen naartoe leidt
Met dit hoofdstuk begint de leerlijn regelen en robotica: meten, beslissen, doen, en opnieuw meten. Het bouwt op programmeren (de lus met een keuze) en elektronica (de pin, het relais), en raakt onderzoeken en meten (ijken met een referentie) en leven en systemen: ook je lichaam regelt zijn temperatuur met een gesloten lus.
Nauwkeurigheid van een instrument en aflezen: waarom ijken nodig is.
De dag in de meetkas (32 °C) en het aflezen van een grafiek, hier van een ijklijn.
De duwstang onder het dakraam: 29,5 N op 12 cm van het scharnier, 20 cm opening.
Het algoritme 'water geven' dat hier op een microcontroller draait.
Pinnen, INPUT_PULLUP, het statuslampje en de vlotter op D3.
Homeostase: je lichaamstemperatuur is een gesloten regelkring met zweten en rillen als actuatoren.
Een sensor kalibreren met de best passende rechte, met een rekenblad.
Hoe een LDR of NTC met een tweede weerstand een spanning geeft.
Servo, relais en de H-brug om een motor of duwstang in twee richtingen te sturen.
Hysterese goed kiezen, en een regeling beoordelen met een meting.
Niet aan of uit, maar precies zoveel als nodig: de PID-regelaar van het station.
In het kort
- Een regelkring meet (sensor), beslist (regelaar) en doet (actuator), en meet dan opnieuw: dat is een gesloten lus met terugkoppeling. Zonder terugkoppeling is het een open lus.
- Sensoren zetten temperatuur (TMP36, NTC), licht (LDR) en bodemvocht (capacitieve sensor) om in een spanning of een weerstand.
- Een 10-bits ADC geeft 0 tot 1023; op een Uno is U ≈ ruw × 5 V / 1023, op een micro:bit met 3,3 V in plaats van 5 V.
- IJken: meet naast een betrouwbare referentie, zet de metingen in een ijklijn en corrigeer de sensor. Twee referentiepunten volstaan voor een lineaire schaal.
- Een aan/uit-regeling vergelijkt met een drempel; met twee drempels (hysterese) schakelt ze veel minder vaak, ten koste van een kleine schommeling.
- Grote verbruikers stuur je via een relais(module): een kleine stroom in de spoel schakelt een grote stroom in een gescheiden kring.
- De meetkas geeft 30 s water (240 mL) als het vocht onder 30 % zakt (ruw boven 510) en opent het dakraam boven 28 °C en sluit het onder 25 °C.
Wat je nu kent
- sensor
- Onderdeel dat een grootheid (temperatuur, licht, vocht) omzet in een elektrisch signaal, meestal een spanning.
- actuator
- Onderdeel dat een elektrisch signaal omzet in een actie: bewegen, pompen, verwarmen, licht geven.
- analoog signaal
- Signaal dat elke waarde binnen een bereik kan aannemen, zoals een spanning tussen 0 en 5 V.
- ADC (analoog-digitaalomzetter)
- Deel van de microcontroller dat een spanning omzet in een getal; bij 10 bits van 0 tot 1023.
- ijken (kalibreren)
- Een meetinstrument vergelijken met een betrouwbare referentie en zijn aanwijzing zo nodig corrigeren.
- ijklijn
- Grafiek die het verband geeft tussen de aanwijzing van een sensor en de echte waarde, gemaakt met een referentie.
- regelkring
- Systeem dat meet, beslist en ingrijpt, en daarna opnieuw meet wat het effect was (gesloten lus, terugkoppeling).
- aan/uit-regeling
- Regeling die een actuator helemaal aan of helemaal uit zet, afhankelijk van of een meting boven of onder een drempel ligt.
- hysterese
- Werken met twee verschillende drempels voor aan en uit, zodat een regeling niet voortdurend schakelt.
- relais
- Schakelaar die bediend wordt door een elektromagneet: een kleine stroom in de spoel schakelt een grote stroom in een aparte kring.