- Leren
- Informatica & ICT
- Programmeren en digitale geletterdheid voor 7 tot 11 jaar
- Microcontroller programmeren
Microcontroller programmeren: dingen die waarnemen en bewegen
Groep 7, Groep 8Les 8 van 10 in Cursus Programmeren en digitale geletterdheid voor 7 tot 11 jaar
Wat je leert
- Zoek de kleine computers die in alledaagse machines verborgen zitten en leg uit hoe elk van die computers invoer ontvangt, verwerkt en uitvoer geeft.
- Herken de computers die in machines verborgen zittenLeer wat apparaten programmeren en microcontrollers zijn en zoek de computers die overal om je heen machines besturen.
- Volg invoer, verwerking en uitvoer in een systeemVerdeel een apparaat in invoer, verwerking en uitvoer en leg uit hoe de onderdelen en de mensen die het gebruiken samenwerken.
- Herken de computers die in machines verborgen zitten
- Schrijf programma’s die uitvoer aan- en uitzetten, in de loop van de tijd veranderen en combineren, zodat je apparaat signalen kan geven en kan bewegen.
- Laat leds en schermen oplichtenZet lampjes aan en uit, laat ze met pauzes knipperen en toon afbeeldingen, getallen en woorden op een scherm.
- Maak geluiden en melodieënSpeel tonen en korte melodieën af, kies geluiden die een duidelijke boodschap geven en bepaal wanneer een geluid begint en stopt.
- Laat dingen bewegen met motorenProgrammeer motoren om te starten, te stoppen, van richting en snelheid te veranderen en gebruik een servomotor om iets naar een precieze stand te draaien.
- Laat leds en schermen oplichten
- Gebruik knoppen, schakelaars en sensoren voor invoer, onderzoek welke getallen je sensoren geven en bewaar meetwaarden en aantallen in variabelen.
- Gebruik knoppen en schakelaars voor invoerLaat een apparaat reageren op een druk op een knop, kies tussen een gebeurtenisblok en een controle in een lus en maak van alledaagse voorwerpen aanraakinvoer.
- Meet de wereld om je heen met sensorenKies de juiste sensor voor een taak, onderzoek de getallen die hij in verschillende situaties geeft en kies verstandige drempelwaarden op basis van echte meetwaarden.
- Bewaar meetwaarden en aantallen in variabelenGebruik variabelen om gebeurtenissen te tellen, meetwaarden te onthouden, een apparaat instelbaar te maken en gegevens over een langere tijd vast te leggen.
- Gebruik knoppen en schakelaars voor invoer
- Gebruik lussen, pauzes en als-dan-anders met echte meetwaarden, zodat je apparaat de wereld blijft controleren en op de juiste manier reageert.
- Blijf op vaste momenten controleren met lussenStel dingen één keer in aan het begin en gebruik daarna oneindige lussen en tellussen met pauzes, zodat het apparaat invoer blijft uitlezen en uitvoer blijft aanpassen.
- Kies acties met als, dan en andersZet meetwaarden van sensoren om in beslissingen met vergelijkingen en drempelwaarden en zorg dat het apparaat in beide gevallen het juiste doet.
- Werk met meerdere voorwaarden en bereikenGebruik anders-als-ketens, “en” en “of” zodat een apparaat meer dan twee situaties kan onderscheiden, en test elke tak.
- Blijf op vaste momenten controleren met lussen
- Bedenk een slim apparaat voor een echte behoefte, sluit het veilig aan en programmeer het. Test het daarna op de plek waar het wordt gebruikt en verbeter het totdat het werkt.
- Bedenk een apparaat voor een echt probleemBeschrijf het probleem en de mensen voor wie het apparaat is, schrijf eisen op die je kunt controleren, kies invoer en uitvoer en plan het algoritme voordat je gaat programmeren.
- Sluit het echte apparaat aan, zet je programma erop en voer het uitSluit onderdelen aan op de juiste aansluitpinnen, volg de veiligheidsregels en stuur je programma van de editor naar het bordje.
- Test in de echte wereld en verhelp storingenPlan tests en leg ze vast, zoek uit of een storing in de hardware of het programma zit, verhelp steeds één probleem en beoordeel het voltooide apparaat aan de hand van de eisen.
- Bedenk een apparaat voor een echt probleem
Microcontroller programmeren: uitleg
1Ontdek computers die waarnemen en dingen besturen
Een computer kan in een deur, een wasmachine of speelgoed werken. Je volgt hoe de onderdelen samenwerken en wat het programma bestuurt. Ook bekijk je welke informatie binnenkomt, welke acties eruit volgen en welke keuzes mensen over het apparaat maken.
1.1 Zoek de computer in een machine
Een wasmachine kan een programma volgen zonder toetsenbord. De computer zit verborgen in de machine. Ook jij kunt een klein bordje programmeren om dingen te besturen.
Een programma werkt in de echte wereld
Apparaten programmeren betekent dat je een apparaat programmeert dat waarneemt en handelt. Het kan bijvoorbeeld beweging opmerken, een led laten branden of een wiel laten draaien. Een ingebouwde computer zit in een grotere machine. Verkeerslichten, magnetrons en robotstofzuigers hebben ingebouwde computers.
Een microcontroller is een piepkleine computer op één chip. Hij bewaart een programma en voert de instructies ervan uit. Op een microcontrollerbordje zitten die chip en plekken om onderdelen aan te sluiten. Bordjes voor in de klas hebben vaak al knoppen, lampjes en sensoren. Een micro:bit is daar een voorbeeld van.
Twee soorten onderdelen werken samen
| Soort | Wat het betekent | Voorbeelden |
|---|---|---|
| Hardware | Onderdelen die je kunt aanraken | Bordje, draden, knop, motor |
| Software | Instructies die de computer uitvoert | Een programma dat een hek opent |
Door de software te veranderen, kun je veranderen wat dezelfde hardware doet. Eén bordje kan vandaag een hartje laten knipperen en morgen schudbewegingen tellen. Het bordje heeft nog steeds de juiste aangesloten onderdelen nodig. Instructies om een hek te bewegen kunnen het niet bewegen zonder motor.
Volg een automatische deur
Stel je voor dat je naar de automatische deur van een winkel loopt.
- Een sensor merkt dat er iemand dichtbij is.
- De computer volgt zijn programma en kiest ervoor om de deur te openen.
- Een motor schuift de deur open.
- Als er niemand dichtbij is, wacht het programma en sluit dan de deur.
De sensor schuift de deur niet zelf open. Elk onderdeel heeft zijn eigen taak. Een mens heeft de regels gekozen en het programma geschreven. De computer volgt die instructies, ook als er fouten in zitten.
Wanneer gedraagt een machine zich als een robot?
Een robot kan waarnemen, beslissen en handelen door een programma te volgen. Een auto die een muur waarneemt en ervan wegstuurt, doet dat. Een speelgoedauto die alleen met jouw afstandsbediening wordt bestuurd, volgt jouw keuzes. Alleen aan zijn beweging kun je niet zien of hij zijn omgeving waarneemt.
Kijk naar de taak die een machine uitvoert, zoek niet naar een scherm. De verborgen computer van een wasmachine voert nog steeds instructies uit, ook als het scherm alleen uit een paar lampjes bestaat.
Belangrijkste punten
- Een ingebouwde computer bestuurt een grotere machine.
- Een microcontrollerbordje voert een opgeslagen programma uit.
- Hardware en software werken samen.
- Een robot gebruikt een programma om waar te nemen, te beslissen en te handelen.
1.2 Volg informatie door een apparaat
Een apparaat werkt doordat de onderdelen samen een taak uitvoeren. Je kunt de informatie erdoorheen volgen in drie stappen: invoer, verwerking, uitvoer.
Wat gaat erin, wat gebeurt er en wat komt eruit?
Invoer geeft de computer informatie. Een druk op een knop of een lichtmeting kan invoer zijn. Een invoerapparaat verzamelt die informatie.
Verwerking gebeurt wanneer de computer het programma volgt. Hij kan bijvoorbeeld een meetwaarde met een getal vergelijken en een actie kiezen. Uitvoer is de actie die hij bestuurt, zoals een piep. Een luidspreker, scherm of motor is een uitvoerapparaat.
| Onderdeel van een nachtlampje | Taak |
|---|---|
| Lichtsensor | Invoer: meten hoe licht het is |
| Computer die een programma uitvoert | Verwerking: controleren of de meetwaarde lager is dan 40 |
| Leds | Uitvoer: branden als het antwoord ja is |
Bij een meetwaarde van 12 is de voorwaarde waar. Het programma zet de leds aan. Bij een meetwaarde van 95 is de voorwaarde onwaar. Het programma zet ze uit. De meetwaarde geeft informatie; het programma geeft betekenis aan die informatie.
Informatie onthouden
Met opslag kan de computer zijn programma en waarden bewaren. Een stappenteller bewaart een telling tussen bewegingen. Als hij de eerdere telling niet zou onthouden, kon hij de volgende stap er niet bij optellen.
Sommig geheugen bewaart waarden alleen terwijl een programma draait. Een bordje kan ook zijn gedownloade programma bewaren voor de volgende keer dat het opstart. Een programma opslaan en een lopende telling bijhouden zijn verschillende taken van opslag.
Mensen blijven betrokken
Bij een oversteekplaats is jouw druk op de knop invoer. Het programma wacht en verandert de signalen op volgorde. De signaallampen en piepjes zijn uitvoer. Mensen kiezen ook de tijden, schrijven het programma en zetten systemen aan of uit. Een handig apparaat geeft mensen duidelijke bediening, zoals een stopknop.
De rol van een onderdeel hangt af van wat het in dat systeem doet. Licht komt als uitvoer uit een led. Dat licht kan een sensor bereiken als invoer voor een ander systeem.
Volg informatie, geen stroom
Een batterij levert stroom; ze meet de wereld niet. Draden verbinden onderdelen en geven stroom of signalen door. Bij een knop met een draad verzamelt de knop de invoer. De draad geeft het signaal door aan het bordje. Vraag je af: “Welk onderdeel vertelt de computer iets?” Zo vind je het invoerapparaat.
Belangrijkste punten
- Invoer geeft informatie; bij verwerking volgt de computer het programma; uitvoer voert een actie uit.
- Opslag bewaart programma’s en waarden.
- Mensen kiezen regels, instellingen en bediening.
- Een draad kan een signaal van een invoerapparaat doorgeven.
- Hetzelfde licht kan uitvoer van een led en invoer voor een sensor zijn.
2Bestuur lampjes, geluiden en motoren
Met licht, geluid en beweging kan een bordje boodschappen naar de wereld sturen. Je maakt patronen met pauzes en kiest uitvoer die bij de taak past. Door elke instructie op volgorde te volgen, kun je voorspellen wanneer een lampje verandert, een geluid eindigt of een model stopt met bewegen.
2.1 Maak een lichtpatroon dat je kunt zien
Een lampje kan een boodschap tonen zonder geluid te maken. Je programma bepaalt wanneer het brandt en hoe lang de boodschap zichtbaar blijft.
Toon een afbeelding of een getal
Een led, oftewel een lichtgevende diode, is een klein lampje. Sommige bordjes hebben een rooster van leds als scherm. De micro:bit heeft 25 leds, verdeeld over vijf rijen van vijf. Het scherm kan pictogrammen, getallen of voorbijschuivende woorden tonen.
Een getoond hartje blijft staan totdat een andere instructie het verandert of wist. Als je een led aanzet, gaat die niet vanzelf later uit. Zet een uitinstructie in het programma als je wilt dat het donker wordt.
Geef je ogen tijd
Een computer kan een lampje te snel laten veranderen om het goed te zien. Een pauze laat het programma wachten. Veel pauzeblokken gebruiken milliseconden, geschreven als ms. Er gaan 1.000 ms in één seconde. Een pauze van 500 ms duurt een halve seconde.
Maak een knipperlicht in deze volgorde:
- Zet de led aan.
- Pauzeer 500 ms.
- Zet de led uit.
- Pauzeer 500 ms.
De eerste pauze houdt het lampje aan. De tweede houdt het uit. Zet alle vier de blokken in een lus om het te laten blijven knipperen. Als je alleen pauzeert nadat je het hebt uitgezet, kan de tijd dat het aan is te kort zijn om op te merken.
Maak een model van een verkeerslicht
Gebruik aparte groene, gele en rode leds. Begin met alle drie uit. Herhaal deze stappen:
- Groen aan; pauzeer 5.000 ms; groen uit.
- Geel aan; pauzeer 2.000 ms; geel uit.
- Rood aan; pauzeer 5.000 ms; rood uit.
Eén cyclus duurt 12 seconden: vijf, dan twee, dan vijf. Door elk lampje uit te zetten, is de volgende stap goed te zien. Een patroon dat alleen in “bij opstarten” staat, wordt één keer uitgevoerd. Zet het in “de hele tijd” als het zich moet blijven herhalen.
Kies kleuren
Sommige gekleurde leds mengen rood, groen en blauw licht. Rood en groen op volle sterkte maken geel. Alle drie op volle sterkte maken wit. Een gewone led met één kleur kan niet van kleur veranderen alleen omdat je een nieuw kleurblok kiest. Kies uitvoer die de boodschap kan tonen die je nodig hebt.
Belangrijkste punten
- Pauzeer na zowel het aanzetten als het uitzetten om het lampje duidelijk te laten knipperen.
- 1.000 ms is één seconde.
- Een scherm behoudt zijn afbeelding totdat een instructie die verandert.
- Gebruik een lus voor een herhalend lichtpatroon.
2.2 Geef een geluid de juiste boodschap
Een piep kan bevestigen dat er op een knop is gedrukt. Een melodie kan een overwinning vieren. Een luidspreker of zoemer zet de geluidsinstructies van je programma om in uitvoer.
Verander toonhoogte en lengte
Toonhoogte is hoe hoog of laag een geluid klinkt. Je kiest de frequentie van een toon in hertz, geschreven als Hz. Een hogere frequentie geeft een hogere toon. De centrale C is ongeveer 262 Hz. De A daarboven is 440 Hz.
Duur betekent hoe lang een geluid klinkt. Een programma kan de duur instellen in tellen of milliseconden. Een melodie is een volgorde van noten, elk met een toonhoogte en een duur. Een hogere toon betekent niet dat een noot langer duurt. Verander de duur om de lengte te veranderen.
Programmeer een deurbel
Zet deze instructies in “als knop A wordt ingedrukt”:
- Speel 523 Hz gedurende één tel.
- Speel 392 Hz gedurende één tel.
Het eerste geluid is hoger. Het tweede is lager, waardoor je een “dingdong”-patroon krijgt. Bij elke druk wordt de reeks één keer afgespeeld. Sommige bordjes hebben een ingebouwde luidspreker. Andere gebruiken een aangesloten luidspreker of zoemer.
Kies wanneer het volgende blok wordt uitgevoerd
| Geluidsblok | Wat het volgende blok doet |
|---|---|
| Speel af tot het klaar is | Wacht totdat het geluid is afgelopen |
| Speel af op de achtergrond | Begint terwijl het geluid nog kan spelen |
Stel dat een geluid van twee seconden vóór “toon ster” komt. Bij “speel af tot het klaar is” verschijnt de ster na het geluid. Bij “speel af op de achtergrond” kan de ster tijdens het geluid verschijnen. Lees de naam van het blok als je licht en geluid op elkaar wilt laten aansluiten.
Zorg voor bruikbare signalen
Gebruik een kort, zacht geluid voor “oké”. Gebruik een herhaalde waarschuwing alleen zolang die nodig is. Een geluid in een oneindige lus zonder voorwaarde begint elke ronde opnieuw. Geef het alarm een voorwaarde of een bediening waarmee je het stilzet.
Begin met een laag volume en korte geluiden als je test. Klasgenoten in de buurt moeten hun eigen werk ook kunnen horen.
Belangrijkste punten
- Frequentie verandert de toonhoogte; duur verandert de lengte.
- Een melodie speelt noten in een gekozen volgorde.
- Een geluidsblok dat wacht, stelt de volgende instructie uit.
- Een waarschuwingsgeluid moet op een duidelijke manier kunnen stoppen.
2.3 Kies een beweging en een stoppunt
Een wiel moet blijven draaien. Een modelhek moet naar een gekozen stand bewegen. Voor deze taken moet je motoren op verschillende manieren besturen.
Ronddraaien of naar een stand draaien
Een motor maakt beweging. Een uitvoerapparaat dat iets laat bewegen, is een actuator. Bij een draaimotor kun je de richting en snelheid kiezen. Veel bouwpakketten gebruiken een percentage voor de snelheid: 100% is de volle snelheid, 50% is ongeveer de halve snelheid en 0% is stilstaan.
Een servomotor draait naar een stand en houdt die vast. Veel servomotoren voor in de klas kunnen hoeken van 0 tot 180 graden aannemen. De hoek vertelt de servomotor naar welke stand hij moet draaien, niet hoe lang hij moet draaien.
| Taak | Handige motor |
|---|---|
| Een ventilator of wiel laten draaien | Draaimotor |
| Een vlag naar een gekozen hoek brengen | Servomotor |
| Een modelhek tussen twee standen bewegen | Servomotor |
Open en sluit een modelhek
Stel dat het hek dicht is bij 0 graden en open bij 90 graden. Zet het op 0 in “bij opstarten”. Zet in “als knop A wordt ingedrukt”:
- Zet de servomotor op 90 graden.
- Pauzeer 5.000 ms.
- Zet de servomotor op 0 graden.
Het hek blijft vijf seconden open en gaat dan dicht. Als je de laatste instructie weghaalt, houdt de servomotor het hek open. Een pauze alleen sluit het hek niet.
Stuur een wagentje
Een wagentje kan aan elke kant een motor hebben. Als beide kanten met dezelfde snelheid vooruit draaien, rijdt het rechtuit. Als beide achteruit draaien, rijdt het achteruit. Als het rechterwiel stopt terwijl het linkerwiel vooruit draait, gaat het naar rechts. Het draait naar de langzamere kant.
Test welke richting je model vooruit laat rijden. Hoe een motor is bevestigd, kan het resultaat veranderen. Als hij de verkeerde kant op draait, verander je de richting in het programma.
Plan de hele beweging
Neem een stopinstructie op voor een draaimotor. Als je hem start en daarna wacht, blijft hij de hele wachttijd draaien. Voor een tocht van drie seconden: start, pauzeer 3.000 ms en stop dan.
Volg de instructies van het bouwpakket voor de motoraansluitingen en stroomvoorziening. Motoren kunnen een extra motorbordje nodig hebben. Houd vingers, haar en losse kleding uit de buurt van draaiende onderdelen. Ondersteun een wagentje tijdens een test op tafel, zodat het niet over de rand kan rijden.
Belangrijkste punten
- Bij een draaimotor bepaal je de snelheid en richting.
- Een servomotor draait naar een hoek en houdt die stand vast.
- Een wagentje draait naar zijn langzamere kant.
- Wachten stopt een motor niet.
- Gebruik het motorbordje en de stroomvoorziening van het bouwpakket.
3Lees knoppen en sensoren uit
Knoppen vertellen een bordje wat iemand kiest. Sensoren vertellen het iets over de wereld eromheen. Je ontdekt hoe een druk op een knop en meetwaarden je programma bereiken en bewaart daarna nuttige informatie in variabelen. Met een telling of een opgeslagen meetwaarde kan je apparaat onthouden wat er eerder gebeurde.
3.1 Laat een druk op de knop het juiste doen
Een knop vertelt je programma of hij is ingedrukt. De manier waarop je hem uitleest, verandert wat je apparaat doet als iemand hem ingedrukt houdt.
Twee toestanden, verschillende schakelaars
Een knop heeft twee toestanden: ingedrukt en niet ingedrukt. Een maakdrukknop, zoals een deurbelknop, maakt alleen verbinding terwijl je hem indrukt. Een tuimelschakelaar blijft staan zoals je hem hebt gezet totdat je hem weer omzet.
Met knoppen kunnen mensen een apparaat besturen. Met de ene knop kun je een spelmodus kiezen. Met een andere kun je een scherm wissen of een geluid stilzetten.
Eén keer per druk of zolang je de knop vasthoudt?
| Wat je wilt | Keuze in het programma |
|---|---|
| Eén actie voor elke druk | Een knopgebeurtenis |
| Een actie zolang de knop ingedrukt is | Een knopcontrole in een lus |
Een gebeurtenisblok reageert als er iets gebeurt. Bij een quizknop kan “als knop A wordt ingedrukt” een blij gezicht tonen en één piep afspelen. Knop B kan het scherm wissen. Als je A ingedrukt houdt, verandert de gebeurtenis niet in een herhalende lus.
Een voorwaarde vraagt naar de toestand van de knop op dat moment. Gebruik een oneindige lus om een ventilator te laten draaien zolang A ingedrukt is:
forever:
if button A is pressed:
motor on
else:
motor off
De lus blijft controleren. Als je A loslaat, volgt de volgende controle de anders-tak. Zonder “motor uit” kan de ventilator blijven draaien nadat je de knop hebt losgelaten.
Tel een druk op de knop zorgvuldig
Als “verander score met 1” in een knopgebeurtenis staat, telt één druk er één bij op. Staat het in de controle van een ingedrukte knop in een snelle lus, dan kan één keer lang indrukken veel punten opleveren. Bij elke ronde is de knop nog ingedrukt en komt er weer een punt bij.
Een controle in “bij opstarten” heeft een ander probleem. Die controleert alleen als het bordje opstart. Een druk op de knop enkele seconden later komt nadat die controle is afgelopen.
Aanraking kan ook invoer zijn
Sommige bordjes kunnen waarnemen dat knoppen A en B samen worden ingedrukt. Andere hebben ook een aanraakgevoelig logo of aanraakgevoelige aansluitpinnen. Met een geschikt bouwpakket kunnen folie of fruit die met klemmen zijn aangesloten, aanraakvlakken worden. Een aanraakvlak geeft het programma invoer; het scherm of geluid is de uitvoer die reageert.
Belangrijkste punten
- Gebruik een gebeurtenis voor één actie per druk op de knop.
- Gebruik een herhaalde controle voor een actie zolang de knop ingedrukt is.
- Een maakdrukknop verbreekt de verbinding bij loslaten; een tuimelschakelaar blijft in zijn stand staan.
- Aanraakvlakken kunnen invoer geven.
3.2 Ontdek wat je sensor meet
Een sensor zet iets in de wereld om in een meetwaarde. Voordat je kiest wat je apparaat moet doen, onderzoek je wat die getallen betekenen op de plek waar het apparaat echt komt te staan.
Kies de juiste sensor voor de taak
| Wat je moet opmerken | Handige sensor |
|---|---|
| Hoe licht het is | Lichtsensor |
| Temperatuur | Temperatuursensor |
| Hoe hard het geluid is | Microfoon of geluidssensor |
| Hoe nat de grond is | Vochtsensor |
| Hoe ver een voorwerp weg is | Afstandssensor |
| Schudden of kantelen | Versnellingssensor |
| Welke kant het bordje op wijst | Kompas |
Een versnellingssensor meet versnelling, inclusief het effect van de zwaartekracht. Een bordje gebruikt deze informatie om beweging en kanteling waar te nemen. Blokken zoals “bij schudden” gebruiken de meetwaarden van die sensor.
Lees getallen af voordat je een regel kiest
Op een micro:bit lopen lichtmetingen van 0 voor donker tot 255 voor licht. De sensor geeft een getal, niet het woord “donker”. Een programma vergelijkt dat getal met een drempelwaarde om een actie te kiezen.
Probeer dit voor een nachtlampje:
- Toon de lichtwaarde terwijl de kamer licht is: ongeveer 140.
- Dek de sensor af en lees opnieuw af: ongeveer 15.
- Kies een drempelwaarde daartussen, bijvoorbeeld 50.
- Gebruik “lichtwaarde < 50” om te beslissen wanneer het lampje moet branden.
De meetwaarde 15 ligt onder 50. De meetwaarde 140 ligt erboven. Een drempelwaarde van 5 zou in beide situaties niet worden bereikt, zodat het lampje tijdens deze tests nooit aangaat.
Verwacht kleine veranderingen
Meetwaarden kunnen schommelen van 140 naar 142 naar 139. Kleine veranderingen zijn normaal. Een drempelwaarde vlak naast die waarden kan ervoor zorgen dat uitvoer steeds aan- en uitgaat. Kies een waarde met ruimte tussen de gebruikelijke meetwaarden voor je twee situaties.
Dezelfde drempelwaarde werkt misschien niet op een andere plek. Zonlicht bij een raam kan een gedeeltelijk afgedekte sensor bereiken. Controleer de sensor op de plek waar het voltooide apparaat komt te staan.
Let op bij temperatuur
Bordjes voor in de klas geven de temperatuur meestal in graden Celsius, oftewel °C. Water bevriest bij ongeveer 0 °C; een klaslokaal kan rond de 20 °C zijn. Sommige bordjes meten binnen in hun computerchip. Die chip kan tijdens het gebruik warmer worden, waardoor de meetwaarde hoger kan zijn dan de temperatuur van de omringende lucht. Een meetwaarde vertelt je wat die sensor op die plek heeft gemeten.
Belangrijkste punten
- Kies de sensor voor wat je moet meten.
- Een meetwaarde van een sensor is een getal dat je programma kan vergelijken.
- Kies drempelwaarden op basis van echte meetwaarden.
- Kleine veranderingen in meetwaarden zijn normaal.
- Test de sensor op de plek waar het apparaat echt komt te staan.
3.3 Onthoud een telling of een meetwaarde
Een bordje kan informatie onthouden terwijl je programma draait. Een variabele is een plek met een naam in het geheugen die een waarde bewaart die je kunt veranderen.
Bouw een stappenteller
Geef een variabele de naam “stappen”. Zet “zet stappen op 0” in “bij opstarten”. Voeg deze gebeurtenissen toe:
- Bij schudden: verander stappen met 1.
- Als knop A wordt ingedrukt: toon de waarde van stappen.
- Als knop B wordt ingedrukt: zet stappen op 0.
Na drie keer schudden bevat stappen de waarde 3. Knop A toont 3. Knop B wist de telling. Het woord “stappen” is de naam; 3 is de waarde. “Toon tekst stappen” toont de naam, niet de telling.
Houd de instructie voor de beginwaarde buiten de oneindige lus. Als je stappen elke ronde terugzet, wis je de telling steeds opnieuw. Test door precies 20 stappen te lopen. Als het scherm 26 toont, zijn extra bewegingen meegeteld; 14 betekent dat sommige stappen zijn gemist. Probeer de teller ergens anders te dragen of verander hoe sterk een schudbeweging moet zijn.
Bewaar een moment
“Zet temp op temperatuur” bewaart de meetwaarde van nu. Als temp 21 wordt, blijft die waarde 21 totdat een andere instructie haar verandert. De waarde volgt de sensor niet vanzelf.
Begin met de eerste meetwaarde om de hoogste meetwaarde te bewaren. Gebruik voor elke nieuwe waarde:
if reading > highest:
set highest to reading
Bij de meetwaarden 21, 23 en 22 begint hoogste op 21. De waarde verandert naar 23 omdat 23 groter is. Ze blijft 23 wanneer 22 binnenkomt.
Maak een instelling aanpasbaar
Een variabele kan ook een drempelwaarde bewaren. Begin met drempelwaarde op 50. Knop A telt er 10 bij op; knop B trekt er 10 af. Vergelijk de lichtwaarde met de variabele drempelwaarde. Zo kan iemand het nachtlampje afstellen zonder de blokken te veranderen.
Als de vergelijking nog steeds een vaste 50 bevat, verandert er niets als je de variabele aanpast.
Bewaar meetwaarden over een langere tijd
Een datalogger verzamelt en bewaart meetwaarden op vaste momenten. Elke vijf seconden een meting gedurende één minuut geeft 12 meetwaarden, als de eerste na vijf seconden plaatsvindt. Een tabel of grafiek kan laten zien hoe ze veranderden.
Kies de tijd tussen metingen op basis van de verandering. Een bordje bewegen gaat snel, dus moeten de metingen kort na elkaar komen. Een kamer die ’s nachts afkoelt, verandert langzaam, dus kan een tussenpoos van enkele minuten werken.
Belangrijkste punten
- Stel één keer een begintelling in en verander die als er gebeurtenissen plaatsvinden.
- Een opgeslagen meetwaarde blijft bewaard totdat je die bijwerkt.
- Bewaar een hoogste waarde door die alleen te vervangen door een hogere meetwaarde.
- Gebruik een variabele in de vergelijking om een instelling aanpasbaar te maken.
- Een datalogger bewaart meetwaarden op vaste momenten.
- Kies de tijd tussen metingen op basis van hoe snel dingen veranderen.
4Schrijf besturingsprogramma’s die beslissingen nemen
Je apparaat moet veranderingen opmerken nadat het is opgestart. Je zet controles in lussen, maakt van meetwaarden keuzes tussen waar en onwaar en werkt met meerdere voorwaarden. Door een waarde precies op een grenswaarde te testen, zie je of je programma de bedoelde taak uitvoert.
4.1 Laat je apparaat blijven controleren
Een kamer kan donkerder worden nadat een bordje is opgestart. Je programma moet opnieuw controleren om de verandering op te merken. De plek waar je elke instructie zet, is belangrijk.
Stel één keer in en blijf daarna kijken
Gebruik “bij opstarten” voor de voorbereiding. Het kan een teller op nul zetten, een welkomstafbeelding tonen of een modelhek sluiten. Het wordt uitgevoerd als het bordje opstart of wordt teruggezet naar de beginstand.
Gebruik “de hele tijd” om invoer te blijven uitlezen en uitvoer in te stellen. Een gewone ronde leest een sensor uit, neemt een beslissing en verandert uitvoer. Gebeurtenisblokken kunnen ook reageren telkens als hun gebeurtenis plaatsvindt.
Een plantenalarm kan deze stappen herhalen:
- Lees de vochtsensor uit.
- Als de grond droog is, toon dan een verdrietig gezicht en piep.
- Toon anders een blij gezicht.
- Pauzeer 1.000 ms.
Het controleert ongeveer één keer per seconde. De meting hoort ook in de lus. Als je één keer bij het opstarten meet en dat oude getal steeds blijft vergelijken, mis je nieuwe omstandigheden.
Herhaal een vast aantal keren
Een “herhaal”-lus stopt na het gekozen aantal rondes. Om een waarschuwing drie keer te laten knipperen, herhaal je: led aan, pauzeer 200 ms, led uit, pauzeer 200 ms.
Elke ronde wacht 400 ms. Drie rondes wachten samen 1.200 ms, oftewel 1,2 seconden. Na de derde ronde gaat het programma verder met het blok onder de lus. Een oneindige lus zou blijven knipperen.
Wachten beïnvloedt het controleren
Een pauze houdt de instructies in die lus tegen. Tijdens een pauze van tien seconden controleert die lus zijn sensor of knop niet opnieuw. Iemand kan kort op een knop drukken en hem weer loslaten tussen controles door. Andere gebeurtenisblokken kunnen nog wel worden uitgevoerd in editors die gebeurtenissen apart afhandelen.
Een “herhaal tot”-lus controleert zijn voorwaarde tussen de rondes. De lus stopt als bij een controle de voorwaarde waar is. Als de lus controleert of A ingedrukt wordt gehouden, moet A op het moment van een controle ingedrukt zijn.
Geef uitvoer één duidelijke regel
Twee oneindige lussen kunnen hetzelfde lampje op verschillende manieren proberen te besturen. De ene zet het aan; de andere zet het uit. Het lampje kan flikkeren doordat hun instructies om de beurt worden uitgevoerd. Zet de keuzes op één plek, met een voorwaarde die de bedoelde toestand kiest.
Belangrijkste punten
- Zet de voorbereiding in “bij opstarten” en herhaalde metingen in een lus.
- Een tellus eindigt; een oneindige lus blijft doorgaan.
- Een gepauzeerde lus controleert zijn invoer niet.
- Een herhaal-tot-lus controleert tussen de rondes.
- Bestuur uitvoer vanuit één duidelijke reeks keuzes.
4.2 Vertel je apparaat wat het in beide gevallen moet doen
Een sensor geeft een getal. Een voorwaarde maakt van een vergelijking waar of onwaar. Je programma gebruikt dat antwoord om een actie te kiezen.
Lees de vergelijking hardop
| Teken | Lees het als |
|---|---|
| < | Kleiner dan |
| > | Groter dan |
| = | Gelijk aan |
| ≤ | Kleiner dan of gelijk aan |
| ≥ | Groter dan of gelijk aan |
De drempelwaarde is het getal waarbij het gedrag verandert. Gebruik echte meetwaarden van de sensor om die te kiezen.
Laat een nachtlampje in beide gevallen reageren
Gebruik deze beslissing in een oneindige lus:
if light level < 50:
turn LEDs on
else:
turn LEDs off
Bij 15 is de voorwaarde waar, dus gaan de leds aan. Bij 140 is die onwaar, dus gaan ze uit. Deze keuze heet een keuzestructuur.
Volg nu een verandering: eerst is de kamer donker, daarna licht. De eerste controle zet de leds aan. De volgende controle, als het licht is, komt bij anders en zet ze uit. Als je anders weglaat, zet geen enkele instructie ze uit. De eerdere aanstand blijft bestaan.
Test de precieze drempelwaarde
Bij een meetwaarde van 50 is “kleiner dan 50” onwaar. De leds gaan uit. Om 50 mee te laten tellen bij aan, gebruik je “kleiner dan of gelijk aan 50”. Bepaal welk gedrag je nodig hebt voordat je het teken kiest.
Een nuttige reeks tests is 49, 50 en 51. Deze meetwaarden controleren vlak onder, precies op en vlak boven de grenswaarde. Als je alleen een heel donkere en een heel lichte situatie test, kun je een verkeerd gelijkteken over het hoofd zien.
Controleer de richting
Een waarschuwing voor te veel warmte kan “temperatuur > 30” gebruiken. Bij 31 °C toont het scherm “HEET” en klinkt een toon. Bij precies 30 °C toont het scherm “OKÉ”. Bij groter dan telt gelijkheid niet mee.
Voor een nachtlampje zou “licht > 50” de taak omkeren. Het zou branden als het licht is. Zeg de hele regel hardop: “Als de lichtwaarde kleiner is dan 50, zet het lampje dan aan.” Zo verbind je het teken met de actie.
Knoppen kunnen ook voorwaarden geven. “Als A is ingedrukt, motor aan; anders motor uit” kiest bij elke controle een toestand, met behulp van de twee toestanden van de knop.
Belangrijkste punten
- Een voorwaarde heeft waar of onwaar als antwoord.
- Als en anders geven acties voor beide antwoorden.
- Bij de strikte vergelijkingen < en > telt gelijkheid niet mee.
- Test de precieze drempelwaarde en de waarden ernaast.
4.3 Kies uit meer dan twee acties
Sommige apparaten hebben drie keuzes of twee aanwijzingen tegelijk nodig. Je kunt voorwaarden verbinden en beslissingen op volgorde zetten, zodat de uitvoer bij elke situatie past.
Volg een anders-als-keten
Een anders-als-keten controleert van boven naar beneden. De eerste tak waarvan de voorwaarde waar is, wordt uitgevoerd. De latere takken worden overgeslagen.
if temperature < 18:
show "COLD"
else if temperature > 25:
show "HOT"
else:
show "OK"
Bij een meetwaarde van 17 verschijnt “COLD”. Bij 18 is de eerste voorwaarde onwaar. De tweede voorwaarde is ook onwaar, dus verschijnt “OK”. Bij een meetwaarde van 25 verschijnt ook “OK”; bij 26 verschijnt “HOT”. Het middelste bereik bevat zowel 18 als 25.
Zet een strengere controle eerst
Bekijk “als temperatuur > 10, toon WARM; anders als temperatuur > 25, toon HEET”. Bij 30 is de eerste voorwaarde al waar. Het programma toont “WARM” en slaat “HEET” over.
Controleer eerst “groter dan 25” en daarna “groter dan 10”. Bij een hoge meetwaarde kan nu “HEET” verschijnen. Losse als-blokken werken anders: ze kunnen allebei worden uitgevoerd en hetzelfde scherm veranderen. Gebruik één keten als er maar één keuze mag worden uitgevoerd.
Verbind aanwijzingen met en of of
Bij en moeten beide voorwaarden waar zijn. Een tuinlamp kan donkerte en iemand in de buurt vereisen. Gebruik “licht < 50 en afstand < 100 cm”.
| Licht en afstand | Branden? |
|---|---|
| Donker en dichtbij | Ja |
| Donker en ver weg | Nee |
| Licht en dichtbij | Nee |
| Licht en ver weg | Nee |
Bij of moet minstens één voorwaarde waar zijn. Een modelalarm kan piepen als een deur opengaat of een raam opengaat. Het piept als één van beide opengaat en ook als ze allebei opengaan.
Controleer een bereik
Om te vragen of de temperatuur van 18 tot en met 25 is, gebruik je “temperatuur ≥ 18 en temperatuur ≤ 25”. Een meetwaarde van 20 voldoet aan beide controles. Bij 27 is de controle van de bovengrens onwaar.
Als je hier of zou gebruiken, zou elke meetwaarde worden geaccepteerd: zelfs 40 is minstens 18. Test beide uiteinden en een waarde buiten elk uiteinde. Test voor de thermometer met drie meldingen 17, 18, 25 en 26 om alle takken te bereiken en beide grenswaarden te controleren.
Belangrijkste punten
- Een anders-als-keten voert de eerste tak uit waarvan de voorwaarde waar is.
- Controleer een strengere overlappende voorwaarde eerst.
- Bij en moeten beide voorwaarden waar zijn; bij of minstens één.
- Gebruik en om een waarde tussen twee grenzen te houden.
- Test elke tak en beide kanten van elke grenswaarde.
5Ontwerp, bouw en test een apparaat dat een probleem oplost
Een handig apparaat heeft een duidelijke taak voor een echt persoon. Je zet die taak om in een plan, sluit de onderdelen aan, programmeert ze en test het voltooide model. Een opgeschreven testresultaat helpt je een storing te vinden en één verandering te kiezen die het apparaat beter laat werken.
5.1 Bedenk een handig apparaat
Een slim apparaat begint bij wat iemand nodig heeft. Bepaal voordat je blokken of onderdelen kiest wie het gaat gebruiken en welk probleem het moet oplossen.
Schrijf dingen op die je kunt controleren
Ontwerpeisen zeggen wat een geslaagd apparaat moet doen. “Maak een goed lampje” is moeilijk te testen. “Het lampje gaat binnen twee seconden aan nadat het donker wordt” geeft je een duidelijke controle. Vraag je af waar het apparaat komt te staan en hoe mensen het gaan bedienen.
Begin met een eenvoudige versie. Voeg extra functies toe nadat de belangrijkste taak werkt. Een apparaat met veel onafgemaakte functies lost het oorspronkelijke probleem misschien nooit op.
Bedenk een plantenherinnering
De klassenplant droogt steeds uit. Je wilt een herinnering die iemand vertelt de plant water te geven.
| Stap | Plan |
|---|---|
| Invoer | Vochtsensor in de grond |
| Verwerking | Controleer elke tien minuten; vergelijk met de drempelwaarde voor droogte |
| Uitvoer | Verdrietig gezicht en korte piep bij droogte; anders een blij gezicht |
| Bediening door mensen | Een knop zet de piep uit totdat de plant water krijgt |
Onderzoek de sensor eerst in natte en droge grond. Gebruik die meetwaarden om de drempelwaarde te kiezen. Een getal dat voor de ene vochtsensor werkt, kan op een andere iets anders betekenen.
De knop om het geluid uit te zetten heeft een instelling nodig die wordt onthouden. Als de knop eenmaal is ingedrukt, houdt het programma de piep stil zolang de grond droog blijft. Als het apparaat merkt dat de plant water krijgt, wist het die instelling voor de volgende keer. Anders zou één druk elke toekomstige waarschuwing kunnen stilzetten.
Teken of schrijf het algoritme
Een algoritme bestaat uit de stappen die je programma volgt. Schrijf genummerde stappen op of teken een stroomschema. In een stroomschema geeft een ovaal de start aan. Een rechthoek toont een actie. Een ruit stelt een ja-of-neevraag. Pijlen met een aanduiding laten zien welk pad je volgt en een pijl terug toont een herhaling.
Voor een modelhek kan het plan zijn: controleer of er een dier dichtbij is; open het hek; wacht tien seconden; sluit het hek; ga terug naar de controle. Een servomotor zorgt voor de twee standen. Probeer het plan met een speelgoeddier voordat je het model bouwt.
Denk aan moeilijke momenten
Wat gebeurt er als beide knoppen worden ingedrukt? Wat als een meetwaarde gelijk is aan de drempelwaarde? Kan de gebruiker het apparaat stoppen? Voeg tests voor deze gevallen toe aan je plan. Een datalogger in een kas, een deuralarm en een wagentje dat bij muren stopt, hebben allemaal andere invoer en andere controles nodig.
Belangrijkste punten
- Begin bij de gebruiker, de plek en het probleem.
- Schrijf eisen op die je kunt testen.
- Kies invoer en uitvoer die bij de taak passen.
- Plan beslissingen en herhalingen voordat je gaat programmeren.
- Bouw de belangrijkste functie voordat je extra’s toevoegt.
5.2 Stuur je programma naar het echte bordje
De simulator kan je helpen om je blokken uit te proberen. Het echte apparaat heeft ook passende aansluitingen, stroom en de nieuwste kopie van je programma nodig.
Sluit zorgvuldig aan
Zet de stroom uit of haal de stekker los voordat je aansluitingen verandert. Houd elektronica droog en gebruik het batterijpakket dat bij je bouwpakket hoort. Vertel het aan een volwassene als iets heet wordt, vreemd ruikt of een beschadigde batterij heeft.
Volg de afbeeldingen met aansluitingen van je bouwpakket. Zorg dat de aanduidingen van aansluitpinnen of aansluitingen overeenkomen met het programma. Sommige bordjes gebruiken getallen zoals 0, 1 en 2; andere gebruiken letters. Voeding en massa hebben hun eigen aanduidingen. Massa wordt vaak aangeduid met “GND” of “−”.
Sommige onderdelen, waaronder veel leds, werken maar op één manier aangesloten. Laat de aanduidingen + en − van het bouwpakket overeenkomen. Maak klemmen stevig vast en houd hun metalen uiteinden uit elkaar. Klemmen die elkaar raken, kunnen plekken verbinden die gescheiden moeten blijven.
Controleer de aansluitpin in het programma
Een led is aangesloten op aansluitpin 1. Het programma zegt “zet aansluitpin 0 aan”. Het programma kan worden uitgevoerd zonder een fout te melden, maar de led blijft uit.
- Zoek de aansluiting van de led in het plan van het bouwpakket.
- Lees de aanduiding van de aansluitpin: 1.
- Verander het uitvoerblok naar aansluitpin 1.
- Stuur het aangepaste programma naar het bordje.
De aansluiting van de hardware en de instructie in de software wijzen nu naar dezelfde plek.
Download en probeer het uit
Een programma downloaden betekent dat je het naar het bordje stuurt. Veel bordjes gebruiken een USB-kabel; sommige ondersteunen ook Bluetooth. Een opgeslagen verandering in je editor werkt het bordje pas bij als je het programma opnieuw verstuurt.
Probeer eerst een heel klein programma, zoals het tonen van een hartje. Controleer of het echte bordje het uitvoert. Stuur daarna het programma voor je apparaat. De meeste bordjes voor in de klas bewaren hun programma nadat ze zijn losgekoppeld en voeren het opnieuw uit als ze stroom krijgen.
Bouw rond de onderdelen
Houd een lichtsensor vrij. Plaats de pennen van een vochtsensor in de grond. Maak een motor stevig vast en laat genoeg draad over voor bewegende onderdelen. Een sensor die verborgen zit onder het dak van je model kan het licht dat je bedoelde niet meten.
Een simulator is een model op het scherm. Hij helpt je de logica van je programma te controleren, maar de meetwaarden en beweging kunnen verschillen van die van het echte apparaat. Een zwaarder hek kan langzaam bewegen. Een licht raam kan de meetwaarden van de sensor veranderen. Test het model op de plek waar mensen het gaan gebruiken.
Belangrijkste punten
- Volg het aansluitplan van het bouwpakket en laat de aanduidingen van de aansluitpinnen overeenkomen.
- Stuur het programma opnieuw nadat je het hebt aangepast.
- Probeer een heel klein programma om het echte bordje te controleren.
- Plaats onderdelen zo dat ze vrij kunnen waarnemen en bewegen.
5.3 Test, zoek de storing en verbeter
Als een apparaat één keer werkt, is dat een goed begin. Door te testen controleer je of het zijn taak in verschillende situaties uitvoert, ook in lastige situaties.
Vergelijk verwachte en werkelijke resultaten
Het verwachte resultaat is wat er moet gebeuren. Het werkelijke resultaat is wat er echt gebeurde. Schrijf beide op, zodat je kunt uitleggen waarom een test is geslaagd of mislukt.
Voor een nachtlampje met “licht < 50” kan een testtabel er zo uitzien:
| Test | Verwacht resultaat |
|---|---|
| Dek de sensor af; meetwaarde ongeveer 15 | Leds aan |
| Haal de bedekking van de sensor weg; meetwaarde ongeveer 140 | Leds uit |
| Geef een meetwaarde van precies 50 | Leds uit |
| Dek af en haal de bedekking daarna weg | Aan en daarna uit |
Voeg een kolom voor het werkelijke resultaat toe als je de tests uitvoert. De laatste test controleert een verandering in de loop van de tijd. Daarmee kun je een ontbrekende anders-tak ontdekken die je bij twee aparte tests vanaf het opstarten mist.
Test elke invoer en elke tak. Test ook waarden op grenswaarden en acties zoals een knop ingedrukt houden of beide knoppen indrukken. Test zowel op de echte plek als in de simulator.
Zoek steeds één oorzaak
Een storing, of programmeerfout (bug), zorgt ervoor dat het werkelijke resultaat verschilt van het verwachte resultaat. Die kan in de hardware of in de software zitten.
- Hardware: losse klem, verkeerde aansluitpin, bijna lege batterij, verkeerd om aangesloten onderdeel, afgedekte sensor.
- Software: verkeerde vergelijking, ontbrekende anders-tak, oud programma, ongeschikte drempelwaarde, controle buiten een lus.
Gebruik een duidelijke zoekvolgorde:
- Beschrijf precies wat er misgaat en wanneer.
- Controleer de stroom en of het nieuwste programma is verstuurd.
- Controleer elke aansluiting aan de hand van het plan.
- Test één onderdeel met een heel klein programma.
- Toon de meetwaarden van de sensor en controleer de beslisregel.
- Verander één ding en herhaal daarna de mislukte test.
Gebruik meetwaarden om een fout te verklaren
Een nachtlampje gaat nooit aan. De meetwaarde is 70 als de sensor is afgedekt en 160 als hij niet is afgedekt. Het programma gebruikt “licht < 50”. Beide meetwaarden voldoen niet aan die voorwaarde.
Probeer een drempelwaarde van 110. Nu voldoet 70 wel en 160 niet. Test beide situaties opnieuw. De verandering van de drempelwaarde verklaart deze storing; als je meerdere onderdelen tegelijk zou vervangen, zou je niet weten welke verandering hielp.
Beoordeel het voltooide apparaat
Om het apparaat te beoordelen, vergelijk je het met elke ontwerpeis. Vraag de gebruikers om het uit te proberen. Een felle waarschuwing kan voor de ene persoon goed werken, maar vanaf de zitplaats van een ander niet zichtbaar zijn. Gebruik hun feedback en je resultaten om de volgende verbetering te kiezen.
Belangrijkste punten
- Schrijf op wat er moet gebeuren en wat er echt gebeurde.
- Test veranderingen in de loop van de tijd, grenswaarden en elke tak.
- Storingen kunnen in hardware of software zitten.
- Gebruik heel kleine programma’s en zichtbare meetwaarden om een storing gerichter te zoeken.
- Verander één ding en test opnieuw.
- Beoordeel het apparaat aan de hand van de eisen en vraag gebruikers om het uit te proberen.
Microcontroller programmeren: voorbeelden
1Volg de verborgen computer van een machine
9 stappen
- 1IntroductieEen machine merkt je op
Een automatische deur gaat open als je dichterbij komt. Je draait niet aan een deurklink, maar verschillende onderdelen werken samen. Een verborgen ingebouwde computer bestuurt de deur.
Volg de informatie van de persoon die dichterbij komt (invoer), via het programma (verwerking), tot aan de bewegende deur (uitvoer). Gebruik daarna dezelfde ideeën om een ander apparaat uit te leggen.
- 2UitlegKijk in de machine
Een ingebouwde computer zit in een machine om die te besturen. Een wasmachine en een robotstofzuiger hebben er allebei een. Je bordje in de klas voert ook een programma uit. De microcontroller is een piepkleine computer op één chip, met aansluitingen voor andere onderdelen op het bordje.
- 3VoorbeeldZoek het bewegende onderdeel
Bij de winkel merkt een sensor dat je dichtbij bent. De computer volgt zijn regel om de deur te openen. Een motor schuift de deur open. De computer heeft die regel niet zelf bedacht: iemand heeft hem geschreven. Een fout in het programma kan ervoor zorgen dat de machine zich verkeerd gedraagt.
- 4UitdagingVerander de wachttijd van de deur
Dezelfde automatische deur moet langer wachten voordat die sluit. De motor en sensor werken. Moet je de hardware of software veranderen, en waarom?
---reveal---
Verander de software: het programma bepaalt de wachttijd. De werkende motor en sensor zijn hardware en kunnen de aangepaste instructies uitvoeren.
- 5UitlegGeef elk onderdeel een taak
Invoer geeft informatie aan de computer. Bij verwerking volgt de computer het programma en kiest hij een actie. Uitvoer voert die actie uit. Bij de deur levert het waarnemen van een persoon dichtbij invoer, verwerkt het programma die en zorgt de motor voor beweging als uitvoer.
- 6AnalogieBewaar een notitie voor later
Denk bij opslag aan het bewaren van een notitie die je later kunt gebruiken. Een bordje bewaart zijn programma en nuttige waarden. Een teller onthoudt het eerdere getal voordat er een volgende gebeurtenis bij wordt opgeteld. De naam van de opslagplek helpt het programma die waarde terug te vinden.
- 7UitdagingDeel de onderdelen van speelgoed in
Een speelgoedapparaat hoort een klap en toont een glimlach. Het heeft een microfoon, een computer die een regel uitvoert, een scherm en een batterij. Welk onderdeel levert invoer en welk onderdeel levert stroom?
---reveal---
De microfoon levert invoer over geluid. De batterij levert stroom. Het scherm geeft uitvoer nadat de computer de informatie over de klap heeft verwerkt.
- 8UitdagingVoeg een keuze voor mensen toe
Bij het klapspeelgoed moet je kunnen kiezen hoe hard een klap moet zijn. Welke bediening voor mensen kun je toevoegen en welk deel van het systeem zou de instelling gebruiken?
---reveal---
Met knoppen kun je de gekozen grens verhogen of verlagen. Het programma zou die instelling gebruiken tijdens de verwerking, wanneer het de meetwaarde van de microfoon vergelijkt. Het scherm kan de uitvoer blijven.
- 9SamenvattingVolg de stappen voordat je bouwt
Om een apparaat uit te leggen, benoem je wat het opmerkt, wat het programma beslist en welk onderdeel handelt. Noem ook waarden die het onthoudt en keuzes die mensen bepalen. Een machine heeft geen scherm nodig om een computer te hebben; kijk naar het werk dat de onderdelen samen doen.
2Maak signalen met licht, geluid en beweging
13 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieLaat je bordje een boodschap sturen
- 2UitlegHoud een lichttoestand vast
- 3VoorbeeldMaak één cyclus van het baken
- 4UitdagingHerstel de verdwijnende flits
- 5UitlegKies toonhoogte en duur
- 6VoorbeeldStem een begroeting en een afbeelding op elkaar af
- 7UitdagingMaak een andere noot
- 8UitlegDraai naar een vlagstand
- 9VoorbeeldBreng de vlag omhoog
- 10VoorbeeldMaak de beweging af
- 11UitdagingKies hoe het wiel stopt
- 12UitdagingVolg het signaal van de post
- 13SamenvattingControleer wat doorgaat
3Laat een badge waarnemen en onthouden
15 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieGeef een badge nuttige invoer
- 2UitlegLees een druk op de knop één keer
- 3VoorbeeldBlijf een ingedrukte knop controleren
- 4UitdagingKies een actie voor een folieaanraakvlak
- 5UitlegVerbind een meetwaarde met haar betekenis
- 6VoorbeeldVerzamel twee groepen meetwaarden
- 7VoorbeeldKies een bruikbare grenswaarde
- 8UitdagingKies een sensor voor een nieuwe taak
- 9AnalogieGeef een waarde een naam
- 10VoorbeeldBegin een bewegingstelling
- 11VoorbeeldBewaar één meetwaarde
- 12UitdagingVolg de onthouden hoogste waarde
- 13VerbandLeg gegevens over een langere tijd vast
- 14UitdagingGeef de badge een instelknop
- 15SamenvattingBewaar de juiste informatie
4Maak een indicator voor een veranderende kamer
14 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieMerk op wanneer een kamer verandert
- 2UitlegGebruik het opstarten voor de voorbereiding
- 3VoorbeeldKies de tijd tussen controles
- 4UitdagingZoek de verouderde meetwaarde
- 5UitlegKies waar of onwaar
- 6VoorbeeldVolg veranderende invoer
- 7UitdagingTest de precieze grens
- 8VoorbeeldVoeg een boodschap voor koud toe
- 9KernpuntHoud gelijkheid in het midden
- 10UitdagingHerstel de volgorde
- 11UitlegVerbind twee aanwijzingen
- 12UitdagingControleer een bereik in het midden
- 13UitdagingVolg de volledige indicator
- 14SamenvattingProbeer de paden die bij een grens samenkomen
5Bedenk en test een herinnering voor een boekenplank
12 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBouw voor een echte plek
- 2UitlegKies een duidelijke test om te zien of het lukt
- 3VoorbeeldPlan de weg van de informatie
- 4UitdagingVerbeter een vage eis
- 5VoorbeeldVolg het aansluitplan
- 6TipVerstuur elke aangepaste versie
- 7UitdagingLaat de sensor zijn werk doen
- 8VoorbeeldSchrijf beide resultaten op
- 9VoorbeeldGebruik de resultaten om een storing te vinden
- 10UitdagingKies een nuttige nieuwe test
- 11UitdagingKies de volgende verbetering
- 12SamenvattingLaat testresultaten de volgende verandering bepalen
Microcontroller programmeren: oefenvragen
Set 1: Kies onderdelen en volg veranderende waarden10 Oefenvragen
Vraag 1 van 10
Toon antwoordVerberg antwoord
Vraag 2 van 10
Toon antwoordVerberg antwoord
Vraag 3 van 10
Toon antwoordVerberg antwoord
Vraag 4 van 10
Toon antwoordVerberg antwoord
Vraag 5 van 10
Toon antwoordVerberg antwoord
Vraag 6 van 10
Toon antwoordVerberg antwoord
Vraag 7 van 10
Toon antwoordVerberg antwoord
Vraag 8 van 10
Toon antwoordVerberg antwoord
Vraag 9 van 10
Toon antwoordVerberg antwoord
Vraag 10 van 10
Toon antwoordVerberg antwoord
Set 2: Volg signalen en eenvoudige programma’s10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 3: Voorspel reacties en vind ontbrekende stappen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 4: Volg een heel apparaat van begin tot eind10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 5: Los problemen op in nieuwe apparaatontwerpen10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
Aansluitpin
Actuator
Afstandssensor
Algoritme
Anders-als-keten
Anders-tak
Apparaten programmeren
B
Beoordeling
Bereikcontrole
Besturingsprogramma
Bij opstarten
D
Datalogger
Download
Drempelwaarde
Duur
E
En
F
Frequentie
G
Gebeurtenis
H
Hardware
I
Ingebouwde computer
Invoer
K
Keuzestructuur
Knoptoestand
L
Led
Lichtsensor
M
Maakdrukknop
Massa
Meetwaarde
Melodie
Microcontroller
Milliseconde
Motor
Motortoerental
O
Of
Omgekeerde draairichting
Oneindige lus
Ontwerpeisen
Opgeslagen meetwaarde
Opslag
P
Pauze
R
Robot
S
Scherm
Sensor
Servomotor
Simulator
Software
Storing
Stroomschema
Systeem
T
Teller
Tellus
Temperatuursensor
Toonhoogte
Tuimelschakelaar
U
Uitvoer
V
Variabele
Versnellingssensor
Verwacht resultaat
Verwerking
Vochtsensor
Voorwaarde
W
Werkelijk resultaat
Z
Zoemer
Over deze les
Door StudeliFout melden
Maak je eigen Studiemateriaal
Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.