Microcontroller programmeren: dingen die waarnemen en bewegen

Programmeer een klein computerbordje zodat het reageert op de echte wereld. Je ontdekt de computers die verborgen zitten in alledaagse machines, laat lampjes knipperen, speelt geluiden af en bestuurt motoren. Ook lees je knoppen en sensoren uit die licht, temperatuur, geluid en beweging meten. Daarna schrijf je besturingsprogramma’s die blijven controleren en beslissingen nemen met als-dan-anders. Je bedenkt, bouwt en test je eigen slimme apparaat, zoals een nachtlampje, een stappenteller of een automatisch hek, totdat het werkt op de plek waar het echt wordt gebruikt.

Groep 7, Groep 8Les 8 van 10 in Cursus Programmeren en digitale geletterdheid voor 7 tot 11 jaar

Wat je leert

  1. 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 zitten
      Leer wat apparaten programmeren en microcontrollers zijn en zoek de computers die overal om je heen machines besturen.
    • Volg invoer, verwerking en uitvoer in een systeem
      Verdeel een apparaat in invoer, verwerking en uitvoer en leg uit hoe de onderdelen en de mensen die het gebruiken samenwerken.
  2. 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 oplichten
      Zet lampjes aan en uit, laat ze met pauzes knipperen en toon afbeeldingen, getallen en woorden op een scherm.
    • Maak geluiden en melodieën
      Speel 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 motoren
      Programmeer motoren om te starten, te stoppen, van richting en snelheid te veranderen en gebruik een servomotor om iets naar een precieze stand te draaien.
  3. 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 invoer
      Laat 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 sensoren
      Kies 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 variabelen
      Gebruik variabelen om gebeurtenissen te tellen, meetwaarden te onthouden, een apparaat instelbaar te maken en gegevens over een langere tijd vast te leggen.
  4. 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 lussen
      Stel 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 anders
      Zet 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 bereiken
      Gebruik anders-als-ketens, “en” en “of” zodat een apparaat meer dan twee situaties kan onderscheiden, en test elke tak.
  5. 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 probleem
      Beschrijf 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 uit
      Sluit 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 storingen
      Plan 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.

Microcontroller programmeren: uitleg

5 hoofdstukken

1

Ontdek 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
SoortWat het betekentVoorbeelden
HardwareOnderdelen die je kunt aanrakenBordje, draden, knop, motor
SoftwareInstructies die de computer uitvoertEen 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.

  1. Een sensor merkt dat er iemand dichtbij is.
  2. De computer volgt zijn programma en kiest ervoor om de deur te openen.
  3. Een motor schuift de deur open.
  4. 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 nachtlampjeTaak
LichtsensorInvoer: meten hoe licht het is
Computer die een programma uitvoertVerwerking: controleren of de meetwaarde lager is dan 40
LedsUitvoer: 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.
2

Bestuur 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:

  1. Zet de led aan.
  2. Pauzeer 500 ms.
  3. Zet de led uit.
  4. 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”:

  1. Speel 523 Hz gedurende één tel.
  2. 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
GeluidsblokWat het volgende blok doet
Speel af tot het klaar isWacht totdat het geluid is afgelopen
Speel af op de achtergrondBegint 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.

TaakHandige motor
Een ventilator of wiel laten draaienDraaimotor
Een vlag naar een gekozen hoek brengenServomotor
Een modelhek tussen twee standen bewegenServomotor
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”:

  1. Zet de servomotor op 90 graden.
  2. Pauzeer 5.000 ms.
  3. 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.
3

Lees 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 wiltKeuze in het programma
Eén actie voor elke drukEen knopgebeurtenis
Een actie zolang de knop ingedrukt isEen 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 opmerkenHandige sensor
Hoe licht het isLichtsensor
TemperatuurTemperatuursensor
Hoe hard het geluid isMicrofoon of geluidssensor
Hoe nat de grond isVochtsensor
Hoe ver een voorwerp weg isAfstandssensor
Schudden of kantelenVersnellingssensor
Welke kant het bordje op wijstKompas

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:

  1. Toon de lichtwaarde terwijl de kamer licht is: ongeveer 140.
  2. Dek de sensor af en lees opnieuw af: ongeveer 15.
  3. Kies een drempelwaarde daartussen, bijvoorbeeld 50.
  4. 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.
4

Schrijf 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:

  1. Lees de vochtsensor uit.
  2. Als de grond droog is, toon dan een verdrietig gezicht en piep.
  3. Toon anders een blij gezicht.
  4. 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
TekenLees 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 afstandBranden?
Donker en dichtbijJa
Donker en ver wegNee
Licht en dichtbijNee
Licht en ver wegNee

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.
5

Ontwerp, 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.

StapPlan
InvoerVochtsensor in de grond
VerwerkingControleer elke tien minuten; vergelijk met de drempelwaarde voor droogte
UitvoerVerdrietig gezicht en korte piep bij droogte; anders een blij gezicht
Bediening door mensenEen 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.

  1. Zoek de aansluiting van de led in het plan van het bouwpakket.
  2. Lees de aanduiding van de aansluitpin: 1.
  3. Verander het uitvoerblok naar aansluitpin 1.
  4. 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:

TestVerwacht resultaat
Dek de sensor af; meetwaarde ongeveer 15Leds aan
Haal de bedekking van de sensor weg; meetwaarde ongeveer 140Leds uit
Geef een meetwaarde van precies 50Leds uit
Dek af en haal de bedekking daarna wegAan 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:

  1. Beschrijf precies wat er misgaat en wanneer.
  2. Controleer de stroom en of het nieuwste programma is verstuurd.
  3. Controleer elke aansluiting aan de hand van het plan.
  4. Test één onderdeel met een heel klein programma.
  5. Toon de meetwaarden van de sensor en controleer de beslisregel.
  6. 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

5 Walkthroughs

1

Volg de verborgen computer van een machine

9 stappen
Volg hoe een machine waarneemt, haar programma volgt en handelt.
  1. 1
    IntroductieEen 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.

  2. 2
    UitlegKijk 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.

  3. 3
    VoorbeeldZoek 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.

  4. 4
    UitdagingVerander 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.

  5. 5
    UitlegGeef 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.

  6. 6
    AnalogieBewaar 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.

  7. 7
    UitdagingDeel 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.

  8. 8
    UitdagingVoeg 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.

  9. 9
    SamenvattingVolg 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.

2

Maak signalen met licht, geluid en beweging

13 stappen
Doorloop een knipperend baken, een begroeting en een bewegende vlag.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieLaat je bordje een boodschap sturen
  2. 2
    UitlegHoud een lichttoestand vast
  3. 3
    VoorbeeldMaak één cyclus van het baken
  4. 4
    UitdagingHerstel de verdwijnende flits
  5. 5
    UitlegKies toonhoogte en duur
  6. 6
    VoorbeeldStem een begroeting en een afbeelding op elkaar af
  7. 7
    UitdagingMaak een andere noot
  8. 8
    UitlegDraai naar een vlagstand
  9. 9
    VoorbeeldBreng de vlag omhoog
  10. 10
    VoorbeeldMaak de beweging af
  11. 11
    UitdagingKies hoe het wiel stopt
  12. 12
    UitdagingVolg het signaal van de post
  13. 13
    SamenvattingControleer wat doorgaat
3

Laat een badge waarnemen en onthouden

15 stappen
Gebruik een druk op knoppen, meetwaarden van sensoren en variabelen om een reagerende badge te bouwen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieGeef een badge nuttige invoer
  2. 2
    UitlegLees een druk op de knop één keer
  3. 3
    VoorbeeldBlijf een ingedrukte knop controleren
  4. 4
    UitdagingKies een actie voor een folieaanraakvlak
  5. 5
    UitlegVerbind een meetwaarde met haar betekenis
  6. 6
    VoorbeeldVerzamel twee groepen meetwaarden
  7. 7
    VoorbeeldKies een bruikbare grenswaarde
  8. 8
    UitdagingKies een sensor voor een nieuwe taak
  9. 9
    AnalogieGeef een waarde een naam
  10. 10
    VoorbeeldBegin een bewegingstelling
  11. 11
    VoorbeeldBewaar één meetwaarde
  12. 12
    UitdagingVolg de onthouden hoogste waarde
  13. 13
    VerbandLeg gegevens over een langere tijd vast
  14. 14
    UitdagingGeef de badge een instelknop
  15. 15
    SamenvattingBewaar de juiste informatie
4

Maak een indicator voor een veranderende kamer

14 stappen
Bouw een besturingsprogramma dat blijft controleren en de juiste boodschap kiest.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieMerk op wanneer een kamer verandert
  2. 2
    UitlegGebruik het opstarten voor de voorbereiding
  3. 3
    VoorbeeldKies de tijd tussen controles
  4. 4
    UitdagingZoek de verouderde meetwaarde
  5. 5
    UitlegKies waar of onwaar
  6. 6
    VoorbeeldVolg veranderende invoer
  7. 7
    UitdagingTest de precieze grens
  8. 8
    VoorbeeldVoeg een boodschap voor koud toe
  9. 9
    KernpuntHoud gelijkheid in het midden
  10. 10
    UitdagingHerstel de volgorde
  11. 11
    UitlegVerbind twee aanwijzingen
  12. 12
    UitdagingControleer een bereik in het midden
  13. 13
    UitdagingVolg de volledige indicator
  14. 14
    SamenvattingProbeer de paden die bij een grens samenkomen
5

Bedenk en test een herinnering voor een boekenplank

12 stappen
Ga met een modelapparaat van de behoefte van een gebruiker naar tests en verbeteringen in de echte wereld.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBouw voor een echte plek
  2. 2
    UitlegKies een duidelijke test om te zien of het lukt
  3. 3
    VoorbeeldPlan de weg van de informatie
  4. 4
    UitdagingVerbeter een vage eis
  5. 5
    VoorbeeldVolg het aansluitplan
  6. 6
    TipVerstuur elke aangepaste versie
  7. 7
    UitdagingLaat de sensor zijn werk doen
  8. 8
    VoorbeeldSchrijf beide resultaten op
  9. 9
    VoorbeeldGebruik de resultaten om een storing te vinden
  10. 10
    UitdagingKies een nuttige nieuwe test
  11. 11
    UitdagingKies de volgende verbetering
  12. 12
    SamenvattingLaat testresultaten de volgende verandering bepalen

Microcontroller programmeren: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Kies onderdelen en volg veranderende waarden10 Oefenvragen

Vraag 1 van 10

Twee speelgoedwagentjes bewegen. Het ene volgt knoppen op een afstandsbediening. Het andere neemt een doos waar en draait ervan weg. Waardoor gedraagt het tweede zich als een robot?
  1. Het krijgt zijn richting van een afstandsbediening.
  2. Het heeft bewegende wielen aan een aangedreven motor.
  3. Het gebruikt waargenomen informatie om zijn beweging te kiezen.
  4. Het beweegt als iemand een stuurcommando geeft.
Toon antwoordVerberg antwoord
Antwoord: C
Het tweede wagentje neemt zijn omgeving waar en volgt een programma om te reageren. Beweging alleen is niet genoeg om dat aan te tonen. Het wagentje met afstandsbediening krijgt zijn stuurkeuzes van de persoon die op de knoppen drukt.

Vraag 2 van 10

De kop van een modeluil moet naar een gekozen hoek wijzen en daar blijven. Welke uitvoer past daarbij?
  1. Een servomotor
  2. Een draaiende wielmotor
  3. Een geluidszoemer
  4. Een ledscherm
Toon antwoordVerberg antwoord
Antwoord: A
Een servomotor beweegt naar een gekozen stand en houdt die vast. Een draaimotor blijft draaien zolang hij stroom krijgt. Met de gebruikelijke besturing van richting en snelheid stel je dus geen vaste hoek voor de kop in. De uil heeft besturing van de stand nodig.

Vraag 3 van 10

Een scherm toont een boom, pauzeert twee seconden en toont dan een maan. Er is geen blok om het scherm te wissen. Wat is er tijdens de pauze zichtbaar?
  1. De maan
  2. De boom
  3. Een leeg scherm
  4. Beide afbeeldingen samen
Toon antwoordVerberg antwoord
Antwoord: B
De boom blijft staan totdat een latere instructie het scherm verandert. De pauze laat het programma wachten voordat het de instructie voor de maan bereikt. Voor een leeg scherm is een wisinstructie nodig; wachten alleen wist de boom niet.

Vraag 4 van 10

Een teller begint op 0. Een druk op A telt er 1 bij op; B zet de teller terug op 0. Je drukt op A, A, B, A, A, A. Welke waarde blijft over?
  1. 2
  2. 5
  3. 6
  4. 3
Toon antwoordVerberg antwoord
Antwoord: D
De eerste twee drukken op A verhogen de teller naar 2. B wist die waarde en de volgende drie drukken op A laten 3 over. Met het antwoord 5 tel je alle drukken op A, maar mis je het terugzetten in het midden.

Vraag 5 van 10

Een sensor in een kast geeft 20–24 als de kast dicht is en 150–155 als de kast open is. Je waarschuwing moet aangaan als de kast opengaat. Welke regel maakt onderscheid tussen de meetwaarden?
  1. Waarschuw als de lichtwaarde kleiner is dan 90.
  2. Waarschuw als de lichtwaarde groter is dan 160.
  3. Waarschuw als de lichtwaarde kleiner is dan 15.
  4. Waarschuw als de lichtwaarde groter is dan 90.
Toon antwoordVerberg antwoord
Antwoord: D
De meetwaarden bij een open kast liggen allemaal boven 90, terwijl de waarden bij een dichte kast eronder liggen. Deze regel geeft in beide situaties de bedoelde waarschuwing. “Kleiner dan 90” maakt ook onderscheid tussen de groepen, maar waarschuwt juist bij een dichte kast.

Vraag 6 van 10

Een thermometer gebruikt “als temp > 12 toon MILD; anders als temp > 27 toon HEET; anders toon KOEL”. De testwaarden zijn 9, 20 en 32. Welke boodschappen verschijnen in die volgorde?
  1. KOEL, MILD, HEET
  2. KOEL, MILD, MILD
  3. MILD, MILD, HEET
  4. KOEL, HEET, HEET
Toon antwoordVerberg antwoord
Antwoord: B
Bij 9 zijn beide voorwaarden onwaar, dus toont het scherm “KOEL”. Bij 20 en 32 is de eerste voorwaarde waar en verschijnt “MILD”. Zelfs bij 32 bereikt het programma de latere controle voor heet niet, omdat een anders-als-keten stopt bij de eerste tak waarvan de voorwaarde waar is.

Vraag 7 van 10

Wat gebeurt er bij 44 cm met “als afstand < 45 dan stop, anders beweeg”?
  1. De motor stopt.
  2. De motor beweegt.
  3. Het programma start opnieuw.
  4. De sensor gaat uit.
Toon antwoordVerberg antwoord
Antwoord: A
44 is kleiner dan 45, dus is de voorwaarde waar en wordt de stopinstructie uitgevoerd. Bewegen gebeurt als de vergelijking onwaar is, ook bij precies 45. Lees het teken als “kleiner dan” voordat je de actie kiest.

Vraag 8 van 10

Een apparaat met een vlag werkt in de simulator. Op het echte model kan de servomotor de zware vlag niet helemaal bewegen. Welke test controleert het beste of het gewicht van de vlag het probleem is?
  1. Een lichtere vlag in de simulator
  2. De oorspronkelijke vlag in de simulator
  3. Een lichtere vlag op het echte model
  4. De oorspronkelijke vlag met een kortere wachttijd
Toon antwoordVerberg antwoord
Antwoord: C
Door het gewicht van de vlag op het echte model te veranderen, test je of de belasting het probleem veroorzaakt. De simulator geeft dit zware model niet nauwkeurig weer. Een kortere wachttijd verandert de timing, maar vermindert niet het gewicht dat de servomotor moet bewegen.

Vraag 9 van 10

In een stroomschema voor een pakketalarm, in welke vorm hoort “Is er een pakket dichtbij?”
  1. Een rechthoek
  2. Een ruit
  3. Een startovaal
  4. Een pijl
Toon antwoordVerberg antwoord
Antwoord: B
De vraag heeft ja of nee als antwoord en hoort dus in een beslisruit. Geef de uitgaande paden de aanduidingen “ja” en “nee”. Een rechthoek beschrijft een actie, zoals een toon afspelen, niet de keuze tussen twee paden.

Vraag 10 van 10

Een lus pauzeert 1.500 ms, controleert of A ingedrukt wordt gehouden en pauzeert dan 2.500 ms voordat hij herhaalt. Je houdt A ingedrukt van seconde 1 tot 2 en opnieuw van seconde 4 tot 5. Wat stellen de eerste twee controles vast als je de uitvoertijd van de blokken niet meetelt?
  1. Eerst ingedrukt, daarna losgelaten.
  2. Eerst losgelaten, daarna ingedrukt.
  3. Beide keren ingedrukt.
  4. Beide keren losgelaten.
Toon antwoordVerberg antwoord
Antwoord: A
De eerste controle gebeurt na 1,5 seconden, terwijl je de knop voor het eerst ingedrukt houdt. Een volledige ronde duurt vier seconden, dus is de volgende controle na 5,5 seconden, nadat je de knop voor de tweede keer hebt losgelaten. Als je denkt dat de tweede controle bij seconde 4 plaatsvindt, mis je de eerste pauze in de nieuwe ronde.
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

Een wasmachine voert een opgeslagen wasprogramma uit zonder scherm. Hoe kan de wasmachine die stappen volgen?
  1. De gebruiker moet elke stap steeds met de hand kiezen.
  2. Een ingebouwde computer voert er instructies uit.
  3. De motor bewaart en leest de wasinstructies.
  4. De knoppen verwerken elke stap van het wassen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een modelbrug laat een lampje branden als een boot dichterbij komt. Wat is de rol van het lampje?
  1. Invoerapparaat
  2. Opslagapparaat
  3. Verwerkingsapparaat
  4. Uitvoerapparaat
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Je ledprogramma herhaalt “aan; pauzeer 300 ms; uit; pauzeer 700 ms”. Hoe lang duurt één volledige knippercyclus?
  1. 1 seconde
  2. 0,3 seconden
  3. 0,7 seconden
  4. 2 seconden
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een begroetingstoon moet hoger klinken zonder langer te duren. Wat moet je verhogen?
  1. De duur ervan
  2. De pauze erna
  3. De frequentie ervan
  4. Het aantal herhalingen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een score stijgt vaak terwijl je A één keer ingedrukt houdt. Het programma telt er één bij op telkens als een oneindige lus ziet dat A is ingedrukt. Hoe kan één druk maar één punt toevoegen?
  1. Zet het optellen in “bij opstarten”
  2. Haal de knopvoorwaarde helemaal weg
  3. Zet het optellen in een knopgebeurtenis
  4. Tel nul op in de oneindige lus
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Je wilt dat een badge reageert als je hem kantelt. Welke sensor past bij die taak?
  1. Een versnellingssensor
  2. Een lichtsensor
  3. Een vochtsensor
  4. Een temperatuursensor
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een bordje controleert bij het opstarten één keer hoe licht het is. Het blijft dat getal tonen als de kamer donkerder wordt. Wat moet naar de oneindige lus?
  1. De instructie die de opgeslagen waarde toont
  2. De instructie die de beginwaarde instelt
  3. De instructie die het programma pauzeert
  4. De instructie die de lichtwaarde uitleest
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een waarschuwing gebruikt “als temperatuur > 28 dan toon HEET, anders toon OKÉ”. Wat verschijnt er bij precies 28 °C?
  1. “HEET”
  2. “OKÉ”
  3. Beide boodschappen
  4. Helemaal niets
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Je klas heeft een herinnering nodig voor als het geluid te hard wordt. Welke ontwerpeis kun je duidelijk testen?
  1. Toon binnen twee seconden na hard geluid een waarschuwing.
  2. Maak een waarschuwing die iedereen er goed vindt uitzien.
  3. Gebruik een bordje met verschillende interessante functies.
  4. Kies een geluid dat geschikt voelt voor een klaslokaal.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Het oude programma van een badge toont een vierkant. Het aangepaste programma zet bij het opstarten een teller op 1. A telt er 2 bij op en toont daarna een ster als teller > 4, of anders een hart. Het bordje toont nog steeds een vierkant. Welke afbeelding verschijnt na elke druk als je de aanpassing verstuurt en twee keer op A drukt?
  1. Een ster, dan een ster.
  2. Een hart, dan een hart.
  3. Een vierkant, dan een vierkant.
  4. Een hart, dan een ster.
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

Een speelgoedoven onthoudt de bereidingstijd die je hebt gekozen. Welke taak van het systeem houdt die waarde beschikbaar?
  1. Invoer
  2. Uitvoer
  3. Stroomvoorziening
  4. Opslag
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een programma start een geluid van drie seconden “op de achtergrond” en laat daarna een blauwe led branden. Wanneer kan de led gaan branden?
  1. Alleen nadat het geluid is afgelopen
  2. Alleen voordat het geluid begint
  3. Terwijl het geluid nog speelt
  4. Pas na nog eens drie seconden
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Beide wielen van een wagentje bewegen vooruit. Het linkerwiel gaat langzamer terwijl het rechter zijn snelheid houdt. Welke kant draait het wagentje op?
  1. Naar links
  2. Naar rechts
  3. Recht vooruit
  4. Recht achteruit
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een modelventilator start als A wordt ingedrukt, maar blijft aan na het loslaten. De lus bevat alleen “als A is ingedrukt, motor aan”. Welke instructie ontbreekt?
  1. “Bij opstarten, motor aan”
  2. “Anders, motor uit”
  3. “Als A is ingedrukt, pauzeer”
  4. “Bij opstarten, toon A”
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een teller begint op 0. A telt er 2 bij op; B zet hem terug op 0. Een aparte knop toont de waarde zonder die te veranderen. Je drukt op A, A, tonen, B, A, tonen, A. Wat toont het scherm de twee keer en welke waarde blijft over?
  1. Toont 4 en 2; eindigt op 4.
  2. Toont 4 en 2; eindigt op 2.
  3. Toont 4 en 6; eindigt op 8.
  4. Toont 2 en 2; eindigt op 4.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een meetwaarde moet van 16 tot en met 24 °C als aangenaam tellen. Sam gebruikt “temp ≥ 16 of temp ≤ 24”. Wat gebeurt er bij 10 en 30 °C en welke verbinding herstelt de regel?
  1. Geen van beide voldoet; verander of in en.
  2. Alleen 10 voldoet; blijf of gebruiken.
  3. Beide voldoen; verander of in en.
  4. Alleen 30 voldoet; blijf of gebruiken.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een aankomstlampje moet branden bij afstanden van 60 cm of minder. Welke voorwaarde neemt precies 60 mee?
  1. afstand < 60
  2. afstand > 60
  3. afstand ≥ 60
  4. afstand ≤ 60
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een sensor is met een draad aangesloten op aansluiting C. Het programma leest aansluiting B uit. Welke invoerinstructie past bij de echte aansluiting?
  1. Lees de sensor bij aansluiting B uit.
  2. Lees de sensor bij aansluiting C uit.
  3. Stel uitvoer in bij aansluiting C.
  4. Stel uitvoer in bij aansluiting B.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een waarschuwingslampje moet branden bij weinig licht en uitgaan bij veel licht. De lus zet het aan onder 75, maar heeft geen anders-tak. Tests gebruiken 30 en daarna 130 zonder terug te zetten naar de beginstand. Wat gebeurt er en hoe los je dat op?
  1. Het gaat uit; voeg een uitinstructie toe in de anders-tak.
  2. Het blijft aan; voeg een aaninstructie toe in de anders-tak.
  3. Het blijft aan; voeg een uitinstructie toe in de anders-tak.
  4. Het blijft aan; herhaal hetzelfde als-blok twee keer.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Je wilt vastleggen hoe nat de grond wordt nadat je water hebt gegeven. Welke sensor moet je kiezen?
  1. Een afstandssensor
  2. Een vochtsensor
  3. Een geluidssensor
  4. Een lichtsensor
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

Je verandert de blokken zodat een bordje een blad toont in plaats van een ster. Het bordje en zijn onderdelen blijven hetzelfde. Wat heb je veranderd?
  1. De hardware
  2. De software
  3. De stroomvoorziening
  4. Het invoerapparaat
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een programma voor een kluisje bewaart de eerste afstandsmeting in “opgeslagen”. De lus toont rood als opgeslagen < 40, of anders blauw. Het programma piept ook als de huidige afstand kleiner is dan 20. De meetwaarden komen binnen als 80, 15 en 55 cm. Welk licht en geluid zijn er in die drie rondes?
  1. Blauw en stil; blauw en een piep; blauw en stil.
  2. Blauw en stil; rood en een piep; blauw en stil.
  3. Blauw en stil; blauw en stil; blauw en stil.
  4. Blauw en stil; blauw en een piep; blauw en een piep.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een signaal herhaalt vier keer: licht aan, pauzeer 150 ms, licht uit, pauzeer 350 ms. Daarna gaat een apart rood lampje aan. Wanneer gaat het rode lampje aan en hoe lang brandde het eerste lampje in totaal, als je de uitvoertijd van de blokken niet meetelt?
  1. Na 2 seconden; 1.400 ms aan.
  2. Na 600 ms; 600 ms aan.
  3. Na 2 seconden; 600 ms aan.
  4. Na 1.400 ms; 2 seconden aan.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een robot moet pas een glimlach tonen nadat zijn begroetingsmelodie is afgelopen. Nu verschijnt de glimlach tijdens de melodie. Welke verandering past hierbij?
  1. Gebruik “speel af op de achtergrond” vóór de glimlach.
  2. Verhoog de frequentie van de melodie vóór de glimlach.
  3. Zet het blok voor de glimlach vóór de melodie begint.
  4. Gebruik “speel af tot het klaar is” vóór de glimlach.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een wiel begint vooruit te draaien op 40%, daarna pauzeert het programma twee seconden en eindigt het. Welke instructie is nodig om het wiel na die twee seconden te laten stoppen?
  1. Zet het motortoerental vóór de start op 0%.
  2. Zet het motortoerental na de pauze op 40%.
  3. Zet een tweede pauze na de eerste pauze.
  4. Zet het motortoerental na de pauze op 0%.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een lampje moet alleen branden zolang een schakelaar wordt ingedrukt. De gekozen schakelaar blijft aan nadat je hem loslaat en moet worden teruggezet. Welk soort past bij de bedoelde handeling?
  1. Een maakdrukknop
  2. Een tuimelschakelaar
  3. Een lichtsensor
  4. Een kompassensor
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een bordje zet hoogste op de eerste meetwaarde, 17. Nieuwe meetwaarden vervangen hoogste alleen als ze hoger zijn. A bewaart hoogste in momentopname; B zet hoogste op de huidige meetwaarde. De meetwaarden komen binnen als 26, 22, dan A, dan 19 en B, dan 24. Wat zijn momentopname en hoogste aan het einde?
  1. momentopname 24; hoogste 24
  2. momentopname 26; hoogste 24
  3. momentopname 26; hoogste 26
  4. momentopname 22; hoogste 24
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een scherm moet knipperen totdat bij een controle blijkt dat A ingedrukt is. Daarna moet het een vinkje tonen. Welke structuur past?
  1. Herhaal oneindig; toon daarna het vinkje.
  2. Controleer A één keer bij het opstarten; knipper dan oneindig.
  3. Herhaal totdat A ingedrukt is; toon daarna het vinkje.
  4. Toon het vinkje; begin dan oneindig te knipperen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een scherm gebruikt “als licht < 65 en afstand < 35 toon WACHT; anders als afstand < 35 toon HALLO; anders toon KLAAR”. De meetwaarden veranderen van licht 40, afstand 20 naar licht 90, afstand 20 en dan licht 40, afstand 50. Wat verschijnt er?
  1. WACHT, KLAAR, HALLO
  2. HALLO, HALLO, KLAAR
  3. WACHT, HALLO, KLAAR
  4. WACHT, WACHT, KLAAR
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Je herinnering moet werken voor een kind dat de piep niet kan horen. Welke ontwerpaanpassing helpt die gebruiker de waarschuwing op te merken?
  1. Voeg een duidelijke zichtbare waarschuwing toe.
  2. Geef de piep een hogere toon.
  3. Laat de piep twee keer zo lang duren.
  4. Herhaal dezelfde piep vaker.
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

Een kind verandert met knoppen de waarschuwingsgrens van een apparaat in een kas. Welke rol van mensen bij de besturing laat dit zien?
  1. De luchttemperatuur rechtstreeks meten
  2. De processor van de computer vervangen
  3. Een instelling voor het programma kiezen
  4. Stroom leveren aan de sensor
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een servomotor houdt een wijzer op 120 graden. Geen latere instructie verandert zijn stand. Wat doet hij?
  1. Hij blijft hele rondes draaien
  2. Hij gaat na één seconde terug naar nul
  3. Hij draait achteruit op 120% snelheid
  4. Hij blijft die stand vasthouden
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

De geluidsmeting van een model schommelt tussen 58 en 62 in een stille kamer. Harde klappen geven 170–190. Welke drempelwaarde maakt bij “waarschuw als geluid > drempelwaarde” het beste onderscheid tussen deze tests?
  1. 60
  2. 110
  3. 190
  4. 20
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een datalogger meet elke zes seconden, vanaf seconde 6. Hij stopt nadat hij in seconde 36 een meting heeft vastgelegd. Hoogste begint met de eerste waarde. De opgeslagen waarden zijn 18, 21, 19, 25, 23, 20. Wanneer verandert hoogste voor het laatst en wat is de waarde daarna?
  1. In seconde 24; de waarde blijft 25.
  2. In seconde 36; de eindwaarde is 20.
  3. In seconde 18; de waarde blijft 25.
  4. In seconde 30; de eindwaarde is 23.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Op tijdstip 0 start een lus een motor, pauzeert 2.000 ms, stopt de motor en herhaalt dan twee keer een knippering. Bij elke knippering wacht de lus 250 ms met het lampje aan en 750 ms met het lampje uit. Daarna controleert de lus A. Wanneer wordt A voor het eerst gecontroleerd en wanneer stopte de motor, als je de uitvoertijd van de blokken niet meetelt?
  1. A na 4 seconden; motor na 2 seconden.
  2. A na 2 seconden; motor na 2 seconden.
  3. A na 4 seconden; motor na 4 seconden.
  4. A na 3 seconden; motor na 2 seconden.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een lampje moet branden bij lichtwaarden van 72 en lager. Een test laat zien dat het bij precies 72 uit is, maar bij 71 aan. De huidige regel is “licht < 72”. Welke vergelijking herstelt deze grens?
  1. licht ≥ 72
  2. licht ≤ 72
  3. licht < 71
  4. licht > 71
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een kastalarm moet waarschuwen als de deur of het raam opengaat. De huidige regel gebruikt en. De tests zijn: alleen de deur open, alleen het raam open, beide open. Welke resultaten verwacht je nu en welke verandering herstelt het alarm?
  1. Aan, aan, uit; vervang en door of.
  2. Uit, aan, aan; behoud de regel met en.
  3. Aan, uit, aan; behoud de regel met en.
  4. Uit, uit, aan; vervang en door of.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Je model werkt op het bureau, maar meet donkerte in de kartonnen behuizing, zelfs in een lichte kamer. De behuizing bedekt de lichtsensor. Wat moet je eerst veranderen?
  1. Verhoog de volume-instelling van de waarschuwing.
  2. Verberg de uitvoerled in de behuizing.
  3. Laat de lichtsensor onbedekt.
  4. Blijf hetzelfde programma downloaden.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een lampje gaat aan als de meetwaarde onder 45 ligt. Op de nieuwe plek zijn de meetwaarden bij een afgedekte sensor 60–66 en bij een niet-afgedekte sensor 125–132. De led werkt in een heel kleine test. Welke volgende verandering en test passen het beste bij de resultaten?
  1. Zet de drempelwaarde op 60; test afgedekt en daarna niet-afgedekt.
  2. Zet de drempelwaarde op 140; test afgedekt en daarna niet-afgedekt.
  3. Zet de drempelwaarde op 95; test alleen afgedekt.
  4. Zet de drempelwaarde op 95; test afgedekt en daarna niet-afgedekt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een welkomstbord moet binnen één seconde oplichten als A ingedrukt wordt gehouden en uitgaan na het loslaten. De enige lus controleert A, kiest aan of uit en pauzeert dan 3.000 ms. Tests bij het opstarten en loslaten slagen allebei als ze op controlemomenten worden uitgevoerd. Welke extra test is het nuttigst en welke verandering kan het waarschijnlijke probleem aanpakken?
  1. Houd A vlak na een controle ingedrukt; maak de pauze langer.
  2. Start opnieuw terwijl je A vasthoudt; maak de pauze langer.
  3. Houd A vlak na een controle ingedrukt; maak de pauze korter.
  4. Start opnieuw terwijl je A vasthoudt; verplaats de controle naar het opstarten.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

63 Kernbegrippen, elk met een definitie

A

Aansluitpin
Een aansluitpin is een aansluitpunt met een aanduiding op een bordje, waarop een bouwpakket een ander onderdeel kan aansluiten.
De led op aansluitpin 1 heeft een programma-instructie voor aansluitpin 1 nodig.
Actuator
Een actuator is een uitvoerapparaat dat onder besturing van de computer iets laat bewegen.
De servomotor van het hek is de actuator die het hek beweegt.
Afstandssensor
Een afstandssensor meet hoe ver een voorwerp weg is en geeft een meetwaarde die het programma kan gebruiken.
Het wagentje controleert een afstandssensor voordat het naar een doos toe rijdt.
Algoritme
Een algoritme is een reeks stappen op volgorde om een taak uit te voeren, inclusief keuzes en herhalingen.
Je schrijft het algoritme van het hek voordat je de programmablokken op volgorde zet.
Anders-als-keten
Een anders-als-keten controleert keuzes op volgorde en voert alleen de eerste tak uit waarvan de voorwaarde waar is.
De keten van de thermometer kiest “KOUD”, “HEET” of “OKÉ”.
Anders-tak
Een anders-tak bevat instructies die worden uitgevoerd als een als-voorwaarde onwaar is.
De anders-tak zet het lampje uit als de kamer licht is.
Apparaten programmeren
Apparaten programmeren betekent dat je apparaten programmeert die de echte wereld waarnemen en daarin handelen.
Je bordje merkt een schudbeweging op en reageert door een ster te laten oplichten.

B

Beoordeling
Een beoordeling betekent dat je het voltooide apparaat toetst aan de eisen en aan wat de gebruikers nodig hebben.
Bij je beoordeling controleer je of de plantenherinnering makkelijk op te merken is.
Bereikcontrole
Een bereikcontrole test of een waarde tussen een ondergrens en een bovengrens ligt.
Een bereikcontrole kan temperaturen van 18 tot en met 25 °C omvatten.
Besturingsprogramma
Een besturingsprogramma leest invoer uit en stelt uitvoer in, zodat een apparaat zijn taak uitvoert.
Het besturingsprogramma blijft het vocht in de grond controleren en de waarschuwing aanpassen.
Bij opstarten
“Bij opstarten” is een programmablok dat één keer wordt uitgevoerd als het bordje opstart of wordt teruggezet naar de beginstand.
“Bij opstarten” zet je stappenteller op nul voordat je gaat lopen.

D

Datalogger
Een datalogger neemt op vaste momenten meetwaarden van sensoren op en bewaart ze om ze later te bestuderen.
De datalogger in de kas legt vast hoe de temperatuur ’s nachts verandert.
Download
Een programma naar een bordje downloaden betekent dat je het vanuit de editor verstuurt zodat het bordje het kan uitvoeren.
Nadat je een blok hebt veranderd, download je de nieuwe versie opnieuw.
Drempelwaarde
Een drempelwaarde is een gekozen grenswaarde waarmee wordt bepaald wanneer een apparaat zijn actie verandert.
Een nachtlampje met een drempelwaarde van 50 behandelt meetwaarden aan de ene kant als licht en aan de andere kant als donker.
Duur
Duur is hoe lang iets duurt, zoals een noot of een pauze.
Twee noten kunnen dezelfde toonhoogte maar een verschillende duur hebben.

E

En
“En” verbindt voorwaarden die allebei waar moeten zijn om de gecombineerde voorwaarde waar te maken.
De tuinlamp heeft tegelijk donkerte en een persoon dichtbij nodig.

F

Frequentie
Frequentie geeft aan hoe vaak een geluidstrilling zich per seconde herhaalt en wordt gemeten in hertz.
Als je 440 Hz kiest, krijg je een hogere toon dan bij 262 Hz.

G

Gebeurtenis
Een gebeurtenis is iets waarop een programma kan reageren, zoals een druk op een knop of een schudbeweging.
De gebeurtenis waarbij je op de knop drukt, voert één reeks deurbelinstructies uit.

H

Hardware
Hardware zijn de onderdelen van een computersysteem die je kunt aanraken.
De draden, het bordje en de motor zijn hardware in je wagentje.

I

Ingebouwde computer
Een ingebouwde computer zit in een grotere machine om de werking ervan te besturen.
De ingebouwde computer van een wasmachine voert het gekozen wasprogramma uit.
Invoer
Invoer is informatie die vanaf een knop, sensor of ander invoerapparaat naar een computer wordt gestuurd.
Als je op de knop drukt om het alarm stil te zetten, geef je de computer invoer.

K

Keuzestructuur
Een keuzestructuur betekent dat wordt gekozen welke instructies worden uitgevoerd op basis van of een voorwaarde waar of onwaar is.
Door een keuzestructuur kiest je waarschuwing tussen “HEET” en “OKÉ”.
Knoptoestand
Een knoptoestand geeft aan of een knop op een bepaald moment wel of niet is ingedrukt.
Je lus leest de knoptoestand voordat hij kiest tussen motor aan en motor uit.

L

Led
Een led, of lichtgevende diode, is een klein lampje dat een programma aan en uit kan zetten.
Je model gebruikt een gele led voor de middelste stap van het verkeerslicht.
Lichtsensor
Een lichtsensor meet hoe licht het is en geeft een waarde die het programma kan vergelijken.
Het nachtlampje leest zijn lichtsensor uit in de schemerige gang.

M

Maakdrukknop
Een maakdrukknop maakt alleen verbinding terwijl je hem indrukt.
Als je een deurbelknop loslaat, verbreekt de maakdrukknop de verbinding.
Massa
Massa is een aansluitpunt op het bordje dat in het aansluitplan van een bouwpakket vaak “GND” of “−” wordt genoemd.
Je sluit de massa van de sensor aan volgens de afbeelding van het bouwpakket.
Meetwaarde
Een meetwaarde is een waarde die een sensor op een bepaald moment meet.
De lichtwaarde verandert als je het bordje met je hand afdekt.
Melodie
Een melodie is een reeks muzieknoten, elk met een eigen toonhoogte en lengte.
Een bordje speelt een korte melodie als een reactiespel eindigt.
Microcontroller
Een microcontroller is een piepkleine computer op één chip die een besturingsprogramma bewaart en uitvoert.
De microcontroller volgt instructies om je modelhek te openen.
Milliseconde
Een milliseconde is een duizendste van een seconde en wordt vaak gebruikt om een wachttijd in een programma in te stellen.
Een pauze van 500 milliseconden duurt een halve seconde.
Motor
Een motor is een uitvoerapparaat dat beweging maakt, bijvoorbeeld door een wiel te draaien.
Je programma start de motor van de ventilator, wacht en stopt hem daarna.
Motortoerental
Het motortoerental geeft aan hoe snel een motor draait en wordt bij bouwpakketten voor in de klas vaak met een percentage ingesteld.
Je verlaagt het toerental van de linkermotor om het wagentje naar links te laten draaien.

O

Of
“Of” verbindt voorwaarden zodat de gecombineerde voorwaarde waar is als er minstens één waar is.
Een deur-of-raamalarm gaat af als wordt waargenomen dat één van beide opengaat.
Omgekeerde draairichting
De omgekeerde draairichting is de motorrichting tegenover de richting die vooruit heet.
Als beide motoren van het wagentje in de omgekeerde draairichting draaien, rijdt het achteruit.
Oneindige lus
Een oneindige lus herhaalt zijn instructies steeds opnieuw zolang het bordje stroom krijgt.
De oneindige lus blijft controleren of er iemand bij het hek is.
Ontwerpeisen
Ontwerpeisen zijn duidelijke eisen waarmee je controleert of een apparaat zijn probleem oplost.
Eén eis voor een waarschuwingsapparaat zegt dat zijn waarschuwing binnen twee seconden moet verschijnen.
Opgeslagen meetwaarde
Een opgeslagen meetwaarde is een waarde van een sensor die vanaf een bepaald moment wordt bewaard totdat het programma die vervangt.
De opgeslagen meetwaarde blijft 22, ook nadat de volgende meetwaarde van de sensor stijgt.
Opslag
Opslag houdt programma’s of waarden beschikbaar, zodat de computer ze later kan gebruiken.
Door de stappentelling te bewaren kan het bordje de volgende waargenomen stap erbij optellen.

P

Pauze
Een pauze is een instructie die dat deel van het programma een gekozen tijd laat wachten.
Een pauze houdt een hartplaatje op het scherm voordat het scherm verandert.

R

Robot
Een robot is een machine die waarneemt en handelt door een programma te volgen dat zijn gedrag bestuurt.
Een robotwagentje neemt een doos waar en stuurt ervan weg zonder dat jij het bestuurt.

S

Scherm
Een scherm is een uitvoerapparaat dat afbeeldingen, woorden of getallen toont.
Het scherm toont de waarde van je teller als je op A drukt.
Sensor
Een sensor is een invoerapparaat dat voor een programma iets in de wereld meet.
Een sensor meet de omstandigheden voordat je bordje een reactie kiest.
Servomotor
Een servomotor is een motor die naar een gekozen hoek draait en die stand vasthoudt.
De servomotor richt de pijl van je model op 90 graden.
Simulator
Een simulator is een model op het scherm waarmee je het programma van een apparaat kunt uitproberen voordat je de echte onderdelen test.
Een simulator helpt je de keuzes van een programma te controleren voordat je de echte onderdelen ervan aansluit.
Software
Software is het programma met instructies dat de computer vertelt wat hij moet doen.
Door de blokken te veranderen, verander je de software die je lampje bestuurt.
Storing
Een storing is een probleem in de hardware of software waardoor een apparaat zich anders gedraagt dan bedoeld.
Een losse klem kan een storing veroorzaken, ook als het programma klopt.
Stroomschema
Een stroomschema is een afbeelding van stappen en beslissingen die met pijlen zijn verbonden om hun volgorde te tonen.
Je stroomschema stuurt “nee” van een sensorcontrole terug naar diezelfde controle.
Systeem
Een systeem is een groep onderdelen die samenwerken om een taak uit te voeren.
De sensor, computer en motor van de deur werken samen als een systeem.

T

Teller
Een teller is een waarde die een programma verandert om bij te houden hoeveel gebeurtenissen hebben plaatsgevonden.
In een knoppenspel telt een teller er één bij op voor elke druk op de knop.
Tellus
Een tellus voert zijn instructies een gekozen aantal keren uit en stopt dan.
Een tellus geeft vier waarschuwingsflitsen voordat het programma verdergaat.
Temperatuursensor
Een temperatuursensor meet hoe warm of koud iets is en geeft meetwaarden vaak in °C.
Je datalogger bewaart elke minuut een meetwaarde van een temperatuursensor.
Toonhoogte
Toonhoogte is hoe hoog of laag een geluid klinkt als je het hoort.
De deurbel speelt een hoge noot, gevolgd door een lagere.
Tuimelschakelaar
Een tuimelschakelaar blijft in de stand die je kiest totdat je hem weer omzet.
De tuimelschakelaar van het model blijft aan nadat je je hand weghaalt.

U

Uitvoer
Uitvoer is een actie of informatie die onder besturing van de computer wordt voortgebracht.
Het voetgangerslicht en de bijbehorende piep zijn uitvoer bij een oversteekplaats.

V

Variabele
Een variabele is een plek met een naam in het geheugen die een waarde bevat die kan veranderen terwijl een programma draait.
De variabele “stappen” bevat 7 na zeven waargenomen schudbewegingen.
Versnellingssensor
Een versnellingssensor meet versnelling, inclusief het effect van de zwaartekracht, en helpt beweging en kanteling waar te nemen.
Het bordje gebruikt zijn versnellingssensor om een schudbeweging op te merken.
Verwacht resultaat
Een verwacht resultaat is wat je voorspelt dat er moet gebeuren als je een geplande test uitvoert.
Voor een test met een meetwaarde van 15 voorspel je “leds aan” als je verwachte resultaat.
Verwerking
Verwerking is het werk dat een computer doet terwijl hij een programma volgt en informatie verwerkt.
Als een programma een lichtwaarde met 40 vergelijkt, is die vergelijking onderdeel van de verwerking.
Vochtsensor
Een vochtsensor is een invoerapparaat dat meet hoe nat iets is, zoals grond.
De plantenherinnering gebruikt een vochtsensor in de pot.
Voorwaarde
Een voorwaarde is een vraag met waar of onwaar als antwoord die een programma kan controleren.
“Is A ingedrukt?” is de voorwaarde die je ventilatorprogramma controleert.

W

Werkelijk resultaat
Een werkelijk resultaat is wat er echt gebeurt als je een test uitvoert.
Als “leds aan” wordt verwacht, laat het werkelijke resultaat “leds uit” zien dat de test is mislukt.

Z

Zoemer
Een zoemer is een uitvoerapparaat dat geluid maakt als de computer het aanstuurt.
De zoemer geeft één korte piep nadat je op de juiste knop hebt gedrukt.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag