Du Kannst sie Beide auf einen Ausgang, z.B. C hängen. Dann leuchten sie aber immer gleichzeitig.
Du musst dir das mit dem Relais wie eine Weiche vorstellen. Der Strom fließt von A nach B bis die dem Arduino sagst, er soll mit einem HIGH Befehl umschalten. Dann fleißt der Strom von A nach C.
Das Tutorial das du gemacht hast, ist da ein bisschen blöd. Mit der Bezeichnung TIP120 vom Transistor kann ich auch nichts anfangen. Das ist der Gehäusetyp des Transistors
Steht da sonst noch was drauf?
Und ganz wichtig. Du musst die GND vom Arduino mit der GND der 12V Stromquelle für die LED´s verbinden. Sieht man untern in meinem Schaltplan.
Ich kopier die hier mal den ersten teil von meinem angefangenen Tutorial rein, das sollte dir weiterhelfen.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Arduino Tutorial 2 - RGB Leds steuern
Ich zeige euch heute wie man RGB Leds an den Arduino anschließt und den benötigten Code dazu, mit dem wir verschiedene Farben wählen können.
Ich werde dieses Tutorial in mehrere Teile aufspalten, um verschiedene Szenarien durchzuspielen.
1 - Die Farben per Taster wechseln
2 - Farbwechsel
3 - Farbmischer mit Drehpoti
Teileliste
Arduino IDE (Tutorial wurde mit 1.5.2 Beta erstellt)
Arduino UNO (Es gibt die Arduinos aber auch deutlich günstiger bei Ebay)
Breadboard
10kOhm Widerstand
Taster
Steckbrücke (oder Kabel je nach Vorliebe)
10kO Drehpoti
RGB Led Strip (gibt es bei Ebay günstiger)
N-Chanel Transistor/Mosfet
12V Netzteil (das ist nur ein Beispiel! Bitte wählt ein ausreichend starkes Netzteil je nach Menge der Leds)
1 - Farben per Taster wechseln
In diesem ersten Anwendungsfall geht es darum, einfach per PWM definierte Farben der RGB Leds per Tastendruck durch zu schalten. Die Farbe wird bei RGB Leds durch mischen der Farben Rot, Grün und Blau erzeugt. Jede Farbe wird beim Arduino mit einem Wert von 0-255 angesteuert, wobei 0 = aus und 255= volle Leuchtstärke.
Hier mal ein paar Beispiele wie das dann im Code aussieht.
LED leuchtet rot
|
Quellcode
|
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
|
Quellcode
|
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 ???
|
Quellcode
|
1
2
3
|
analogWrite(RotPin, 125); //Rot etwas angesteuert
analogWrite(GrünPin, 180); //Grün etwas angesteuert
analogWrite(BlauPin, 0); //Blau ist aus
|
Anschlussplan
Code
/*
Arduino Tutorial 2 - RGB-LEDs steuern - 1 - Die Farben per Taster wechseln
by Scynd 2014
In diesem Tutorial geht es darum einer RGB-LED Farben zuzuweisen und diese eingestellten Farbprogramme mit einem Taster durchzuschalten.
*/
//Konstante Variablen
const int TasterPin = 2; // Taster an Pin 2 angeschlossen
const int BlauPin = 9; // Blaue LED an Pin 9 angeschlossen
const int RotPin = 10; // Rote LED an Pin 10 angeschlossen
const int GruenPin = 11; // Gruene LED an Pin 11 angeschlossen
//Variablen
int Leuchtmodus = 0; // Variable für die verschiedenen festgelegten Farben
void setup() {
// Festlegen der Ein- und Ausgänge
pinMode(BlauPin, OUTPUT); //Setzt den LEDPin als Ausgang
pinMode(RotPin, OUTPUT); //Setzt den LEDPin als Ausgang
pinMode(GruenPin, OUTPUT); //Setzt den LEDPin als Ausgang
pinMode(TasterPin, INPUT); //Setzt den TasterPin als Eingang
}
void loop() {
// Abfrage ob der Taster gedrückt ist
int TasterStatus = digitalRead(TasterPin);
//Wenn Taster gedrückt ist, Leuchtmodus +1
if (TasterStatus == HIGH) {
Leuchtmodus = Leuchtmodus++;
delay(500);
}
// Anzahl der Leutmodi auf 5 begrenzen. (0 bis 4)
if (Leuchtmodus == 5) {
Leuchtmodus = 0;
}
//+++++++++++++++ LEUCHTPROGRAMME +++++++++++++++++
// Modus 0 = Licht aus
if (Leuchtmodus == 0) {
analogWrite(BlauPin, 0);
analogWrite(RotPin, 0);
analogWrite(GruenPin, 0);
}
// Modus 1 = Blau
if (Leuchtmodus == 1) {
analogWrite(BlauPin, 255);
analogWrite(RotPin, 0);
analogWrite(GruenPin, 0);
}
// Modus 2 = Rot
if (Leuchtmodus == 2) {
analogWrite(BlauPin, 0);
analogWrite(RotPin, 255);
analogWrite(GruenPin, 0);
}
// Modus 3 = Grün
if (Leuchtmodus == 3) {
analogWrite(BlauPin, 0);
analogWrite(RotPin, 0);
analogWrite(GruenPin, 255);
}
// Modus 4 = Lila
if (Leuchtmodus == 4) {
analogWrite(BlauPin, 255);
analogWrite(RotPin, 255);
analogWrite(GruenPin, 0);
}
}
Wenn ihr diesen Code hochladet, könnt ihr per Tasterdruck 5 Farbprogramme durchschalten.
Programm 0 = LEDs aus
Programm 1 = LEDs leuchten blau
Programm 2 = LEDs leuchten rot
Programm 3 = LEDs leuchten grün
Programm 4 = LEDs leuchten lila
Das Programm überwacht kontinuierlich den
TasterPin und speichert dessen Status (
HIGH wenn gedrückt, oder
LOW wenn nicht gedrückt) in der Variable
TasterStatus.
Wenn nach dem Drücken des Tasters,
TasterStatus auf
HIGH steht, wird die Variable
Leuchtmodus um +1 (Leuchtmodus++) hochgezählt. Wenn
Leuchtmodus bei 5 angekommen ist, springt er automatisch wieder zurück auf 0 und es beginnt von vorne.
Nun wird die Variable
Leuchtmodus abgefragt und je nach dem welche Nummer gespeichert ist, wird das entsprechende Programm gestartet.
Hier wird nun per PWM jedem LED Kanal ein Wert von 0-255 vorgegeben, wobei 0 aus und 255 volle Leuchtkraft ist. So können auch Farben gemischt werden.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Statt einer RGB LED hast du halt ein paar LED Leisten. Du musst dann für jede Leiste die du einzeln schalten können willst, einen Transistor mit einem PWM ansteuern. Wichtig ist, dass du mit der Schaltung wie sie hier zu sehen ist, nicht 12V durchschältst, sondern GND. Sprich du schließt an jede Leiste 12V an und des Kabel das aus dem transistor kommt muss an die GND Leitung der LED Leisten.
Ich hoffe das hilft dir weiter