Instructions

Het Scratch-programma 03ampel02 stuurt het voetgangersverkeerslicht
In het begin worden de drie pinnen 12, 7 en 8 voor de verkeerslichten en
24 en 23 voor de voetgangerslichten gedefinieerd als uitgangen. Pin 21
is ingesteld als ingang voor het sensorcontact. ...inpullnone schakelt de
in de GPIO-pin ingebouwde trekweerstand uit, omdat dit de functie van
het sensorcontact zou belemmeren.
Dan wordt basispositie van het verkeerslicht ingeschakeld, groen voor
de auto's, rood voor de voetgangers. De andere drie leds zijn uitgescha-
keld. Uitschakelen is in het begin niet nodig. Het dient alleen om het
programma te starten met een duidelijk gedefinieerde status.
Nu start zoals in het laatste programma een continue herhalings-lus,
die het plasticinecontact bij GPIO pin 21 in bevraagt. Als de waarde 0
wordt teruggegeven, wordt deze aangeraakt en naar een laag niveau
getrokken.
Hiervoor gebruiken we het Scratch-blok falls, dat werkt zoals een if-
zoals een if-query in andere programmeertalen. Voor de query zelf is in
het als-blok een lang veld met puntige uiteinden voorzien . Hier moet
een blok van het groene blokkenpalet Operatoren ingevoegd worden.
Selecteer de regel met het gelijkheidsteken en sleep deze naar het veld
voor het plaatshouderveld in het blok als.
Deze operator is altijd waar als de twee waarden links en rechts van het
gelijkheidsteken dezelfde zijn. In ons geval moet de waarde van GPIO pin
21 0 zijn. Voor de query van GPIO-ingangen wordt het blok Waarde van
sensor uit het blauwe blokkenpallet Voelen gebruikt.
Sleep dit blok naar het veld voor het plaatshouderveld links van de
groene gelijkheids-operator. Selecteer de sensor gpio21 in het lijstveld
van het blauwe blok. Naast een aantal vooraf gedefinieerde sensoren
worden alle GPIO-pinnen die zijn gedefinieerd als ingangen aangeboden
voor selectie. Klik nu één keer op de groene vlag in de rechterbovenhoek
om het onvoltooide programma te starten. Dit definieert de GPIO-pinnen
en gpio21 verschijnt in de keuzelijst. Stop het programma opnieuw met
het rode stopteken. Voer vervolgens de waarde 0 in de groene gelijk-
heidsoperator rechts in.
Nu worden de verschillende lichtpatronen van de verkeerslichten met
tussenpozen van 0,6 seconden na elkaar geschakeld. Terwijl het voet-
gangersverkeerslicht groen oplicht, wordt er 2 seconden gewacht. De
minimale duur van de groene fase van het verkeerslicht is ook 2 secon-
den.
LEDS KNIPPEREN WILLEKEURIG
Zeven leds knipperen in willekeurige volgorde en er kunnen er meer-
dere tegelijk aan zijn. Zo werkt het: Een willekeurig gekozen led wordt
afwisselend ingeschakeld en vervolgens wordt een andere willekeurig
gekozen led uitgeschakeld.
Hoe ontstaan willekeurige getallen?
Vaak wordt gedacht dat er niets willekeurig kan gebeuren in
een programma – dus hoe kan een programma in staat zijn om
willekeurige getallen te genereren? Als je een groot priemgetal
deelt door een waarde, krijg je getallen van de zoveelste decimaal
die nauwelijks voorspelbaar zijn. Ze veranderen ook zonder enige
regelmaat als je de deler regelmatig verhoogt. Hoewel dit resultaat
willekeurig lijkt, kan het op elk moment worden gereproduceerd door
een identiek programma of door hetzelfde programma meerdere
keren aan te roepen. Maar als men nu een getal neemt dat uit
sommige van deze cijfers is samengesteld en het opnieuw deelt door
een getal dat het resultaat is van de huidige seconde van de tijd of
de inhoud van een willekeurige geheugenlocatie van de computer,
wordt een resultaat verkregen dat niet kan worden gereproduceerd
en daarom een willekeurig getal wordt genoemd.
ONDERDELEN
1 Insteekkaart
2 Rode led met serieweerstand
2 Gele led met serieweerstand
2 Groene led met serieweerstand
1 Blauwe led met serieweerstand
8 GPIO-verbindingskabels
7 leds knipperen