Instructions

14
7de dag
Vandaag op de adventskalender
• 1 x led oranje met voorweerstand
leds knipperen willekeurig.
Het experiment van de 7de dag laat drie leds in willekeurige volgorde knipperen.
De drie leds steken zeer dicht naast elkaar op de insteekprintplaat omdat het pro-
gramma op elkaar de volgende pinnummers nodig heeft.
Onderdelen: 1 x Nano-board, 1 x insteekprintplaat, 2 x led oranje met voorweer-
stand, 1 x led geel met voorweerstand, 1 x draadbrug
Het programma
Het programma 07mblock01 laat drie leds met op elkaar volgende pin-nummers wil-
lekeurig afwisselend knipperen.
Het programma 07mblock01 laat drie leds
willekeurig blinken.
Hoe ontstaan toevallige getallen?
In het algemeen dankt men dat er in een programma niets toevallig kan gebeuren. Hoe kan een pro-
gramma dan zelf in staat zijn op willekeurige getallen te produceren? Indien men een groot priemgetal
deelt door om het even weke waarde, ontstaande er vanaf de x-te plaats na de komma getallen die
nauwelijks voorspelbaar zijn. Ze wijzigen zich ook zonder enige regelmaat wanneer men de deler
regelmatig verhoogd. Dit resultaat dat ogenschijnlijk toevallig is laat zich echter door een identiek
programma of het verschillende malen oproepen van het gelijke programma op elk moment reprodu-
ceren. Neemt men echter een uit enige van deze cijfers samengesteld getal en deelt men dat opnieuw
door een getal dat uit de seconde van actuele tijd bestaat of door de inhoud van een opslagplaats naar
keuze van de computer, geeft dit een resultaat dat zich niet laat reproduceren en daarom als een wil-
lekeurig getal wordt beschouwd.
Zo werkt het programma
In de eerste stap van elke doorloop van de eindeloze lus wordt de variabele n op een willekeurig getal
tussen 7 en 9 gezet. Deze geeft het pinnummer aan van de led die moet worden uitgeschakeld. Daarom
heeft de schakeling drie opeenvolgende pinnummers nodig.
De snelheid van de kleurwissel wordt met behulp van een variabele tijd gecontroleerd, die bij de start
van het programma op 0,2 ingesteld wordt en dan voor elke kleurwissel geldt.
De willekeurig gekozen led wordt gedurende de ingestelde tijd ingeschakeld en daarna even lang uitge-
schakeld. In de volgende luscyclus wordt er opnieuw een willekeurige led geselecteerd. Daarbij kan het
voorvallen dat er verschillende malen na elkaar dezelfde led oplicht.
Verbeterde versie van het programma
Bij dit programma valt op dat de leds duidelijk zwakker oplichten dan bij de programmas tot nu toe.
In blik op de Arduino-programmeercode in get rechter gedeelte van het scherm van mBlock toont de
oorzaak van dit probleem.
Drie leds knipperen willekeurig.
7. dag