logo CoderDojo

Micro:Bit - Stoplicht

In deze opdracht ga je een stoplicht maken.

Het stoplicht heeft twee kleuren: groen en rood. Normaal staat het stoplicht op rood. Als je op een knopje drukt springt het op groen, en na een tijdje weer op rood. Als dit gelukt is kun je het programma zo aanpassen dat het stoplicht op groen springt als er een auto over de micro:bit heen “rijdt”, bijvoorbeeld door je hand erboven te houden.

Voorbereiding

Wat heb je nodig:

Alles aansluiten

Net als batterijen hebben LED lampjes een plus en een min. Als je goed kijkt zijn de pootjes van de LED’s niet even lang: het net iets langere pootje is de plus, de kortere de min. Gebruik de krokodillenbekken om de plussen van de rode en groene LED vast te maken op aansluitingen Pin 0 en Pin 1 van de micro:bit, en de minnen aan de GND (je kunt de eerste krokodillenbek aan GND vastmaken en de tweede aan de eerste). Het zou er dan ongeveer zo uit moeten zien:

Stoplicht aansluiten

Het programma

Stap 1: Een LED aanzetten

Om een LED aan te zetten moet je stroom laten lopen van de plus-aansluiting door de LED naar de min. Dit doe je met het blok schrijf digitaal pin <P0> naar 0. Dit vind je door op Geavanceerd (zie pijl 1) te klikken en daarna op Pinnen (pijl 2), zie het plaatje hieronder. Laat de LED aan gaan wanneer je op knop A drukt.

Stoplicht LED aan

Stap 2: De LED weer uit laten gaan

Je hebt er weinig aan als de LED de hele tijd aan blijft. Deze moet dus na een tijdje weer uit. Wacht na het aanzetten bijvoorbeeld een seconde (1000 ms) en zet de LED dan weer uit door Pin 0 weer op 0 te zetten:

Stoplicht LED weer uit

Stap 3: Het stoplicht staat op rood, tot je op de knop drukt

Nu is het tijd om allebei de LEDs te gebruiken: de rode moet eigenlijk altijd aan zijn, behalve wanneer op knop A wordt gedrukt. Dit doe je door bij het opstarten de rode LED al aan te zetten, en deze uit te zetten op het moment dat de groene LED aan gaat:

Stoplicht rood en groen

Stap 4: de knop vervangen door een “auto”

Als extra uitdaging kun je nu het indrukken van knop A vervangen door wat er gebeurt als de micro:bit in het donker terecht komt doordat er een auto overheen rijdt. Hiervoor heb je het blok lichtniveau uit het menu Invoer nodig, en moet je kijken hoeveel licht (een getal tussen 0=helemaal donker en 255=heel licht) de micro:bit ziet als je er bijvoorbeeld je hand boven houdt. Deze waarde kun je dan gebruiken als voorwaarde om het stoplicht op groen te laten springen. Om een programma met deze voorwaarde te maken heb je ook blokken uit het menu Logisch nodig: het als waar dan … blok en het … < … blok. En je moet ervoor zorgen dat je programma de hele tijd kijkt of de voorwaarde waar is of niet. Uiteindelijk moet het er dan ongeveer zo uitzien:

Stoplicht licht en donker

Licentie

Deze instructies worden, net als alle andere instructies van CoderDojo Nijmegen, aangeboden onder een Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Licentie.

Creative Commons License