LED Küchenbeleuchtung mit berührungslosem Schalter
Table of contents
Warum?
Nachdem unsere sicher 30 Jahre alte Beleuchtung der Küchenarbeitsplatte auf Neonröhrenbasis mit einem lauten Knall seinen Geist aufgegeben hat, musste ein Ersatz her. Die erste Idee: Neue Beleuchtung von IKEA. Leider werden da inzwischen unheimlich viele Einzelteile benötigt und bei Funkschaltern sehe ich persönlich keinen Mehrwert. Deshalb war mein neuer Plan: Selbst bauen.
Ziele
- Gleichmäßige Beleuchtung über die gesamte Arbeitsfläche
- Links und rechts getrennt schaltbar
- Schalter ohne Berührung (zum Beispiel bei nassen Händen)
- Beim Einschalten soll das Licht langsam angehen und beim Ausschalten langsam ausgehen
- Bisschen Wert auf Nachhaltigkeit: Alles kann wieder rückgebaut und woanders weiterverwendet werden
Benötigte Komponenten
-
LED-Streifen
Ich habe mich hier für einen weißen 12V-LED-Streifen mit 60 LEDs/Meter entschieden. Hier findet man meiner Meinung nach ein gutes Mittelmaß an Helligkeit, Stromverbrauch und benötigtem Kabelquerschnitt. Das von mir gekaufte Set beinhaltet Trafo und zusätzlich einen Dimmer, ist warmweiß und mit Silikon überzogen und dadurch IP65 Wasserdicht.
Quelle: 5m-20m LED Stripe Set 2835 SMD Band Leiste Streifen warm kalt weiß Netzteil 12V
-
Arduino
Hier könnt ihr euch an sich ein beliebiges kompatibles Modell auswählen, ich habe mir ein Arduino-nano-kompatibles Gerät geholt.
Quelle: Nano ATmega328 V3.4 Board CH340 USB Chip Arduino kompatibel
-
Reflektierendes IR-Lichtschrankenmodul
Mangels Erfahrung habe ich es einfach mal auf einen Versuch ankommen lassen und zwei TCRT5000 bestellt. Falls ihr die Lichtschlange nur komplett schalten wollt, genügt hier auch eines.
Quelle: TCRT5000 Reflektierende IR Lichtschranke Optisch Sensor Modul Arduino Raspberry
-
MOS-FET Module
Wer Ahnung hat kann sich das sicher auch selbst aufbauen, ich habe den einfachen Weg genommen und fertige Module gekauft.
Quelle: DC 5-36V MOS-FET Feldeffekttransistor Triggerschalter Treibermodul 10tlg/set
Verschaltung
Code
Einfachheitshalber beschreibe ich den Code hier nur in Auszügen, größtenteils sollte dieser nach dem Lesen der Kommentare selbsterklärend sein.
In der setup()-Methode werden die Pins definiert, an denen der AO-Anschluss des Infrarot-Modules und der Trigger-PIN des MES-Fet-Moduls angeschlossen sind.
pinMode(leftIRSensorPin,INPUT);
pinMode(leftLedPin,OUTPUT);
Im der loop()-Methode werden nun in regelmäßigen Abständen die Sensoren ausgelesen. Sollte ein definierter Wert für eine definierte Zeit überschritten werden, werden die LEDs geschaltet (an wenn aus, aus wenn an).
leftIRSensorValue = analogRead(leftIRSensorPin);
if(leftIRSensorValue < iRSensorValueLimit) {
if(leftStartMillis==0) {
// Startzeit merken
leftStartMillis==millis();
}
if(millis()-leftStartMillis > minimalSwitchPressDuration) {
if(not leftLedIsOn) {
// schalte die LEDs langsam an
for (int i=0; i <= 255; i++) {
analogWrite(leftLedPin, i);
delay(5);
}
leftLedIsOn = true;
} else {
// schalte die LEDs langsam aus
for (int i=255; i >=0; i--) {
analogWrite(leftLedPin, i);
delay(5);
}
leftLedIsOn = false;
}
}
} else {
leftStartMillis=0;
}
Den kompletten Sketch könnt ihr hier herunterladen.