Instructions
16
8ste dag
Vandaag op de adventskalender
• 1 x led geel met voorweerstand
leds dimmen
leds zijn typische componenten voor de uitgave van signalen in de digitale elektronica. Ze kunnen twee
verschillende toestanden aannemen, aan en uit, 0 en 1 of LOW en HIGH. Hetzelfde geldt voor de als
uitgang gedefinieerde pins. Daarom zou het theoretisch onmogelijk zijn om een led te dimmen.
Met een truc lukt het echter om de helderheid van een
led aan een digitale pin te regelen Indien men een led
snel genoeg laat knipperen, neemt jet menselijk oog dit
niet meer als knipperen waar. De pulsbreedtemodulatie
(PBM) genaamde techniek creëert een pulserend sig-
naal dat zich in zeer korte afstanden in- en uitschakelt.
De signaalspanning blijft altijd gelijk, alleen de ver-
houding tussen level LOW (0V) en level HIGH (+3,3V)
wordt veranderd. De toetsverhouding geeft de verhou-
ding van de lengte van de ingeschakelde toestand ten opzichte van de volledige duur van
een schakelcyclus aan.
Hoe kleiner de toetsverhouding, hoe korter de oplichttijd van een led binnen een scha-
kelcyclus. Daardoor werkt de led donkerder dan een permanent ingeschakelde led.
Onderdelen: 1 x Nano-board, 1 x insteekprintplaat, 2 x led geel met voorweerstand, 1 x
draadbrug
Pins voor PBM-signalen
De pins 3, 5, 6, 9, 10 en 11 zijn op de schakelbeelden van een ‚-symbool voorzien. Deze
pins kunnen voor PBM worden gebruikt.
Het programma
Het programma 08mblock dimt die led aan pin6 cyclisch helderder en donkerder. De led
van dezelfde kleur aan pin 8 brandt ter vergelijking in volle helderheid
Zo werkt het programma
Bij de start wordt pin 8 als digitale pin op HIGH gezet en daardoor ingeschakeld.
Daarna worden er drie variabelen gedefinieerd: tijd legt de snelheid bij het dimmen
vast, helder betekent de PBM voor de helderheid van de led en stap geeft de stap-
penlengte bij het dimmen aan.
Nu begint een eindeloze loop. Eerst wordt bij elke luscyclus de actuele waarde
van de variabele helder als PBM-waarde op pin 6 uitgegeven. Vervolgens wordt de
waarde van de variabele helder met de waarde stap verhoogd.
In de volgende stap wordt gecontroleerd of de waarde van helder de grenzen 0 of
250 heeft bereikt. In dit geval wordt een of-blok gebruikt, dat opnieuw over plaats
voor twee extra verzoeken beschikt. Indien van deze twee tenminste een waar is,
geeft het of-blok de waarde waar weer en de inhoud van het indien-blok wordt
uitgevoerd.
Twee gelijktijdige verzoeken controleren of de waarde van de variabelen helder de
waarde 0 of 250 heeft bereikt. Indien dit het geval is, wordt de variabele stap op
een nieuwe waarde gezet. Omdat mBlock de mogelijk biedt, het eerste teken van
een variabele om te keren, gebruiken we de operator ”–” en trekken we de waarde
van de variabele af van 0, wat hetzelfde resultaat oplevert.
Aan het einde wacht het programma in elke lusdoorloop gedurende de in de vari-
abele tijd opgeslagen 0,2 seconden. Vervolgens start de eindeloze lus opnieuw en
levert het aan de leds een nieuwe PBM-waarde.
Links: Testverhouding 50% - rechts: testverhouding 20%
Een led wordt gedimd en de tweede brandt met relatief vol-
ledige helderheid.
Het programma 08mblock dimt een led aan de PBM-uitgang.
8. dag