Dieses Tutorial beschreibt den Aufbau eines Tageslichtweckers, der sich über eine Android App via WLAN steuern lässt. Vom Weckzeitpunkt bis hin zur vollen Lichstärke benötigt der Wecker etwa 15 Minuten. Über einen kapazitiven Schalter lässt sich das Licht ausschalten. Optional (falls man einfach mal Licht auf dem Nachttisch braucht), kann man das Licht auch darüber einschalten.

 

# Bezeichnung ~Preis
1 ATMEL ATmega328P inkl. Arduino Bootloader 2,00 €
3 Kondensator 22 Pf (Keramik) 0,10 €
1 Kondensator 3600 uF (Elko) 0,30 €
1 Kondensator 0,47 uF (Elko) 0,05 €
1 Kondensator 1 uF (Elko) 0,05 €
1 Kondensator 1000 uF (Elko) 0,10 €
1 Quarz 16 MHz 0,10 €
1 Widerstand 1M Ohm 0,02 €
1 Widerstand 1K Ohm 0,02 €
1 Wiederstand 10K Ohm 0,02 €
2 Widerstand 1,5K Ohm 0,04 €
1 Widerstand 220 Ohm 0,02 €
8 Widerstand 100 Ohm 0,16 €
1 IC-Sockel 28 Polig 0,10 €
1 IC-Sockel 18 Polig 0,10 €
1 Spannungsregler 3,3V: L78L33 0,25 €
1 Wifi Modul ESP8266 4,00 €
1 Darlington-Array ULN2803 0,31 €
16 Weiße LEDs 5,00 €
1 Grüne oder Rote Status LED 0,05 €
2 Kippschalter 0,30 €
  Diverse Stiftleisten, Kabel und Stecker 1,00 €
  Gehäuse  
    < 15 €

 

Benötigte Werkzeuge:
# Bezeichnung
1 Breadboard und Steckverbinder oder Lötkolben und Lochrasterplatine
1 USB-Seriell Wandler (zum Programmieren des ATMEGA)
1 Netzteil 5V DC

 

Als erstes müsst ihr euch Gedanken darüber machen, in was für eine Hülle ihr den Wecker bauen wollt. Ich habe dafür eine Lampe von Grundig umgebaut:

Diese baut ihr erst einmal auseinander:

Nun bohrt ihr kleine (0,7mm) Löcher im Abstand von 5mm in den äußeren Ring. Für die LEDs bohrt ihr in den inneren Ring 16 Löcher mit 5 mm Durchmesser:

Nun lötet ihr kleine Drahtstücke am äußeren Ring zusammen und verbindet die LEDs. Dabei müsst ihr zunächste alle Anoden (+ Pol, längeres Beinchen!) mit einander verknüpfen (hier im inneren Ring).

Das ganze lötet ihr dann an einen Stecker mit folgender Belegung (sicht von oben, die Farben geben meine gewählte Kabelfarbe an):

LED1(Green) LED7(Green)
LED2(Green) LED8(Green/black)

LED3(Green) StatusLED (Yellow)

LED4(Green) Vcc (Red)

LED5(Green) CapSense (Blue)

LED6(Green) GND (Black)

Fertig sieht es dann so aus:

 

Kommen wir nun zur eigentlichen Platine. Dafür baut ihr die folgende Platine auf. Die Fritzing-Datei findet ihr hier.

Aufgebaut sieht das ganze dann so aus:

Weitere Ansichten inkl. der Schalter draußen:


Nun müsst ihr die Firmware darauf flashen. Diese findet ihr in diesem Repository im Verzeichnis "tageslichtwecker_wifi". Dabei ist es wichtig, dass ihr erst in der "tageslichtwecker.ino"-Datei eure WLAN-SSID  (WIFISSID, Zeile 53) und das Passwort (WIFIPASSWORD, Zeile 54) eintragt. Ich habe das ganze mit der Firmwareversion AI-v0.9.5.0 AT entwickelt.

Als Library habe ich die arduino-ESP8266 von Diaoul verwendet. Allerdings habe ich sie um das senden eines char-Arrays und eines Strings erweitert:

Hier die ESP8266.cpp:

// Sending a char*
size_t ESP8266::write(const char* buffer)
{

      if (send(_id, buffer) != ESP8266_COMMAND_OK)
        return 0;

    return 1;
}

// Sending a String
size_t ESP8266::write(String buffer)
{

    char tab2[100]; // Attention: max buffersize here!!
    strcpy(tab2, buffer.c_str());

    return write(tab2);
}

und die ESP8266.h:

	size_t write(const char* buffer);
	size_t write(String buffer);

Ihr könnt euch die von mir angepasste Library hier herunterladen.

Den Deckel mit den LEDs habe ich mit einer großen Schraube und einer Mutter (im inneren Ring, nicht im Bild sichtbar) fixiert:

Die Steuersoftware für Android befindet sich in dem o.g. Repository im "TageslichtweckerWifiAndroid"-Verzeichnis. Sie unterstützt sogar das Steuern von zwei Weckern gleichzeitig, falls man (wie ich) einen pro Bettseite baut.
Hier ein paar Screenshots:

 

 

Kommentare  

#1 Winter 2016-08-21 12:34
Hallo,
ich verstehe nicht warum ein Arduino und RTC-Modul eingebaut wurde, da Sie einn Treiber benutzen, können Sie alles auf dem ESP8266 Modul programmieren und ansteuern.Die Uhrzeit kann von einem der vielen Zeitdienste im Web abgerufen werden.
Das eingesparte Budget könnte man in einen kleinen LiPo Akku und Laderegler investieren. Die kleinen LED's durch einen COB 10W RGB ersetzen.
Oder man lässt die LED's weg und baut nur einen IR sender der eine E27 RGB LED Leuchte ansteuert.
#2 Marcel I. 2016-08-21 13:16
Hallo Winter,

das hatte ich auch mal überlegt. Ich habe den Gedankengang verworfen, da ich davon ausgegangen bin, dass das ESP-01 Modul keine PWM Pins hat. Aber du hast Recht, es müsste auch mit einem ESP-12 und Software PWM funktionieren. Die resultierende Schaltung wäre sogar noch simpler und kleiner.

grüße
Marcel