Willkommen zu meinem aufregenden Blogbeitrag für Programmieranfänger! In diesem Artikel zeige ich dir, wie du im Open Roberta Lab eine RGB LED programmieren kannst. Tauche mit mir ein in die faszinierende Welt der Farben und lerne, beeindruckende Lichteffekte zu erzeugen. Egal, ob du neu im Programmieren bist oder bereits erste Erfahrungen gesammelt hast, ich begleite dich Schritt für Schritt auf dieser spannenden Reise. Mach dich bereit, deine Kreativität zu entfalten und deine eigene Leuchtkraft zu entdecken!
In den letzten Beiträgen hatte ich dir bereits einige Komponenten gezeigt und wie diese programmiert werden.
- Grafische Programmierung mit Open Roberta
- Open Roberta #3 – Grove Shields
- Open Roberta Lab – analoges Signal auf PWM mappen
- Open Roberta #8 – analoger Lichtsensor
Benötigte Ressourcen für dieses Projekt
Wenn du die Schaltung und somit das kleine Projekt mit der RGB LED nachbauen möchtest, dann benötigst du:
- einen Arduino UNO,
- ein USB-Datenkabel,
- eine RGB LED,
- drei 220 Ohm Widerstände,
- vier Breadboardkabel, 10 cm, männlich – männlich, (schwarz, blau, grün, orange),
- ein 400 Pin Breadboard
RGB LED vs. NeoPixel
In diesem Beitrag behandle ich eine RGB LED welche über 4 Pins verfügt, welche für die Farben Rot, Grün, Blau und Minuspol belegt sind. Ein NeoPixel ist anders aufgebaut, da in dieser LED ein Chip verbaut ist, auf welchem wiederum kleine LEDs verbaut sind.
Exkurs – Aufbau der RGB LED
Die RGB LED hat vier Beinchen, wobei diese unterschiedlich lang und eine bestimmte Pinbelegung haben. In der nachfolgenden Grafik findest du die Pinbelegung der LED.
Du bekommst die RGB LEDs in zwei verschiedene Bauformen, einmal mit einem gemeinsamen Minuspol & einmal mit einem gemeinsamen Pluspol. (In Englisch Common-Kathode / Common-Anode.)
In diesem Beitrag verwende ich eine RGB LED mit einem gemeinsamen Minuspol / Common-Kathode.
Aufbau der Schaltung
Für den Aufbau der Schaltung verwende ich:
- einen Arduino UNO,
- eine RGB LED mit gemeinsamem Minuspol
- drei 220 Ohm Widerstände,
- vier Breadboardkabel
In meinem Fall habe ich die RGB LED an die digitalen PWM Pins 11 (rot), 10 (grün), 9 (blau) und GND angeschlossen.
Programmieren der RGB LED in Open Roberta Lab
Bevor wir das Programm erstellen, müssen wir zunächst die Schaltung im Open Roberta Lab nachbauen. Da wir hier lediglich die RGB LED verwenden ist, dieses schnell erledigt, denn wir müssen hier nur das Element “RGB LED” aus dem Bereich Aktionen per Drag-and-drop auf die Oberfläche ziehen. Ist dieses geschehen, so müssen wir lediglich die verwendeten Pins konfigurieren und schon können wir mit der Programmierung beginnen.
Steuern der Farben einer RGB LED mit Drehpotentiometer
Wir können mit dem grafischen Element “Schalte LED X Farbe” eine spezielle Farbe über einen Farbauswahlmenü / Colorpicker setzen. Hier möchte ich dir nun gerne zeigen, wie du das mit einem Drehpotentiometer machen kannst, ohne immer das Programm neu auf den Mikrocontroller aufzuspielen.
Erweitern der Schaltung um die Drehpotentiometer pro Farbe
Zunächst erweitern wir die Schaltung um die drei 50 kOhm Widerstände für die Farben rot, grün und blau.
Die drei Drehpotentiometer sind an den analogen Pins A0 bis A2 angeschlossen.
Aufbau der Schaltung & Programmieren im Open Roberta Lab
Im nachfolgenden YouTube-Video erläutere ich dir den Aufbau der Schaltung und wie du das Programm im Open Roberta Lab programmierst.
Programm & Roboterkonfiguration
In der Roboterkonfiguration setzen wir, dass die einzelnen Farben der RGB LED als “Aktor analog” an den nachfolgenden Pins angeschlossen sind.
- D11 – rot,
- D10 – grün,
- D9 – blau
Die Drehpotentiometer sind an den Pins A0 bis A2 als “Sensor analog” angeschlossen.
Der Drehpotentiometer liefert einen analogen Wert von 0 bis, 1023. Diesen Wert müssen wir jetzt auf ein PWM Signal umrechnen. In der Arduino IDE gibt es dafür eine extra Funktion, diese fehlt leider derzeit in Open Roberta, aber wir können mit etwas Mathematik das selber machen.
Im Beitrag Open Roberta Lab – analoges Signal auf PWM mappen hatte ich dir das ganze bereits ausführlich erläutert, hier nun eine kurze Zusammenfassung:
Der analoge Wert wird durch den Faktor 4,01 geteilt und gerundet (da nur ganze Zahlen gültig sind) somit erhalten wir einen Wert zwischen 0 und 255.
Download
Hier jetzt das kleine Programm zum Download.