In meinem Beitrag Arduino Lektion #99: Dual Color (rot & grün) LED HW-477 / KY-029 habe ich bereits ein Modul mit einer Dual Color LED vorgestellt. Jedoch habe ich es geschafft, die LED beim betrieb am Raspberry Pi zu zerstören. Weswegen ich mir nun über ebay.de gleich einmal einen Pack 3 mm sowie 5 mm LEDs bestellt habe, um diese LED zu wechseln.
Bezug
Wie in meinen früheren Beiträgen bereits bekannt, beziehe ich die meisten Bauteile aus ebay.de, banggood.com bzw. aliexpress.com.
Zum einen sind diese Bauteile dort deutlich günstiger und wie ich finde die Qualität auch nicht viel besser als bei Artikel welche aus Deutschland kommen.
Es gibt die LEDs in verschiedene Verpackungseinheiten und somit liegen die Preise für eine 50er-Packung, 3 mm LED mit gemeinsamer Kathode bei ca. 1 € inkl. Versandkosten auf ebay.de*. Die Packung 5 mm LEDs kosten in dieser „Konfiguration“ auch nur 20Cent mehr und somit sind diese deutlich günstiger als bei Conrad Elektronik, Reichelt oder ELV. Jedoch sind diese genannten Firmen für Qualität bekannt und leider gibt es bei den Chinaprodukten auch ein paar Bauteile, welche nicht funktionieren.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Technische Daten der Dual Color LED
- Stromaufnahme 20mA
- Betriebsspannung
- rot > 2.2 V
- grün > 3.2 V
- Betriebstemperatur -40°C bis 80°C
- Vorwiderstand für 5V Betriebsspannung
- 150 Ohm > rot
- 100 Ohm > grün
Berechnen des Vorwiderstandes
Die Vorwiderstände für die LEDs werden nach der Formel „R = (U_Gesamt – U_Diode) / I_Diode“ berechnet.
Rechenbeispiel für LED rot
(5V – 2.2V) / 0,02 A = 140 Ohm
Rechenbeispiel für LED grün
(5V – 3.2V) / 0,02 A = 90 Ohm
Nun hat man den Ohmschen Widerstandswert, was nun noch fehlt ist die Leistungsangabe diese kann man wiederum berechnen.
Wir benötigen jedoch noch einige zusätzliche Werte welche wir zunächst ausrechnen müssen:
Leistung der LED Watt = V_LED x I_LED
2.2V * 0,02V = 0,044 Watt
zu vernichtende Spannung V = V_Gesamt – V_LED
5V – 2,2V = 2,8V
fließender Strom bei verwendetem Widerstand I = V_vern_Spannung / R_vorwiderstand
2,8V / 0,150 kOhm = 18,67 mA
Verlustleistung am Vorwiderstand W = V_vern_Spannung * I_Widerstand
2,8V * 0,01867 A = 0,05 Watt
Aufbau & Schaltung
In diesem Beitrag verwende ich eine 3mm sowie 5mm LED mit „common-kathode“ d.h. mit gemeinsamer Kathode. Es gibt diese LEDs sowohl mit „gemeinsamer Kathode“ als auch mit „gemeinsamer Anode“.
einfacher Aufbau mit Breadboard
Für den Betrieb einer Dual Color LED benötigt man keinen Microcontroller, es reicht auch
- ein Breadboard,
- vier Breadboardkabel (männlich – männlich, 10cm),
- eine Stromversorgung, und
- 2 bzw. 4 220 Ohm Widerstände
Je nachdem welcher Pin der LED aktiviert wird (also mit Spannung versorgt wird) leuchtet die LED in rot bzw. in grün auf.
In einem kleinen Versuch habe ich einmal beide Pins der LED mit Strom versorgt, die LED leuchtete dann in der Farbe rot. Es funktionierten auch hinterher beide Farben. Es gibt jedoch keine Garantie das es ggf. zu einem Fehlerfall führen könnte!
Aufbau am Arduino
Da der Arduino über die digitalen Pins den benötigten Strom (5V) für den betrieb der LED liefert, benötigen wir die externe Stromversorgung nicht mehr.
In diesem Beispiel verwende ich den Arduino Nano V3.0 dieser läßt sich super auf ein 400 Pin Breadboard stecken und es verbleibt noch genügend Platz für den Aufbau der beiden LEDs.
Für den Aufbau benötigst du zusätzlich noch 2 weitere Breadboardkabel (männlich – männlich, 10cm) damit alle Farben am Arduino Nano angeschlossen werden können.
In der Grafik habe ich die entsprechenden Vorwiderstände für die LEDs eingebaut. In echt verwende ich jedoch 220 Ohm Widerstände da ich diese größen z.Zt. nicht da habe.
Programmieren
Im nachfolgenden möchte ich gerne aufzeigen wie du eine Dual Color LED am Arduino Nano V3.0 betreiben kannst.
#define led3_rot 5 #define led3_gruen 2 #define led5_rot 6 #define led5_gruen 3 const int PAUSE = 125; void setup() { pinMode(led3_rot, OUTPUT); pinMode(led3_gruen, OUTPUT); pinMode(led5_rot, OUTPUT); pinMode(led5_gruen, OUTPUT); } void loop() { blinkDualColorLed(led3_rot, led3_gruen); blinkDualColorLed(led5_rot, led5_gruen); } void blinkDualColorLed(int pinRot, int pinGruen){ digitalWrite(pinRot, HIGH); delay(PAUSE); digitalWrite(pinRot, LOW); delay(10); digitalWrite(pinGruen, HIGH); delay(PAUSE); digitalWrite(pinGruen, LOW); delay(10); }