ATtiny13 Basics – LED RG Knipperlicht
In dit voorbeeld maken we gebruik van een Rood/Groen LEDje op de ATtiny13, deze LED heeft 3 pinnetjes, in de meeste gevallen is de middelste de (-) kathode.
Sluit het volgende aan volgens onderstaand schema (in dit schema is ook de bedrading voor het programmeren via de ISP meegenomen):
Let op: Het weerstandje is belangrijk, deze beperkt de stroom door de LED, als je deze niet gebruikt gaat het LEDje (snel) stuk!
De code om de LED te laten knipperen van ROOD naar GROEN:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// configureer hier de ledpinnen, de pootjes aan de zijkanten // sluiten we hieraan op de digitale poort 3 en 4 van de arduino. int ledpinRood = 3; int ledpinGroen = 4; int wachttijd = 500; //tijd in ms // de 'setup routine' waneer er op reset wordt gedrukt. void setup() { // zet en configureer de 'ledpin[kleur]' als een uitgang. pinMode(ledpinRood, OUTPUT); pinMode(ledpinGroen, OUTPUT); } // deze loop wordt continu herhaald void loop() { digitalWrite(ledpinGroen, LOW); // Zet de GROENE LED uit door het voltage laag te maken. digitalWrite(ledpinRood, HIGH); // zet de RODE LED aan door het voltage hoog te maken. delay(wachttijd); // wachttijd. digitalWrite(ledpinRood, LOW); // Zet de RODE LED uit door het voltage laag te maken. digitalWrite(ledpinGroen, HIGH); // zet de GROENE LED aan door het voltage hoog te maken. delay(wachttijd); // wachttijd. } |
Rood + Groen = Geel
Bij veel RG LEDs kun je beide kanten laten oplichten om zo de kleur geel te krijgen, echter is veelal de rode kleur ‘overheersend’ en blijft het LEDje rood branden ondanks dat beide kleuren actief zijn!
Je kan de rode kleur wat terugschroeven door middel van de PWM functie van de ATtiny, je moet eventueel wat met de waarde spelen, dit verschil per RG LED, hier is een voorbeeld code:
Nu moet je de PWM pin 1 (Chip pin 6) gebruiken voor de rode kleur, dit is het aansluitschema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// configureer hier de ledpinnen, de pootjes aan de zijkanten // sluiten we hieraan op de digitale poort 3 en 4 van de arduino. int ledpinRood = 1; int ledpinGroen = 4; int wachttijd = 500; //tijd in ms int RoodWaarde = 280; // de 'setup routine' waneer er op reset wordt gedrukt. void setup() { // zet en configureer de 'ledpin[kleur]' als een uitgang. pinMode(ledpinRood, OUTPUT); pinMode(ledpinGroen, OUTPUT); } // deze loop wordt continu herhaald void loop() { digitalWrite(ledpinGroen, HIGH); // Zet de GROENE LED aan door het voltage laag te maken. analogWrite(ledpinRood, RoodWaarde); // zet de RODE LED aan doormiddel van PWM. } |