Gesteuerter RGB-Tischlampe – Interaktive, berührungslose Beleuchtung
Komponenten und Zubehör
| Arduino UNO | ×1 |
| SmartElex RLS-08 Analog & Digital Line Sensor Array (8 IR-Sensoren) | ×1 |
| Jumper Wires (generic) | ×1 |
| LED Strip, NeoPixel Digital RGB (WS2812B) | ×1 |
Benötigte Werkzeuge und Maschinen
- Heißklebepistole
Apps und Online-Dienste
- Arduino IDE
Projektbeschreibung
Wir alle kennen verschiedene Arten von Stimmungslampen und RGB-Lichtern, die meist über Tasten oder Fernbedienungen gesteuert werden. Dieses Projekt realisiert eine gestengesteuerte RGB-Tischlampe, die ihre Farbe allein durch einfache Wischbewegungen ändert. Es handelt sich um ein interaktives Kunstprojekt auf Basis eines Arduino Uno und eines IR-Arraysensors – ideal für Schüler und Kinder.
Schritt 1: Materialbeschaffung
Alle Komponenten sind lokal oder online erhältlich:
- Arduino Uno
- IR-Sensor-Array (8 Sensoren)
- WS2812B adressierbare RGB-LEDs
- 5V, 2A Netzteil
Schritt 2: Funktionsprinzip
Der Sensor besteht aus 8 IR-Näherungssensoren, die 8 digitale/analoge Ausgänge liefern. Der Arduino erkennt die Bewegungsrichtung der Hand (Links- oder Rechtswisch) und steuert entsprechend die LED-Farben. Die folgende Abbildung zeigt den Sensor und die zugeordneten Gesten.
Schritt 3: Verdrahtung
IR-Sensor-Anschlüsse:
- GND → Arduino GND
- VCC → Arduino 5V
- Digital Out Sensor A → Pin 4
- Digital Out Sensor B → Pin 5
- Digital Out Sensor C → Pin 6
- Digital Out Sensor D → Pin 7
- Digital Out Sensor E → Pin 8
- Digital Out Sensor F → Pin 9
- Digital Out Sensor G → Pin 10
- Digital Out Sensor H → Pin 11
LED-Strip-Anschlüsse:
- GND → Arduino GND
- 5V → Arduino Vin
- Data In → Pin 3
Schritt 4: Programmierung
Der Code nutzt die FastLED-Bibliothek. Wichtige Parameter:
- Anzahl LEDs:
NUM_LEDS = 90(anpassbar) - Datenpin:
DATA_PIN = 3 - 8 Sensor-Variablen (a–h) speichern die Eingangssignale
- Zwei verschachtelte
if-Blöcke prüfen die Sensoren und steuern die LED-Farben - Funktion
fadeall()erzeugt den Farbverlaufseffekt
Der vollständige Code ist im Abschnitt „Code“ verfügbar.
Schritt 5: Bilder
Code
#include <FastLED.h>
int a,b,c,d,e,f,g,h,j=0;
#define NUM_LEDS 90
#define DATA_PIN 3
CRGB leds[NUM_LEDS];
void setup() {
for(int pin=4; pin<=11; pin++) pinMode(pin, INPUT);
LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
LEDS.setBrightness(84);
}
void fadeall() {
for(int i=0; i<NUM_LEDS; i++) leds[i].nscale8(250);
}
void loop() {
a=digitalRead(4); b=digitalRead(5); c=digitalRead(6); d=digitalRead(7);
e=digitalRead(8); f=digitalRead(9); g=digitalRead(10); h=digitalRead(11);
static uint8_t hue = 0;
// Links nach Rechts (Sensoren A & B)
if(a==1 && b==1) {
for(int i=4; i<55; i++) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
// Rechts nach Links (Sensoren G & F)
if(g==1 && f==1) {
for(int i=55; i>=4; i--) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
}
Schaltplan
Der Fritzing-Schaltplan zeigt die Verdrahtung mit 8 einzelnen IR-Sensoren oder einem Arraysensor.
Herstellungsprozess
- Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
- Gesten-gesteuerter Roboter mit Raspberry Pi
- LEDs mit Alexa über Raspberry Pi steuern – Einfache Schritt-für-Schritt-Anleitung
- Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
- SunGlass-BOT: Smarte Sonnenbrille mit automatischer Tönung
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Intelligenter kabelloser Lichtschalter-Controller: Arduino-basierter Fernschalter-Manipulator
- Sprachgesteuerter Roboter mit Arduino Nano bauen
- PiBot: Arduino-gesteuerter Klavierroboter für präzise Musikwiedergabe
- Arduino RGB-LED-Farbmischer – Einsteigerfreundliches DIY-Projekt