User manual

Het programma 04rgb01 laat de LEDs afwisselend knipperen
De snelheid van de kleurwisseling wordt met de variabele z gestuurd, die bij het begin van het programma op een bepaalde waarde gezet wordt
en dan voor elke kleurwisseling geldt.
Variabelen in Snap4Arduino
Variabelen zijn kleine geheugenruimtes, waar men tijdens een programma een getal of iets anders kan opslaan. Wanneer het programma
wordt beëindigd, worden deze opslagruimtes voor variabelen automatisch weer gewist. Variabelen moeten eerst in Snap4Arduino
aangemaakt worden alvorens men ze kan gebruiken.
5de dag
Vandaag in de adventskalender
LED rood
LED dimmen
Componenten: 1x insteekprintplaat, 2x LED rood, 2x 220 ohm weerstand (rood-rood-bruin), 3x verbindingskabel
LEDs zijn typische onderdelen voor de weergave van signalen in de digitale elektronica. Ze kunnen twee verschillende toestanden aannemen:
aan en uit, 0 en 1 of niet waar en waar. Hetzelfde geldt voor de als uitgangen gedefinieerde digitale pennen. Derhalve is het theoretisch niet
mogelijk om een LED te dimmen.
Met een truc is het toch mogelijk om de helderheid van een LED aan een digitale pen te regelen. Wanneer men een LED snel genoeg laat
knipperen, dan neem het menselijke oog het niet meer waar als knipperen. De als pulsbreedtemodulatie (PWM) aangeduide techniek levert een
pulserend signaal dat binnen zeer korte intervallen in- en uitschakelt. De spanning van het signaal blijft altijd gelijk, alleen de verhouding tussen
Level niet waar (0V) en Level waar (+3,3V) wordt gewijzigd. De pulsverhouding geeft de verhouding van de lengte van de ingeschakelde
toestand tot de totale duur van een schakelcyclus aan.
Hoe kleiner de pulsduur, hoe korter de brandtijd van de LED binnen een schakelcyclus. Daardoor werkt de LED donkerder dan een permanent
ingeschakelde LED.
Pennen voor PWM-signalen
De pennen 3, 5, 6, 9, 10, 11 worden op de Arduino met een ‚~‘-symbool aangeduid. Deze pennen kunnen gebruikt worden voor PWM.
Het programma
Het programma 05pwm01 dimt de beide LEDs cyclisch helderder en donkerder. Aan het begin worden daarvoor twee variabelen gedefinieerd:
helder geeft de PWM-waarde voor de helderheid van de LED en stap geeft de stapgrootte bij het dimmen aan. De actuele waarde van beide
variabelen wordt realtime rechtsboven weergegeven in het platform.
Nu begint er een eindeloze lus. Als eerste wordt bij elke lusdoorloop de actuele waarde van de variabele helder als PWM-waarde op de pen5 en
na een korte wachttijd op de pen 6 gegeven. Aansluitend wordt de waarde van de variabele helder met de waarde stap verhoogd.
In de volgende stap wordt gecontroleerd of de waarde van helder de grens 0 of 100 heeft bereikt. In dit geval wordt er een of-blok ingezet, dat
wederom plaats voor twee verdere vragen bevat. Indien van deze twee minimaal één waar is, dan geeft het of-blok de waard waar terug en de
inhoud van het niet waar-blok wordt uitgevoerd.
Twee gelijkheidsvragen controleren of de variabele helder de waarde 0 of 100 bereikt heeft. Klopt dit, dan wordt de variabele pas op een nieuwe
waarde gezet. Omdat Snap4Arduino geen mogelijkheid biedt om het voorteken 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.
Tot slot wacht het programma 0,025 seconden. Aansluitend start de eindeloze lus opnieuw en levert de LEDs een nieuwe PWM-waarde.
6de dag
Vandaag in de adventskalender