Arduino – LED RG Knipperlicht
In dit voorbeeld maken we gebruik van een Rood/Groen LEDje, deze heeft 3 pinnetjes, in de meeste gevallen is de middelste de (-) kathode kant.
Sluit het volgende aan volgens onderstaand schema:
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 23 24 25 |
// 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); Serial.begin(9600); // zet seriele poort aan op 9600 baud. } // 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. Serial.println("LED status: ROOD"); // zet led status in de seriele monitor. 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. Serial.println("LED status: GROEN"); // zet led status in de seriele monitor. 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 arduino, je moet eventueel wat met de waarde spelen, dit verschil per RG LED, hier is een voorbeeld code:
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 = 3; 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. } |