Einleitung
Hast du dir jemals gewünscht, farbenfrohe Lichteffekte mit einer RGB-LED zu erzeugen, aber die nötigen Bauteile nicht zur Hand? Mit Velxio kannst du die gesamte Schaltung und den Code direkt in deinem Browser simulieren. In diesem Tutorial bauen wir einen einfachen RGB-LED-Farbwechsler, der nacheinander Rot, Grün, Blau, Gelb, Cyan, Magenta und Weiß anzeigt. Du lernst, wie du PWM (Pulsweitenmodulation) zur Farbmischung einsetzt und eine RGB-LED mit gemeinsamer Kathode an einen Arduino Uno anschließt.
Schaltungsaufbau
Beginnen wir damit, die Bauteile auf der Velxio-Leinwand zu platzieren. Du benötigst einen Arduino Uno und eine RGB-LED. Die RGB-LED hat vier Pins: eine gemeinsame Kathode (COM) und drei Anoden für Rot (R), Grün (G) und Blau (B).

Hier ist die Verdrahtung:
- Verbinde den R-Pin der RGB-LED mit Arduino-Pin 9 (rotes Kabel).
- Verbinde den G-Pin mit Arduino-Pin 10 (grünes Kabel).
- Verbinde den B-Pin mit Arduino-Pin 11 (blaues Kabel).
- Verbinde den COM-Pin mit Arduino GND (schwarzes Kabel).
In Velxio kannst du Kabel von einem Pin zum anderen ziehen. Die Farben der Kabel in der Simulation entsprechen den Pin-Funktionen: Rot für Rot, Grün für Grün, Blau für Blau und Schwarz für Masse. Das macht es einfach, den Verbindungen zu folgen.
Code-Erklärung
Jetzt schreiben wir den Arduino-Sketch. Öffne den Code-Editor in Velxio und gib Folgendes ein:

// RGB LED Color Cycling
// Display different colors
const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void setColor(int red, int green, int blue) {
analogWrite(RED_PIN, red);
analogWrite(GREEN_PIN, green);
analogWrite(BLUE_PIN, blue);
}
void loop() {
// Red
setColor(255, 0, 0);
delay(1000);
// Green
setColor(0, 255, 0);
delay(1000);
// Blue
setColor(0, 0, 255);
delay(1000);
// Yellow
setColor(255, 255, 0);
delay(1000);
// Cyan
setColor(0, 255, 255);
delay(1000);
// Magenta
setColor(255, 0, 255);
delay(1000);
// White
setColor(255, 255, 255);
delay(1000);
}
So funktioniert es
- Pin-Definitionen: Wir definieren Konstanten für die drei PWM-Pins:
RED_PIN = 9,GREEN_PIN = 10,BLUE_PIN = 11. Diese Pins unterstützenanalogWrite()für die PWM-Ausgabe. - setup(): Setzt alle drei Pins als Ausgänge.
- setColor(): Eine Hilfsfunktion, die drei Werte (0-255) für Rot, Grün und Blau entgegennimmt und diese mit
analogWrite()an die entsprechenden Pins schreibt. Dadurch entsteht eine Spannung zwischen 0 und 5 V, die die Helligkeit der LED steuert. - loop(): Ruft
setColor()mit verschiedenen Kombinationen auf, um Farben zu erzeugen. Jede Farbe wird für 1 Sekunde angezeigt (delay(1000)).
Wichtige Konzepte
PWM (Pulsweitenmodulation)
PWM ist eine Technik, bei der ein digitaler Pin schnell zwischen HIGH und LOW wechselt, um eine analoge Spannung zu simulieren. Das Tastverhältnis (Prozentsatz der Zeit, in der der Pin HIGH ist) bestimmt die wahrgenommene Helligkeit. Arduinos analogWrite() gibt ein PWM-Signal mit einer Frequenz von etwa 490 Hz auf den Pins 9, 10 und 11 aus.
RGB-Farbmischung
Eine RGB-LED enthält drei separate LEDs (Rot, Grün, Blau) in einem Gehäuse. Durch Variation der Helligkeit jeder einzelnen kannst du Millionen von Farben erzeugen. Zum Beispiel:
- Rot + Grün = Gelb
- Grün + Blau = Cyan
- Rot + Blau = Magenta
- Rot + Grün + Blau = Weiß
Gemeinsame Kathode vs. Gemeinsame Anode
Dieses Tutorial verwendet eine RGB-LED mit gemeinsamer Kathode, bei der der COM-Pin mit Masse verbunden ist. Um eine Farbe einzuschalten, legst du ein HIGH-Signal an ihre Anode. Wenn du eine LED mit gemeinsamer Anode hast, verbindest du COM mit VCC und verwendest eine invertierte Logik (LOW zum Einschalten).
Häufige Fehler und Debugging-Tipps
- Falsche Pin-Nummern: Überprüfe, ob du die R-, G- und B-Pins mit den richtigen Arduino-Pins (9, 10, 11) verbunden hast. Ein vertauschtes Kabel führt zu falschen Farben.
- Fehlende Masse: Der COM-Pin muss mit GND verbunden sein. Ohne diese Verbindung leuchtet die LED nicht.
- PWM vs. Digital:
analogWrite()funktioniert nur auf PWM-fähigen Pins (auf dem Uno mit ~ gekennzeichnet). Die Verwendung eines Nicht-PWM-Pins führt nur zu vollständigem Ein- oder Ausschalten. - Verzögerungs-Timing: Das
delay(1000)pausiert das gesamte Programm. Für reaktionsfreudigere Projekte solltest dumillis()für nicht-blockierendes Timing verwenden. - Simulator-Probleme: Wenn die LED nicht leuchtet, überprüfe die Verdrahtung in Velxio. Verwende die Leinwand-Symbolleiste, um hineinzuzoomen und die Verbindungen zu überprüfen.


Vorschläge für Erweiterungen
Sobald der grundlegende Farbwechsler funktioniert, probiere diese Verbesserungen aus:
- Zwischen Farben überblenden: Verwende anstelle von Sprüngen eine Schleife, um die PWM-Werte allmählich zu ändern und sanfte Übergänge zu erzielen.
- Taster-Steuerung: Füge einen Taster hinzu, um die Farben manuell zu wechseln.
- Potentiometer-Eingabe: Verwende ein Potentiometer, um eine Farbe aus einer Palette auszuwählen.
- Serielle Steuerung: Sende Farbwerte über den seriellen Monitor, um benutzerdefinierte Farben einzustellen.
- Mehrere LEDs: Schalte mehrere RGB-LEDs für eine Lichtshow in Reihe.
Um neue Komponenten hinzuzufügen, verwende die Komponentenauswahl:

Wenn du zusätzliche Bibliotheken benötigst, macht der Bibliotheksverwalter es einfach:

Aufruf zum Handeln
Bereit, es in Aktion zu sehen? Öffne das Live-Beispiel auf Velxio und beginne zu experimentieren: RGB-LED-Farbwechsel auf Velxio. Keine Downloads, keine Hardware – nur reines Lernen. Viel Spaß beim Tüfteln!