You are not logged in.

Dear visitor, welcome to We-Mod-It | Das Forum von Moddern für Modder. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Scynd

1. Platz Enermax Casecon Contest

  • "Scynd" started this thread

Posts: 924

Date of registration: Mar 12th 2012

Location: München

Occupation: Maschinenbautechniker

Thanks: 74

  • Send private message

1

Saturday, September 5th 2015, 10:21pm

Arduino Tutorial 2 - RGB LEDs am Arduino






Im zweiten Abschnitt meiner Arduino Tutorial Reihe, gehe ich auf den Anschluss und die verschiedenen Beleuchtungseffekte ein, die man mit RGB LEDs erzielen kann.
Aber wie bekomme man denn eigentlich die verschiedenen Lichtfarben aus so einer LED???
Die Farbe wird bei RGB Leds durch mischen der Farben Rot, Grün und Blau erzeugt. Jede Farbe wird beim Arduino mit dem analogWrite(x, y) Befehl (PWM) mit einem Wert von 0 - 255 angesteuert, wobei 0 = aus und 255 = volle Leuchtstärke ist.





Sehr anschaulicher Mischvorgang, zu sehen auf dieser Animation von Matthew Beckler





LEDs, Lüfter, Pumpen oder Motoren können aber leider nicht direkt vom Arduino angesteuert werden, da dessen Ausgänge nur 5V und 20mA liefern.
Deshalb muss man Transistorenzu Hilfe nehmen. Diese werden an eine externe Spannungsquelle angeschlossen und vom Arduino, ähnlich wie ein Schalter, angesteuert.
Ich nehme in meinen Beispielen meist N-Kanal MOSFETs . Diese sind zwar teurer als andere Transistoren, aber auch leichter zu handhaben, da kein Vorwiderstand gebraucht wird und sie auch mehr Leistung bringen. Im Hobbybereich spielt ein Euro IMHO keine Rolle, anders sieht es natürlich in der Massenproduktion aus, da zählt jeder Cent.






Beispielcode

LED leuchtet Rot

Source code

1
2
3
analogWrite(RotPin, 255);    //Rot hat volle Leuchtstärke
analogWrite(GrünPin, 0);	//Grün ist aus
analogWrite(BlauPin, 0); 	//Blau ist aus


LED leuchtet Lila

Source code

1
2
3
analogWrite(RotPin, 255);	//Rot hat volle Leuchtstärke
analogWrite(GrünPin, 0); 	//Grün ist aus
analogWrite(BlauPin, 255);      //Blau hat volle Leuchtstärke


LED leuchtet Türkis

Source code

1
2
3
analogWrite(RotPin, 0);     	//Rot ist aus
analogWrite(GrünPin, 180);    //Grün etwas angesteuert
analogWrite(BlauPin, 255);	//Blau ist an





Inhaltsverzeichnis

Verschiedene Farben per Tastendruck durchschalten
2.1 - Farben per Taster wechseln

Automatischer Farbverlauf/wechsel
2.2 - RGB LED: Automatischer Farbwechsel

Farbeinstellung über ein Potentiometer
2.3 - Farbmischer per Drehpoti

Verschiedene Farben pulsieren lassen
2.4 - RGB LED Fader



.

This post has been edited 17 times, last edit by "Scynd" (May 10th 2016, 8:43am)