IR Fernsteuerung für eine RGB-LED

Diesmal ist es ein einfacher Aufbau auf dem Breadboard. Eine RGB LED, die über eine IR Fernbedienung angesteuert wird. Der Aufbau ist schnell gemacht, da wenig Bauteile benötigt werden. Zwei IR Fernbedienungen habe ich hier noch herumliegen. Jetzt noch die Software dazu…

[Übersicht Schaltung und Fernbedienungen]

Jeweils aus den Beispielen herausgezogen, einmal zur RGB LED und dann noch zum IR Empfänger. Der IR Empfänger zeigt auch noch den empfangenen Code an, das macht es leichter.

[Schaltung RGB und IR]

Die Realisierung ist recht einfach zu machen. Jetzt erst einmal die reale Funktion testen … und funktioniert gut, sogar indirekt über Reflektionen an den Wänden.

Der Sketch
// Infrarot Fernbedienung einlesen und RGB LED ansteuern mit UNO
// (c) 2017 softwareentwicklung-als-prozess.de
#include <IRremote.h>

int redPin   = 8;
int greenPin = 9;
int bluePin  = 10;
int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);
decode_results results;
boolean show = false;

void setup()
{ // IRremote
Serial.begin(9600);
Serial.println(„Enabling IRin“);
irrecv.enableIRIn();
Serial.println(„Enabled IRin“);  // RGB LED
pinMode(redPin,   OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin,  OUTPUT);
}

void loop()
{
if (irrecv.decode(&results))
{
switch(results.value)
{
case 0xFF807F:
case 0xF7C03F:
setColor(255,255,255); // Weiss
break;
case 0xFF906F:
case 0xF740BF:
setColor(0,0,0);       // Aus
break;
case 0xF720DF:
setColor(255,0,0);     // Rot
break;
case 0xF7A05F:
setColor(0,255,0);     // Gruen
break;
case 0xF7609F:
setColor(0,0,255);     // Blau
break;
case 0xF7E01F:
setColor(255,255,255); // Weiss
break;
default:
break;
}
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value  }
}

void ColorShow(void)
{
setColor(255, 0, 0);    // red
delay(1000);
setColor(0, 255, 0);    // green
delay(1000);
setColor(0, 0, 255);    // blue
delay(1000);
setColor(255, 255, 0);  // yellow
delay(1000);
setColor(80, 0, 80);    // purple
delay(1000);
setColor(0, 255, 255);  // aqua
delay(1000);
}

void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}

Ausblick
Interessant wäre das ganze als Wearable einzusetzen. Die Idee dazu: Einkoppeln des LED Lichts in eine Glasfaser, die in ein Kleidungsstück eingearbeitet wird und mit dem Lichteffekt ein besonderes Merkmal darstellt. Mit der Fernbedienung ließe sich dann der Effekt ändern: Eine bestimmte Farbe oder ein fließender Übergang durch alle Farben, blinken usw.

Links und Literaturhinweise

RGB LED am Arduino
https://learn.adafruit.com/adafruit-arduino-lesson-3-rgb-leds/arduino-sketch

IR Fernbedienung am Arduino

Nr.12 Fernbedienung

IR Remote Funktions-Bibliothek
https://github.com/z3t0/Arduino-IRremote/releases

Kate Hartman
Make: Wearable Electronics: Design, prototype, and wear your own interactive garments

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.