Instructions
34
Het programma
Het programma 23mblock toont hoe er door het gescheiden schakelen van anoden en kathoden van de
RGB-leds op aansluitingspins bespaard kan worden. Voor vier RGB-leds worden slechts zeven (3x anode,
4x kathode) in plaats van 13 pins (12x anode, 1x kathode) gebruikt.
Het programma 23mblock toont lichteffecten in het donker.
Zo werkt het programma
Nadat alle gebruikte uitgangspins geïnitialiseerd zijn, wacht de hoofdlos van het programma op het
moment dat de ingang A2 een waarde die hoger is dan 500 aanneemt. De fototransistor levert afhanke-
lijk van de helderheid een analoge waarde die bij de gebruikte schakeling groter wordt in functie van de
duisternis van de omgeving. De waarde 500 kunt u uiteraard in functie van de omgeving naar voorkeur
tussen 1 en 1023 instellen.
Indien de fototransistor zich in een donkere omgeving bevindt, loopt er zesmaal na elkaar een zelf gede-
finieerd blok dat de RGB-leds in verschillende kleuren als looplicht laat oplichten. De gewenste kleuren
worden als RGB-instellingen bij elke oproep aan het blok doorgegeven.
Bij elke oproep van het nieuwe blok worden eerst de drie voor de anoden van de RGB-leds gebruikte
pins overeenkomstig de gewenste kleur in- of uitgeschakeld. Omdat de kathoden allemaal op HIGH
staan, lichten de RGB-leds echter nog niet op.
De variabele k bevat het nummer van de schakelen kathode. Deze wordt bij de start voor de eerste RGB-
led op 5 gezet. Een lus loopt viermaal en vermeerdert deze variabele telkens met 1, om de vier RGB-leds
na elkaar als looplicht aan te sturen. Daarvoor wordt de overeenkomstige kathode op LOW gezet en na
korte tijd opnieuw op HIGH. Gedurende deze periode brandt de RGB-led in de ingestelde kleur.
Zolang een van de RGB-leds brandt, knipperen de individuele leds snel kort na elkaar, wat tegelijk de
oplichtduur van een RGB-led bepaalt. Hier wordt een gelijkaardige lus gebruikt, die in de variabele led
na elkaar de vier anoden van de individuele leds inschakelt en na de in de variabele tijd opgeslagen
0,04 seconden opnieuw uitschakelt.
Wanneer de fototransistor opnieuw belicht wordt, loopt de actueel lopende lichtfrequentie die altijd met
rood begint en met lila eindigt. De fototransistor wordt slechts aan het begin van de volgende lusdoor-
loop opnieuw bevraagd.