Het doel is nu om een hotelschakeling te bouwen met de Micro:bit. Een hotelschakeling bestaat uit twee schakelaars en een lamp. Op de Micro:bit zitten twee drukknoppen, die gaan we gebruiken in plaats van de schakelaars die thuis aan de muur zitten. Dat maakt het makkelijker om een protoype te maken.
We gaan het stapsgewijs opbouwen. Eerst maak je een systeem met één drukknop. Met die drukknop moet je de lamp aan en uit kunnen zetten. In plaats van een lamp gebruiken we de ledjes van de Micro:bit.
De enige gebeurtenis is dus:
de drukknop wordt ingedrukt (en ook weer losgelaten)
De acties zijn:
zet lamp aan
zet lamp uit
Hieronder vind je het toestandsdiagram.
Omzetten naar Micro:bit programma
In de Micro:bit omgeving vind je een blok waarmee je kunt nagaan of een knop is ingedrukt (en ook weer losgelaten):
Met behulp van dit blok kun je het programma maken dat hoort bij het toestandsdiagram.
Alle toestanden krijgen een nummer:
1 - Lamp is uit
2 - Lamp is aan
Hieronder vind je het begin van dat programma. Hopelijk kun je de relatie met het toestandsdiagram herkennen. Je ziet:
het programma bevat één variabele: toestand. Die krijgt aan het begin, bij opstarten, de waarde 1. Dat is immers de begintoestand.
Voor elke toestandsovergang is een 'als <> dan' of 'anders als <> dan' gemaakt.
Tip: je kunt een 'ander als <> dan' maken door eerst meerdere malen op het plusje (+) in het blokje te klikken. Vervolgens kun je de overbodige opties weer weghalen.
Opdracht: maak het programma af
Maak nu het programma af op basis van het toestandsdiagram. Test het programma. Bij het testen ga je in ieder geval voor iedere toestand alle mogelijke toestandsovergangen na (dat is in dit geval heel makkelijk, later wordt het al iets moeilijker).
Opdracht: hotelschakeling
Opdracht: bouw een hotelschakeling
Bouw nu de hotelschakeling. Je hebt twee drukknopjes (A en B). Je hebt dus de volgende gebeurtenissen:
knopje A wordt ingedrukt (en losgelaten)
knopje B wordt ingedrukt (en losgelaten)
De mogelijke acties zijn:
zet lamp aan (zet de ledjes van de Micro:bit aan)
zet lamp uit (zet de ledjes van de Micro:bit uit)
Maak eerst een toestandsdiagram en maak dan het programma in de Micro:bit.
Extra opdrachten
Inleiding
In dit deel vind je enkele extra opdrachten om te oefenen met het vertalen van toestandsdiagrammen naar een programma op de Micro:bit. Kies zelf welke je interessant vindt om te doen.
Extra opdracht: toegangscode
Opdracht: maak een toegangscode
Bouw het systeem voor de toegangscontrole. Gebruik de drukknopjes A en B. Ga uit van onderstaande toestandsdiagram. De deur gaat open als de gebruiker AAB indrukt. De deur open doe je door de ledjes aan te zetten.
Extra opdracht: lichtregulering
Opdracht: bouw de lichtregulering
a) Maak een prototype voor de lichtregulering. Ga uit van de voorbeelduitwerking het toestandsdiagram of van je eigen toestandsdiagram. Gebruik de knoppen op de Micro:bit. In plaats van de lamp gebruik je de ledjes van de Micro:bit. Je kunt de helderheid van de ledjes instellen met het volgende blokje. De maximum-waarde is 255, het minimum is 0.
b) Pas het prototype aan voor opdracht b). Je mag een derde knopje (knop C) toevoegen, zie Aansluiten van de drukknop. In plaats daarvan kun je ook de combinatie van knop A en B gebruiken: als ze allebei tegelijk worden ingedrukt.
Het is niet mogelijk om de kleur van de ledjes op de Micro:bit te veranderen in blauw. In plaats van rood en blauw kun je kiezen om met knop C te wisselen tussen twee verschillende figuren, bijvoorbeeld een hartje en een mannetje.
Extra opdracht: tamagotchi
Bij de voorbeelden ging het onder meer over het virtuele huisdier, de tamagotchi. Het doel is om een tamagotchi te maken op de Micro:bit op basis van de toestandsdiagrammen die je daar hebt gemaakt.
In plaats van knijpen en aaien kun je de knopjes A en B op de Micro:bit gebruiken. De toestandsovergangen zijn dan:
Knop A wordt ingedrukt (oftewel: wordt geknepen)
Knop B wordt ingedrukt (oftewel: wordt geaaid)
We hebben ook twee acties, namelijk:
Toon vrolijke smiley :-)
Toon verdrietige smiley :-(
Je krijgt dan het volgende toestandsdiagram.
Dit kun je omzetten naar een programma voor de Micro:bit. We maken gebruik van een variabele toestand die de waarde 1 of 2 heeft:
Toestand 1 betekent blij
Toestand 2 betekent verdrietig
Je krijgt dan een programma zoals hieronder. Voor elke pijl in het toestandsdiagram maak je een als ... dan. Dat hoeft niet voor de toestandsovergangen die naar zichzelf verwijzen en geen actie hebben.
Opdracht Tamagotchi
Probeer het bovenstaande programma en test het. Werkt dit?
Bij het voorbeeld staan nog enkele opdrachten: a), b) en c).
a) Maak nu het programma voor de Micro:bit dat hoort bij a). Je hebt dan eigenlijk drie knopjes nodig. Maar in plaats van het derde knopje kun je gebruiken: knop A en B worden tegelijk ingedrukt.
b) Maak nu het programma voor de Micro:bit dat hoort bij b). Je kunt gebruikmaken van de lichtsensor op de Micro:bit. Bijvoorbeeld als volgt:
Het lichtniveau < 100 (het is donker)
Het lichtniveau >= 100 (het is licht)
c) Maak nu het programma voor de Micro:bit dat hoort bij c)
Het zijn eigenlijk twee aparte systemen die met elkaar communiceren. Op de Micro:bit zit een zender en ontvanger waarmee je radio-signalen kunt versturen en ontvangen. Hieronder vind je een filmpje waarin dat wordt uitgelegd.
We laten eerst zien hoe je het toestandsdiagram voor het horloge kunt omzetten in een Micro:bit programma.
De gebeurtenissen zijn:
gevallen -> op de Micro:bit kun je detecteren of er wordt geschud met de Micro:bit
reset-knop ingedrukt -> hiervoor gebruiken we knop A.
Hieronder het programma. Bij het opstarten moet je aangeven in welke groep de radiosignalen moeten worden verzonden. Je kunt de Micro:bit namelijk in verschillende groepen met elkaar laten communiceren.
Dan het systeem van degene die hulp moet gaan bieden.
De gebeurtenissen zijn:
signaal "gevallen" ontvangen
signaal "ok" ontvangen
reset-knop ingedrukt -> hiervoor gebruiken we knop B
Je kunt deze twee programma's op twee verschillende Micro:bits zetten en testen. Let er goed op dat je de woorden ("gevallen" en "OK") die worden verstuurd en ontvangen op beide systemen precies gelijk houdt, het is hoofdlettergevoelig.
Het arrangement Cyclus 1 - Micro:bit is gemaakt met
Wikiwijs van
Kennisnet. Wikiwijs is hét onderwijsplatform waar je leermiddelen zoekt,
maakt en deelt.
Dit lesmateriaal is gepubliceerd onder de Creative Commons Naamsvermelding 4.0 Internationale licentie. Dit houdt in dat je onder de voorwaarde van naamsvermelding vrij bent om:
het werk te delen - te kopiëren, te verspreiden en door te geven via elk medium of bestandsformaat
het werk te bewerken - te remixen, te veranderen en afgeleide werken te maken
voor alle doeleinden, inclusief commerciële doeleinden.
Leeromgevingen die gebruik maken van LTI kunnen Wikiwijs arrangementen en toetsen afspelen en resultaten
terugkoppelen. Hiervoor moet de leeromgeving wel bij Wikiwijs aangemeld zijn. Wil je gebruik maken van de LTI
koppeling? Meld je aan via info@wikiwijs.nl met het verzoek om een LTI
koppeling aan te gaan.
Maak je al gebruik van LTI? Gebruik dan de onderstaande Launch URL’s.
Arrangement
IMSCC package
Wil je de Launch URL’s niet los kopiëren, maar in één keer downloaden? Download dan de IMSCC package.
Wikiwijs lesmateriaal kan worden gebruikt in een externe leeromgeving. Er kunnen koppelingen worden gemaakt en
het lesmateriaal kan op verschillende manieren worden geëxporteerd. Meer informatie hierover kun je vinden op
onze Developers Wiki.