Projekt: LCD-Wecker
Dieser Wecker verwendet ein beleuchtetes grafisches LCD (240x128 Pixel) als Anzeige. Damit können neben der Uhrzeit in großen Ziffern auch die Weckzeiten der nächsten 3 Tage und einige weitere Informationen dargestellt werden. Die Bedienung und Konfiguration erfolgt komplett über einen Touchscreen, für die Abschaltung des Wecksignals dient ein Berührungssensor an der Gehäuseoberseite. Der Wecker bietet die Möglichkeit, bis zu 4 unabhängige Weck-Programme mit einer einstellbaren Länge von bis zu 28 Tagen festzulegen. Zusätzlich lassen sich die Weckzeiten für die nächsten 3 Tage bei Bedarf durch manuelle Eingabe ändern. Der Wecker kann auch komplett im manuellen Modus betrieben werden (z.B. während der Urlaubszeit), hier werden die Weckzeiten des laufenden Programms deaktiviert, das Programm läuft jedoch im Hintergrund weiter. Für das akustische Wecksignal stehen 10 Melodien bzw. Tonfolgen zur Verfügung. Die Lautstärke ist in 10 Stufen einstellbar, wobei auch eine ansteigende Lautstärke möglich ist. Weiterhin kann eine Schlummerzeit eingestellt werden. Die Synchronisierung der Uhrzeit erfolgt über einen DCF77-Empfänger. Ein USB-Modul und ein installierter Bootloader ermöglichen die Aktualisierung der Software ohne Öffnen des Gehäuses. Über das USB-Modul erfolgt außerdem die Stromversorgung des Weckers mittels 5V-Netzteil.
Letzte Bearbeitung: 11.03.2017
Schaltplan | |
Stückliste mit Empfehlungen zur Bauteilbestellung | |
Software v1.02 vom 04.03.2017 für ATmega1284P mit komplettem Quelltext in C | lcdwecker-atmega1284p-v102.zip |
AVR Bootloader von Chip45 | https://www.chip45.com/categories/chip45boot2_avr_atmega_xmega_uart_bootloader_frei_kostenlos_hexfiles.php |
Informationen, Datenblätter und Simulator für EA DOG Displays | http://www.lcd-module.de/produkte/dog.html |
Beschreibung | Allgemeine Informationen über den Wecker |
Schaltung | Beschreibung der Schaltung |
Hardware, Variante von Scott-Falk Hühn | Bilder und Hinweise zum Aufbau meiner Wecker-Variante |
Hardware, Variante von Mario Tautenhahn | Bilder und Hinweise zum Aufbau der Wecker-Variante von Mario Tautenhahn (tau.by@t-online.de) |
Software | Kurze Beschreibung der Software |
Inbetriebnahme | Inbetriebnahme des Weckers |
Bedienung | Bedienungsanleitung und komplette Beschreibung aller Funktionen |
Sonstiges | Einige Hintergrundinformationen zur Entwicklung des Weckers |
Der hier beschriebene Wecker ist nun schon weit über 10 Jahre bei mir im Einsatz und funktioniert immer noch tadellos, allerdings zeigen sich schon starke Alterungserscheinungen an den LEDs. Ein Austausch der LEDs wäre zwar möglich gewesen, ich habe aber die Gelegenheit genutzt und einen neuen Wecker entwickelt. Dieser unterscheidet sich erheblich von der alten Version durch folgende Eigenschaften:
- Übersichtliche Anzeige von Uhrzeit, 3 Weckzeiten und weiterer Informationen auf einem grafischen LC-Display (240x128 Pixel)
- Die komplette Konfiguration und Einstellung erfolgt über einen Touchscreen, die Alarm-Abschaltung über einen Berührungssensor an der Gehäuseoberseite
- Das Alarm-Signal kann aus 10 Tonfolgen/Melodien ausgewählt und in 10 Lautstärkestufen eingestellt werden (Lautstärke wahlweise fest oder ansteigend)
- Zusätzliches Alarm-Signal vor der Weckzeit (Schlummer-Modus)
- Programm-Modus mit 4 einstellbaren Weckzeit-Programmen für bis zu 28 Tage, unabhängig davon lassen sich die Weckzeiten für die nächsten 3 Tage manuell ändern
- Manuell-Modus für Urlaubszeiten, das aktuelle Weck-Programm läuft dabei im Hintergrund weiter
- Zeit-Synchronisierung über einen DCF77-Empfänger
- Stromversorgung über 5V-Standard-Netzteil mit Mini-USB-Anschluss, über den gleichen Anschluss ist eine PC-Verbindung zwecks Software-Update möglich
- 2 externe Alarmausgänge (Dauersignal und Signal im Sekundentakt) zur Steuerung weiterer Geräte
Der Wecker ist so konstruiert, dass er weitgehend autonom arbeitet. Man stellt einmalig das gewünschte Weckzeit-Programm ein und anschließend sorgt dieses automatisch jeden Tag für die richtige Einstellung der Weckzeit. Die einzige notwendige Bedienung ist das Ausschalten des Alarms zur Weckzeit. Das eingestellte Weckzeit-Programm läuft dabei in einer Endlosschleife und beginnt nach Ablauf wieder beim ersten Tag. Trotz dieses starren Ablaufs ist es jederzeit möglich, in den Prozess einzugreifen. Dazu gibt es die Möglichkeit, auf ein anderes der 4 Programme zu wechseln, einen einzelnen Tag abweichend vom Programm einzustellen oder auch komplett auf manuellen Betrieb umzuschalten. Der manuelle Betrieb deaktiviert die Vorprogrammierung der Weckzeiten, lässt das Programm aber im Hintergrund weiterlaufen, so dass es jederzeit taggenau wieder aktiviert werden kann.
Für die Bedienung des Weckers wird ein Touchscreen-Display verwendet. Dieses ist in mehreren Varianten erhältlich und lässt sich mit verschiedenen Hintergrundbeleuchtungen kombinieren. Die Helligkeit des Displays wird über einen Lichtsensor an die Umgebung angepasst, zusätzlich lässt sich eine minimale und eine maximale Helligkeit in jeweils 10 Stufen festlegen. Auf der verfügbaren Display-Fläche von 85mm x 44mm (240x128 Pixel) ist genug Platz für alle wichtigen Informationen. Der verwendete Touchscreen funktioniert nach dem resistiven Prinzip, d.h. eine einfache Berührung reicht hier leider nicht aus und man muss etwas fester aufdrücken. Dieses Prinzip wurde bei Pocket PCs und PDAs verwendet, die einige Jahre vor dem Smartphone weit verbreitet waren. Man kann den Wecker sehr gut mit einem Stift von einem solchen Pocket PC oder PDA bedienen, allerdings ist das nicht unbedingt praktisch. Aus diesem Grund sind die Menüs so aufgebaut, dass eine bequeme Finger-Bedienung möglich ist.
Die normale Anzeige des Weckers besteht aus einem großen Uhrzeit-Bereich, darunter befinden sich 3 Bereiche mit der Weckzeit von Heute, Morgen und Übermorgen. Über zwei weitere Bereiche hat man einen
direkten Zugang zu den Einstellungen und eine Umschaltmöglichkeit für den Wecker-Modus (Programm oder Manuell). Den Rest des Bildes füllen 2 Symbole aus, die den Status des Lautsprechers und des
DCF77-Empfangs zeigen. Grundsätzlich können alle umrahmten Bereiche berührt werden, um Aktionen auszulösen. Dabei wird zwischen einer kurzen (kleiner als 700ms) und einer langen Berührung (größer als
700ms) unterschieden. Dies wird entweder zur Auslösung von 2 unterschiedlichen Aktionen genutzt oder auch als Auto-Repeat-Funktion für eine schnelle Eingabe von Werten.
Die Zeit-Synchronisierung erfolgt über einen DCF77-Empfänger, wobei alle auf dem Markt angebotenen Typen verwendet werden können. Die notwendige Signalanpassung kann über ein Einstellungs-Menü festgelegt werden. Damit der Empfänger das Zeitsignal weitgehend störungsfrei empfangen kann, lässt sich der Wecker so einstellen, dass die Hauptstörquellen (Display und Hintergrundbeleuchtung) zur einer bestimmten Zeit deaktiviert werden. Zur Diagnose des DCF77-Empfangs kann das Signal bei Bedarf über die Alarm-LED angezeigt werden. Die Stromversorgung erfolgt über einen Mini-USB-Anschluss, der sich auf einem USB-Modul von ELV befindet. Über den gleichen Anschluss lässt sich der Wecker für Software-Updates mit einem PC verbinden.
Die Schaltung des LCD-Weckers ist relativ übersichtlich. Das zentrale Bauteil ist hier der Mikrocontroller ATmega1284P (IC3). Auffällig ist, dass der Mikrocontroller und einige weitere Schaltungsteile mit einer Spannung von 3,3V versorgt werden. Der Grund hierfür ist das verwendete Display EA DOGXL240S-7 (IC4), welches nur mit maximal 3,3V betrieben werden darf. Durch die Angleichung der Versorgungsspannung können IC3, IC4 und IC5 ohne Pegelwandler direkt miteinander kommunizieren. Die Stromversorgung des Weckers ist generell etwas ungewöhnlich: Die Spannung eines 5V-Netzteils wird über die Mini-USB-Buchse von IC1 zugeführt. IC1 ist ein USB-Seriell-Wandler-Modul von ELV, welches dafür gedacht ist, Mikrocontroller-Schaltungen auf einfache Weise mit einem USB-Anschluss auszurüsten. Über die Anschlüsse 4 und 5 von ST2 des Moduls werden die anliegenden 5V abgegriffen und zur Schaltung geführt. Hier ist direkt der Spannungsregler IC2 angeschlossen, der die 3,3V für IC3-IC5 bereitstellt. Da hier nur wenige Milliampere benötigt werden, genügt ein kleines Exemplar im TO92-Gehäuse. Die Hintergrundbeleuchtung des LCDs sowie der NF-Verstärker IC6 und das Sensorelement IC7 werden mit 5V versorgt. Hier liegt der Strombedarf bei 100mA und kann während des Weck-Alarms Spitzen von 200mA erreichen. Von IC1 sind weiterhin die Anschlüsse 2 und 3 von ST2 (TXD und RXD) direkt mit dem Anschlüssen 16 und 17 des Mikrocontrollers IC3 verbunden. Diese Verbindungen machen es möglich, Software-Updates über den USB-Anschluss zu installieren, indem man diesen mit einem PC verbindet.
Übrigens, IC1 soll laut Beschreibung an Anschluss 6 von ST2 eine Spannung von 3,3V mit maximal 100mA bereitstellen. Ich habe zwei dieser USB-Modul-Exemplare gestestet und beide lieferten 3,45V an diesem Anschluss und das ist leider zuviel für das LCD. Aus diesem Grund verwende ich nur den 5V-Ausgang und erzeuge die 3,3V separat über IC2. Noch mal übrigens: für IC1 kann man auch vergleichbare Module anderer Hersteller verwenden.
Der Mikrocontroller IC3 wird hier mit einer Taktfrequenz von 10MHz betrieben, das ist die höchste zulässige Frequenz bei einer Betriebsspannung von 3,3V. Die Kondensatoren C6 und C7 sind bewusst so gewählt - bei dieser Dimensionierung ergab sich die höchste Genauigkeit des Weckers (Abweichung kleiner als 0,5 Sekunden pro Tag). Die meiste Zeit verbringt der Controller mit dem Senden von Daten an das Display. Dies erfolgt in serieller Form über 4 Leitungen im so genannten SPI-Modus: Die Leitung CLK von IC3/1 an IC4/38 überträgt das Taktsignal mit 5MHz. Mit der gleichen Geschwindigkeit gelangen die Daten über die Leitung SI von IC3/15 an IC4/39. Die Leitung CD von IC3/28 an IC4/34 zeigt dem Display, ob ein Kommando- oder ein Datenbyte übertragen wird und die letzte Leitung CS von IC3/29 an IC4/36 wird zur Aktivierung der Schnittstelle verwendet. Weitere 4 Leitungen stellen die Verbindung zum Touchscreen her, welcher elektrisch unabhängig vom Display arbeitet: die Anschlüsse 37-40 von IC3 sind direkt mit den 4 Touchscreen-Elektroden RIGHT, TOP, LEFT und BOTTOM verbunden. Eine letzte Leitung steuert von IC3/4 über R4-R7 und T1 die Hintergrundbeleuchtung des LCD nahezu stufenlos über PWM. Obwohl die LEDs der Hintergrundbeleuchtung auch mit 3,3V versorgt werden können, werden sie wegen des höheren Strombedarfs von der kräftigeren 5V-Versorgung gespeist. Die Bauteile C8-C12 sowie R3 entsprechen der Empfehlung im Datenblatt und dienen zur Erzeugung einer zusätzlichen Spannung für das LCD.
Über den ISP-Anschluss J1 kann ein Programmiergerät für IC3 angeschlossen werden. Der Programmiervorgang ist nur einmal erforderlich, um einen so genannten Bootloader zu installieren. Weitere Programmiervorgänge können später über den USB-Anschluss von IC1 vorgenommen werden. Wer die Möglichkeit hat, den Mikrocontroller mit einem speziellen Programmiergerät vorzubereiten, der kann auf den Anschluss J1 verzichten. Es gibt noch weitere Anschlüsse, die nur bei Bedarf verwendet werden: An IC3/3 und IC3/5 können die Alarm-Signale des Weckers abgegriffen werden, um andere Geräte zu steuern. Der mit AL1 bezeichnete Ausgang liegt normalerweise auf Low-Pegel und geht auf High, solange ein Alarm signalisiert wird. Der Ausgang AL2 verhält sich ähnlich, gibt aber während des Alarms ein Impuls-Signal mit 1Hz aus (500ms High, 500ms Low). Der Anschluss GND muss bei Verwendung von AL1 oder AL2 mit der Masse des zu steuernden Gerätes verbunden werden.Die LED D1 mit dem Vorwiderstand R8 ist dafür gedacht, den Wecker-Alarm durch Blinken im Sekundentakt optisch anzuzeigen. Über eine Menü-Einstellung des Weckers lässt sich für Diagnosezwecke das DCF77-Signal an D1 sichtbar machen. Der Fototransistor T2 erfasst gemeinsam mit R9 und C13 die Umgebungshelligkeit. Diese wird vom Mikrocontroller am Anschluss 33 als Spannungswert gemessen und für die Steuerung der LCD-Hintergrundbeleuchtung verwendet. Mit dem DCF77-Modul IC5 wird das Zeitzeichensignal empfangen und vom Controller am Anschluss 20 eingelesen. Die Stromversorgung des DCF77-Empfängers erfolgt mit 3,3V, so kann der Empfänger direkt mit dem Mikrocontroller verbunden werden und es ist sichergestellt, dass der hier verwendete Empfänger von Pollin die vorgeschriebene Betriebsspannung bekommt. Andere DCF77-Empfänger können mit höheren Spannungen betrieben werden, laufen aber ebenfalls zuverlässig mit 3,3V.
IC6 ist ein NF-Verstärker mit einer Ausgangsleistung von 0,5W, welcher einen Steuereingang zur Lautstärkeeinstellung besitzt. Dieser wird nicht nur zur Einstellung der 10 möglichen Lautstärkestufen genutzt, sondern auch zur Erzeugung von ausklingenden Tönen. Das Ton-Signal gelangt von IC3/19 über den Spannungsteiler R10/R11 sowie den Kondensator C16 zum Eingang 2 des Verstärkers. Die Steuerung der Lautstärke erfolgt über ein PWM-Signal von IC3/21, welches mit dem Spannungsteiler R12/R13 auf einen passenden Spannungswert gebracht, mit C17 geglättet und dann zum Steuereingang 4 von IC6 geführt wird. Der Lautsprecher ist eine Miniatur-Version mit 0.2W und 16Ω und wird direkt an die Ausgänge 5 und 8 von IC6 angeschlossen. IC6 benötigt eine Betriebsspannung von mindestens 4,5V und wird deshalb mit 5V versorgt.Den NF-Verstärker gab es übrigens auch mal in einer DIL-Version als TDA7052A, dieser ist allerdings nicht mehr zu bekommen. Wer aber zufällig noch einen solchen übrig hat, der kann diesen für den Wecker verwenden. Das hat den Vorteil, dass man das IC ohne SMD-Adapter direkt auf die Platine löten kann. Außerdem lässt sich an den TDA7052A ein Lautsprecher mit 8Ω anschließen, was die erreichbare Lautstärke noch etwas erhöht.
IC7 ist ein spezielles Sensorelement, das innerhalb des Gehäuses untergebracht wird und Berührungen des Gehäuses in Sensornähe erkennt. Im Falle einer Berührung wird ein Low-Signal am Open-Drain-Ausgang 2 ausgegeben, welches der Mikrocontroller am Anschluss 2 auswertet. Ich habe mich für diesen Sensor entschieden, weil damit der gesamte Wecker ohne mechanische Bedienelemente auskommt. Das Sensorelement ist allerdings nicht ganz billig und man kann alternativ die Sensorschaltung auch so aufbauen wie in der Matrixuhr. Es ist aber auch möglich, anstatt des Sensors einen mechanischen Taster zu verwenden, der in der Schaltung als S1 eingezeichnet ist. Für die Software des Weckers macht das keinen Unterschied, da die elektrischen Signale von Sensor und Taster identisch sind.
Übrigens, beim Display und auch bei der Hintergrundbeleuchtung sind mehrere Versionen erhältlich. Damit man sich vor dem Kauf ein Bild von den möglichen Kombinationen machen kann, gibt es vom Hersteller der Display-Komponenten einen so genannten Simulator for EA DOG modules. Das Bild zeigt einen Screenshot mit der von mir verwendeten Kombination eines schwarzen (negativen) FSTN-Displays und einer Beleuchtung in Bernstein-Farbe (Amber). Wer dies nicht mag, der kann sich mit dem Simulator seine eigene Kombination zusammenstellen und dann die gewünschten Komponenten kaufen. Die Ansteuerung des Displays ist bei allen Varianten gleich, bei der Hintergrundbeleuchtung gibt es allerdings Unterschiede. Die Anschlussbelegung ist teilweise anders und die weiße Beleuchtung braucht eine höhere Spannung, was einen zusätzlichen Spannungswandler erfordert.Noch einige Informationen zur Stromversorgung des Weckers: Das schöne an den heutigen Schaltnetzteilen ist die kleine Bauform und vor allem die recht gute Energieeffizienz. Leider produzieren Schaltnetzteile bedingt durch ihr Funktionsprinzip jede Menge Störungen, die mehr oder weniger über das USB-Kabel auch in den Wecker gelangen. Bei Aufbau und beim Betrieb des Weckers hat sich insbesondere bei meinem Bastler-Kollegen Mario Tautenhahn gezeigt, dass ein zuverlässiger DCF77-Empfang sehr stark vom verwendeten Netzteil abhängig ist. Ich hatte wohl mehr Glück und mein Wecker synchronisiert zuverlässig mit einem Netzteil von Hama, welches ich vor einiger Zeit sehr günstig bei Pollin gekauft hatte (leider nicht mehr lieferbar).
Aus diesem Grund gibt es nur eine relativ teuere Netzteil-Empfehlung in der Stückliste. Dieses Netzteil liefert eine saubere Ausgangsspannung und verursacht keine Störungen beim DCF77-Empfang. Leider wird dieses Netzteil mit einem Hohlstecker 2,1mm geliefert, so dass man zusätzlich noch einen Adapter auf Mini-USB bauen muss. Deshalb meine Empfehlung: Zunächst die Wohnung nach einem nicht mehr benötigten Netzteil mit Mini-USB-Anschluss absuchen und damit probieren. Wenn man Glück hat und damit die DCF77-Synchronisierung gelingt, dann ist alles gut. Falls man nichts geeignetes findet, dann kann man immer noch zum Netzteil aus der Stückliste zurückgreifen.
Die gesamte Schaltung wurde bis auf den DCF77-Empfänger IC5 und das Sensorelement IC7 auf einer Lochrasterplatine untergebracht. Diese musste zunächst vom ursprünglichen Euro-Format auf eine Größe von 142mm x 79mm zugeschnitten werden. Außerdem wurden verschiedene Aussparungen für den Sensor, den DCF77-Empfänger und die Gehäuseverschraubungen ausgesägt.
Auf der linken Seite befindet sich das USB-Modul, welches über Stiftleisten auf die Platine aufgelötet wurde. Daneben sind IC2 und C1 für die Erzeugung der 3,3V zu sehen. Direkt über dem USB-Modul befindet sich die LED D1 und weiter oben der Fototransistor T2, der äußerlich auch wie eine LED aussieht. Daneben ist der Lautsprecher zu erkennen, der mit einem Stück doppelseitigem Klebeband auf der Platine fixiert wurde. Rechts und unterhalb des Lautsprechers ist die Verstärkerschaltung mit IC6 platziert. Da der Verstärker nur als SMD-Bauteil erhältlich ist, wurde er auf einer kleinen Adapterplatine untergebracht und diese wurde wiederum auf die Hauptplatine aufgelötet. Die beiden Kondensatoren C14 und C15 sollten sich möglichst nah an IC6 befinden.Die rechte Seite nimmt der Mikrocontroller IC3 mit seiner Außenbeschaltung ein. Auch hier sollten die Kondensatoren C2-C5 möglichst nah an IC3 platziert werden. Oben und unten am Platinenrand befinden sich die Steckverbinder für das Display IC4, die für IC4 notwendigen Bauteile R3 und C8-C12 sind direkt neben dem oberen Steckverbinder untergebracht. Unterhalb des Mikrocontrollers befindet sich noch der Treiber für die Hintergrundbeleuchtung, bestehend aus T1 und R4-R7. Rechts unten habe ich den ISP-Anschluss J1 so angebracht, dass er von außen zugänglich ist. So konnte ich bei der Entwicklung der Software den Mikrocontroller direkt ansprechen. Für den Nachbau ist das jedoch nicht erforderlich.
Links oben und unten befindet sich jeweils noch eine kleine Buchsenleiste. Die obere ist 3-polig und hier wird später das Sensorelement IC7 aufgesteckt, welches ich im oberen Gehäuseteil untergebracht habe. Die untere 4-polige Buchsenleiste ist für den DCF77-Empfänger bestimmt, der sich im unteren Gehäuseteil befindet.
Dieses Bild zeigt die Platine mit aufgestecktem Display, in dem sich der leicht bewölkte Himmel spiegelt. Beim Platzieren der Bauteile auf der Platine muss man beachten, dass zwischen Platine und
Display nur etwa 4,5mm Platz zur Verfügung steht. Aus diesem Grund wurde der Mikrocontroller IC3 ohne Fassung direkt auf die Platine gelötet. Weitere Bauteile wie z.B. Elektrolyt-Kondensatoren müssen
liegend bestückt werden. Der Lautsprecher hat eine niedrigere Bauhöhe und konnte deshalb zu einem kleinen Teil unter dem Display Platz finden.
Ein Bauteil musste auf dieser Seite der Platine untergebracht werden: der Spezialstecker für das Anschlusskabel des Touchscreens. Dieser ist oben im Bild zu sehen und hier ist auch schon das Kabel
angeschlossen.
Der Platinenausschnitt über dem Steckverbinder ist notwendig, damit das knapp bemessene Touchscreen-Anschlusskabel bis zum Stecker reicht. Außerdem wurden rechts daneben einige Millimeter von der
Platine abgeschliffen, hier befindet sich später das Sensorelement IC7.
Zum Anschluss des Folienkabels muss zunächst die schwarze Verriegelung herausgezogen werden. Anschließend wird das Kabel vorsichtig soweit möglich in den Steckverbinder geschoben und dann die
Verriegelung wieder eingeschoben.
Zunächst wird von der Unterseite des Displays sowie von der Hintergrundbeleuchtung die Schutzfolie entfernt. Anschließend steckt man beide Teile zusammen und verlötet die Anschlüsse 1-3 und 18-20 von oben, also auf der Displayseite. Das ist wichtig, damit die LED-Anschlüsse der Beleuchtung eine elektrische Verbindung mit den Stiften haben. Bei der anderen Stiftreihe ist das nicht erforderlich, trotzdem empfehle ich, wenigstens die Anschlüsse 21 und 40 zu verlöten, damit Display und Beleuchtung fest miteinander verbunden sind.
Im nächsten Schritt muss der Touchscreen auf das Display geklebt werden und das ist etwas knifflig. Auch hier müssen zunächst einige Schutzfolien entfernt werden: die Folie von der Display-Oberseite und zwei Folien von der Touchscreen-Unterseite. Dabei wird eine Klebeschicht freigelegt, die möglichst nicht berührt werden sollte. Jetzt muss der Touchscreen exakt auf das Display aufgelegt werden. Dabei kann man sich gut an den Rändern von Display und Touchscreen orientieren: Beide Teile haben die gleichen Abmessungen und liegen dann genau übereinander. Hier muss sehr sorgfältig gearbeitet werden, denn man hat nur einen Versuch. Wenn der Touchscreen einmal auf dem Display klebt, kann er nicht mehr zerstörungsfrei vom Display entfernt werden.
Der Wecker passt in ein Kunststoffgehäuse von TEKO mit den Außenmaßen von 155mm x 96mm x 28mm. Das Bild zeigt das untere Gehäuseteil, welches bereits die Aussparungen für den USB-Anschluss und den
Programmieranschluss hat, wobei letzterer nicht unbedingt von außen zugänglich sein muss. Weiterhin wurde die DCF77-Antenne mit Heißkleber fixiert.
Im oberen Gehäuseteil ist ein großer Ausschnitt für das Display erforderlich, außerdem kleinere Ausschnitte an den Seiten für den USB-Anschluss und den Programmieranschluss (optional). Weiterhin wurden noch einige Löcher für LED und Fototransistor sowie die Schallöffnung über dem Lautsprecher gebohrt. Neben der Bohrung für den Fototransistor habe ich noch einige Plastikstücke als Sichtschutz angeklebt. Diese sollen verhindern, dass Licht von der Display-Beleuchtung auf den Fototransistor gelangt.
Der Berührungssensor wurde mit Zweikomponentenkleber am oberen Gehäuserand befestigt. Das Kabel wurde gekürzt und eine 3-polige gewinkelte Stiftleiste angelötet. Diese wird dann vor dem Zusammenfügen der Gehäuseteile in die entsprechende Buchsenleiste der Platine gesteckt.
Oberhalb und unterhalb der Displayöffnung habe ich noch einen Streifen aus dünnem Moosgummi (0,5mm) aufgeklebt. Dieser sorgt für eine weiche Auflage des Gehäuseoberteils auf dem Touchscreen.
Da das Gehäuse des Weckers gebogene Kanten hat, lässt es sich nicht ohne Hilfsmittel aufstellen. Ursprünglich hatte ich vor, eine Art Gestell aus Plexiglas zu bauen, in das man den Wecker einfach hineinstellen kann. Das war mir aber zu viel Aufwand und so kam mir die Idee, eine PVC-Platte so an der Rückseite anzubringen, dass sie zu einem Aufsteller aufgeklappt werden kann. Ein erster Versuch mit kleinen Scharnieren war leider nicht so erfolgreich, da sich diese nicht zuverlässig am Gehäuse ankleben ließen und sich der Aufsteller bei etwas grober Benutzung wieder löste. Bessere Ergebnisse brachte die Verwendung eines Stoff-Streifens (Baumwoll-Saumband aus Muttis Nähkasten) von 30mm Breite, der jeweils zur Hälfte flächig auf Rückwand und Aufsteller geklebt wird. Für den Anschlag sorgt ein weiteres Stück dieses Stoffes, das so angeklebt wurde, dass der Aufsteller ungefähr 70mm vom Gehäuserand gehalten wird.
Damit steht der Wecker stabil und lässt sich auch gut ablesen. Einen keinen Nachteil möchte ich aber nicht verschweigen: Der Wecker muss bei der Touchscreen-Bedienung festgehalten werden. Aber man
kann den Aufsteller bei Bedarf einfach an die Gehäuse-Rückwand klappen und den Wecker gut transportieren. Das Halteband faltet sich dabei und legt sich zwischen Gehäuse und Aufsteller.
Bei dieser Variante wurde der USB-Anschluss auf die Rückseite verlegt, damit seitlich kein Kabel zu sehen ist. Das spart im Inneren Platz und gibt in dieser Bauweise die nötige Stabilität für den
Steckkontakt. Die ELV-Platine wurde direkt mit kleiner Distanzscheibe auf das Gehäuse geschraubt.
Dieses Bild zeigt den fertigen USB-Anschluss.
Die Platine ist ähnlich aufgebaut wie die von Scott-Falk. Es wurde ein etwas höheres Gehäuse (TEKO TN23.29) verwendet und da hier etwas mehr Platz in der Tiefe zur Verfügung steht, war der Plan, einen IC-Sockel für den Mikrocontroller zu verwenden. Die Anzeige wird hier in 2 ineinander gesteckte Stiftleisten gesteckt. Leider konnte nicht ausreichend Platz für den einen IC-Sockel gewonnen werden.
Beim Ermitteln der besten Antennenposition hat sich herausgestellt, dass es günstiger ist, die Spule auf dem Ferritkern auf der linken Seite zu haben. Das DCF-Modul wurde neben dem Controller nahe des Pin 20 angeordnet. Beim Einbau der Platine wurden zwischen Gehäuse-Befestigung und Platine 3mm Distanzhülsen untergelegt. Dann stimmt später der Abstand zwischen Touchscreen und Gehäusedeckel genau.
Da das Kabel des Touchscreens nicht gerade lang ist, wurde der Steckverbinder in eine kleine Aussparung senkrecht eingeklebt und seitlich verlötet.
Auf diesem Bild sieht man die Wecker-Platine von unten. Auch diese wurde handverdrahtet, allerdings nicht mit Kupferlackdraht, sondern mit dünnem Schaltdraht (0,25mm). Das auf der rechten Seite
sichtbare Kabel verbindet die DCF77-Antenne mit dem Empfänger.
Hier ist der komplett montierte und betriebsbereite Wecker zu sehen.
Ein Problem war noch zu lösen: der Schwerpunkt musste stabilisiert werden. Dies gelang durch einen zusätzlichen Silikon-Fuß in der Mitte. Der Wecker kippt so nicht mehr nach vorn. Die Silikon-Füße
haben auch noch den Vorteil, dass der Wecker beim Bedienen des Touchscreens nicht so leicht rutscht.
Die Software des LCD-Weckers ist vollständig in C geschrieben. Der Quelltext besteht aus den folgenden 5 Dateien:
main.c | enthält das komplette Hauptprogramm |
charset.h | enthält Zeichensätze für Ziffern, Symbole und Textelemente |
strings.h | enthält eine Stringliste in deutscher und englischer Sprache |
tables.h | enthält Tabellen für die Display- und Touchscreen-Elemente |
sound.h | enthält eine Frequenztabelle und die Notenwerte der 10 Tonfolgen bzw. Melodien |
Der Quelltext in der Datei main.c beginnt zunächst mit einer Liste von Bibliotheken, die vom Programm benötigt werden. Anschließend werden diverse Konstanten definiert, die auch modifiziert werden können. Auch die Belegung des EEPROM-Speichers wird mit Konstanten realisiert, die man aber nicht ändern sollte. Danach folgt ein großer Definitionsblock für Variablen mit viel Kommentartext. Darunter beginnt der eigentliche Programmteil. Dieser besteht grundsätzlich aus 4 Blöcken: den Interrupt-Routinen, vielen Funktionen, der Initialisierung und der Hauptprogrammschleife. Das Programm beginnt mit der Initialisierung, läuft dann in der Hauptprogrammschleife und ruft dabei verschiedene Funktionen auf. Durch Ereignisse gesteuert, werden dann die Interrupt-Routinen aktiv. Die Beschreibung der Programmblöcke erfolgt in der zuletzt genannten Reihenfolge, auch wenn sie im Quelltext anders angeordnet sind. Völlig unabhängig vom eigentlichen Programm gibt es sozusagen noch einen 5. Block, der nur beim Systemstart kurz aktiv wird: der Bootloader. Dieser wurde als fertiges Programm übernommen und ist deshalb nicht im Quelltext zu finden.
Initialisierung:Diese wird bei jedem Systemstart oder Reset ausgeführt und stellt zunächst alle I/O-Ports ein, konfiguriert USARTs und Timer für die benötigte Funktion und aktiviert außerdem den Analog-Digital-Konverter. Der nachfolgende Block liest alle Einstellungen aus dem EEPROM-Speicher und prüft die Werte auf Plausibilität. Nicht zulässige Werte werden dabei auf eine Standard-Einstellung gesetzt. Somit ergibt sich bei der Verwendung eines fabrik-neuen Mikrocontrollers automatisch eine sinnvolle Grundeinstellung des Weckers. Nach dem Initialisieren des Displays und dem Setzen einiger Variablen geht das Programm in die Hauptprogrammschleife über.
Hauptprogrammschleife:
Dieser Programmteil erledigt alle zyklischen Aufgaben des Weckers und läuft in einer endlosen Schleife. Den Anfang macht ein recht großer Block, der für die Ausgabe der Informationen auf dem Display
zuständig ist. Hier sind viele Verzweigungen enthalten, da verschiedene Menü-Anzeigen berücksichtigt werden müssen. Grundsätzlich wird bei jeder Ausgabe die darzustellende Information in Pixel zerlegt
und als Bitmap in einen 3840 Byte großen LCD-Puffer geschrieben. Nach dem vollständigen Aufbau eines Menü-Bildes wird der Inhalt des LCD-Puffers an das Display gesendet.
Im nächsten Abschnitt erfolgt die Auswertung der empfangenen DCF77-Daten und zwar immer dann, wenn von der bereits erwähnten Timer-Interrupt-Routine ein vollständig empfangenes Datenpaket vorliegt. Der DCF77-Datensatz wird dann dekodiert und ein Plausibilitätstest durchgeführt. Zur Sicherheit schließt sich noch ein Vergleich der Zeitinformation mit den beiden vorherigen Datensätzen an und wenn alles stimmt, wird die Zeit übernommen.
Im letzten Abschnitt erfolgen verschiedene Status-Prüfungen, außerdem werden einige Timeout-Zähler ausgewertet und die damit verknüpften Aktionen ausgeführt. Ein relativ großer Block steuert die Weck-Programme und reorganisiert den Weck- und Schlummer-Alarm. Hier wird dafür gesorgt, dass das aktuelle Weck-Programm bei einem Tageswechsel korrekt weiterläuft und jeden Tag die richtigen Zeiten für Schlummern und Wecken eingestellt werden.
Funktionen:
Dieser Programmteil steht im Quelltext vor dem Hauptprogramm und enthält über 40 Funktionen, die vom Hauptprogramm aufgerufen werden. Den Anfang machen einige Steuerfunktionen für die Kommunikation
mit dem Display. Diese erfolgt seriell über eine SPI-Schnittstelle. Da ich nicht den Programmieranschluss des Controllers (der ebenfalls mit SPI arbeitet) verwenden wollte, betreibe ich einen der
USARTs im SPI-Modus. Das ermöglicht den Transfer der Daten mit einem Takt von 5MHz. Bevor ein Bild zum Display transferiert werden kann, wird es im LCD-Puffer zusammengesetzt. Dazu dienen die nächsten
Funktionen, hier können einzelne Pixel, Linien oder auch komplette Rahmen gezeichnet werden. Es folgenden etwas aufwändigere Funktionen für die Ausgabe von Großziffern, Symbolen sowie einzelnen
Zeichen und Strings in normaler Schriftgröße. Alle diese Funktionen benutzen wiederum die bereits erwähnte Funktion zum Setzen eines Pixels. Einige spezielle Funktionen zum Trennen eines langen
Strings und zur Ermittlung der Pixelbreite von Zeichen oder Strings beenden die Display-Funktionen.
Interrupt-Routinen:
Im Wecker sind 2 Interrupt-Routinen aktiv. Die erste wird vom Timer3 alle 20ms (also 50 mal pro Sekunde) aufgerufen. Hier wird relativ viel Arbeit geleistet:
- Lesen des DCF77-Signals und Ermitteln der Impulslänge, Speichern des erkannten Bits im DCF77-Puffer
- Lesen des Helligkeitswertes vom ADC, Bildung des Mittelwertes, Steuerung der Helligkeitsbegrenzung und Ausgabe des PWM-Wertes an den Timer0
- Konfiguration der Touchscreen-Anschlüsse, Aktivieren des ADC und prüfen, ob eine Touchscreen-Berührung vorliegt
- Konfiguration der Touchscreen-Anschlüsse, Aktivieren des ADC und Lesen des Touchscreen-X-Rohwertes
- Konfiguration der Touchscreen-Anschlüsse, Aktivieren des ADC und Lesen des Touchscreen-Y-Rohwertes
- Touchscreen-Bedienung auswerten und Status setzen
- Berührungssensor lesen und Status setzen
- Weckton-Erzeugung steuern: Lautstärke setzen, Note lesen, Frequenz aus Tabelle holen und Timer1 setzen, Notenlänge ermitteln, nächste Note spielen
- optischen Alarm und externe Alarmausgänge steuern
- Zeitzählungskette (1/50 Sekunde, Sekunde, Minute, Stunde, Tag, Wochentag, Monat, Jahr)
- weitere unabhängige Zählkette (1/50 Sekunde, Sekunde, Minute) für verschiedene Timeout-Zähler
Die zweite Interrupt-Routine ist sehr übersichtlich und speichert die letzten beiden Bytes, die über USART1 (USB) empfangen wurden. Das Hauptprogramm erkennt an diesen Bytes, ob ein Software-Update durchgeführt werden soll und startet gegebenenfalls den Bootloader.
Bootloader:
Der Bootloader ist ein spezielles Programm, welches nur beim Systemstart aufgerufen wird. Er wird in einem abgegrenzten Bereich des Flash-Speichers abgelegt und hat die Aufgabe, eine serielle
Verbindung zu einem PC herzustellen und auf Kommandos zu warten. Klappt der Verbindungsaufbau, dann kann auf diesem Weg eine neue Wecker-Software in den Flash-Speicher übertragen werden. Kommt keine
Verbindung zustande, dann wird der Bootloader nach ungefähr 3 Sekunden wieder verlassen und das normale Weckerprogramm gestartet. Den Bootloader habe ich nicht selbst entwickelt und als fertiges
Programm von der Homepage der Firma Chip45 geladen.
Für die Inbetriebnahme des LCD-Weckers wird die aktuelle Software v1.00 vom 01.07.2016 für den ATmega1284P benötigt. In diesem Paket befinden sich alle Projekt-Dateien des Weckers für das Atmel Studio 7, die fertig kompilierte HEX-Datei sowie der Bootloader. Für die Inbetriebnahme sind folgende beiden Schritte notwendig:
Schritt 1: Installation des Bootloaders und Setzen der Fuse-Bits mittels Programmiergerät über den ISP-AnschlussSchritt 2: Installation der Wecker-Software mittels Bootloader über den USB-Anschluss
Die für die Installation wichtigen Komponenten sind nach dem Entpacken des Softwarepaketes an folgenden Stellen zu finden:
LCD-Wecker\Bootloader | chip45boot2_atmega1284p_uart1_v2.9Q.hex | Bootloader-Software |
LCD-Wecker\LCD-Wecker\Release | LCD-Wecker.hex | LCD-Wecker-Software |
Schritt 1 - Installation des Bootloaders
Der erste Teil der Installation ist sozusagen eine Standard-Prozedur und wird ausführlich auf der Seite AVR-Programmierung beschrieben. Die folgende Anleitung ist deshalb sehr kurz und beschränkt sich auf die Besonderheiten beim Wecker.Zunächst wird das Programmiergerät, z.B. mySmartUSB light über das beiliegende Flachbandkabel mit dem ISP-Anschluss J1 des Weckers verbunden und anschließend an den PC angesteckt. Nun wird der Wecker über den Mini-USB-Anschluss an eine Stromquelle angeschlossen. Hier empfehle ich eine Verbindung zum gleichen PC, der dann natürlich 2 verfügbare USB-Anschlüsse haben muss. Das vereinfacht die gesamte Installation, weil man für weitere Arbeiten kein Kabel umstecken muss. Alternativ kann man für diesen Installationsschritt auch das vorgesehene Netzteil für die Stromversorgung verwenden. Beim erstmaligen Anschluss des Weckers über USB an den PC wird automatisch ein Treiber installiert (Silicon Labs CP210x USB to UART Bridge).
Verwendet man das myAVR ProgTool, dann sehen die Einstellungen so aus wie im Bild nebenan. Wichtig ist der Haken bei Flash brennen: und die Auswahl der richtigen Datei (chip45boot2_atmega1284p_uart1_v2.9Q.hex) sowie der Haken bei Fuses brennen: und die folgenden 3 Werte:
Low: ✓ 0xFF
High: ✓ 0xD4
Ext.: ✓ 0xFD
Ich habe für die Übertragung des Bootloaders in den Mikrocontroller das Atmel Studio 7.0 sowie ein AVR Dragon verwendet. Das Bild zeigt die Einstellung der Fuse-Bits im Klartext und auch die Werte für die 3 Fuse-Bit-Register. Andere Programmiersoftware bietet oft nicht so einen übersichtlichen Dialog an. Hier werden stattdessen die hexadezimalen Werte für die 3 Fuse-Bit-Register erwartet und direkt geschrieben (z.B. bei AVRDUDE). In diesem Fall kann man die 3 benötigten Werte aus dem unteren Teil des Bildes entnehmen:
EXTENDED = 0xFDHIGH = 0xD4
LOW = 0xFF
Schritt 2 - Installation der Wecker-Software
Nach der erfolgreichen Übertragung des Bootloaders und Einstellung der Fuse-Bits passiert erst mal noch nichts auffälliges am Wecker. Aber das täuscht, denn der Bootloader ist jetzt aktiv und wartet auf eine Verbindung. Diese wollen wir jetzt herstellen und speziell für diesen Bootloader bietet der Hersteller chip45 das Programm chip45boot2 GUI V1.13 (oder neuer) für Windows zum Download an. Es gibt dort übrigens auch Links auf Software für Mac OS X und Linux.
An dieser Stelle ist es wichtig, dass der Wecker über den USB-Anschluss mit dem PC verbunden ist. Außerdem muss der Treiber für das USB-Modul installiert sein. Dies kann man im Geräte-Manager von
Windows überprüfen und hier muss der im Bild markierte Eintrag vorhanden sein. Der zugewiesene COM-Port (der nicht identisch sein muss) ist wichtig für die nächste Aktion.
Select COM Port - Hier wird der im vorherigen Bild angezeigte COM-Port (hier COM14) ausgewählt.
Show Non-Standard Baudrates - Hier muss ein Haken gesetzt werden.
Baudrate - 125000 auswählen.
Flash Hexfile - Hier wird über den Button Select Flash Hexfile die Datei LCD-Wecker.hex aus dem Software-Paket ausgewählt.
Klappt der Verbindungsaufbau nicht, dann sollte man (ohne die Software zu beenden) den Wecker vom USB-Anschluss trennen, wieder anstecken und sofort nach dem Erkennen des USB-Gerätes nochmals auf
Connect to Bootloader klicken.
Damit ist die Installation abgeschlossen und das Programm kann über den Button Exit beendet werden. Dabei wird im Mikrocontroller der Bootloader beendet und das Wecker-Programm
gestartet.
Obwohl der Touchscreen mit den Fingern bedient werden kann, empfehle ich für die Kalibrierung einen Stift. Optimal geeignet ist der Stylus eines alten Pocket PCs oder PDAs so wie im nebenstehenden
Bild. Man kann sich aber auch mit einem stumpf geschliffenen Zahnstocher behelfen. Auf keinen Fall sollten spitze Gegenstände oder Gegenstände aus Metall verwendet werden. Mit dem gewählten Werkzeug
werden dann nacheinander alle 4 mit Linien markierten äußeren Eckpunkte angetippt. Die Reihenfolge spielt keine Rolle, auch kann man einen Punkt nochmals berühren, falls man beim ersten Versuch nicht
so genau getroffen hat - es wird immer die Position der letzten Berührung jeder Ecke verwendet.
Man kann die Kalibrierung über Abbruch beenden, allerdings sind dann Ungenauigkeiten bei der Touchscreen-Bedienung zu erwarten. Übrigens, solange die Kalibrierung nicht
vollständig durchgeführt wurde, erscheint das Kalibrierungs-Menü bei jedem Systemstart.
Software-Updates können übrigens nach der gleichen Anleitung (beginnend ab Schritt 2) installiert werden. Hierfür wird nur eine USB-Verbindung zum PC und das weiter oben beschriebene Programm chip45boot2 GUI V1.13 benötigt. Beim Update gehen keine Daten verloren und es ist auch keine erneute Touchscreen-Kalibrierung notwendig.
Zunächst einige allgemeine Informationen über die Bedienung des Weckers: Alle angezeigten Elemente auf dem Display sind umrahmt und grundsätzlich lässt sich durch Berühren der meisten Elemente eine Aktion auslösen. Bei der Berührung wird zwischen einer kurzen Berührung (< 700ms) und einer langen Berührung (> 700ms) unterschieden, allerdings wird die lange Berührung nicht bei allen Elementen genutzt. Ich verwende in der nachfolgenden Beschreibung immer den Begriff „Berühren“, in der Realität muss man technisch bedingt etwas fester auf den Touchscreen drücken.
Grundsätzlich wird jede Eingabe sofort ausgeführt und gespeichert, eine spezielle Funktion zum Speichern gibt es deshalb nicht. Viele Einstellungen befinden sich in Unter-Menüs, die entweder direkt von der normalen Anzeige aus oder aber von einem Einstellungs-Menü aufgerufen werden können. Zum Verlassen eines solchen Menü gibt es die Funktion Zurück und man gelangt dabei an die Stelle zurück, von der das Unter-Menü aufgerufen wurde. Es gibt allerdings 2 Besonderheiten: Beim Kalibrieren des Touchscreens und bei der manuellen Eingabe von Datum und Uhrzeit müssen zunächst alle Werte eingegeben werden. Erst dann erfolgt durch Berühren eines Häkchen-Elementes (✓) die Ausführung der entsprechenden Aktion oder die Eingaben werden über die Funktion Abbruch komplett verworfen.Der Wecker kann in 2 Modi betrieben werden:
Programm: Die Weckzeiten werden grundsätzlich von einem voreingestellten Programm bestimmt. Es ist möglich, 4 Programme zu definieren und jedes Programm kann unabhängig auf eine Länge zwischen einem Tag und 28 Tagen eingestellt werden. Damit ist es möglich, Weckzeiten für verschiedene Schichtpläne vorzuprogrammieren, die der Wecker dann automatisch übernimmt. Die Alarme für die nächsten 3 Tage (Heute, Morgen und Übermorgen) sind zur Kontrolle jederzeit sichtbar und können auch für Ausnahmefälle geändert werden (z.B. an einem freien Tag oder anderer Schicht). Diese Änderung gilt dann nur für den einen Tag und hat Vorrang gegenüber der Weckzeit im Programm und das gilt auch, wenn ein anderes Programm gewählt wird.Manuell: Die Vorprogrammierung ist in diesem Modus komplett deaktiviert. Die Alarme für die nächsten 3 Tage (Heute, Morgen und Übermorgen) werden hier grundsätzlich manuell eingegeben und gelten dann auch nur für diesen einen Tag.
Es ist jederzeit ein Wechsel zwischen den beiden Modi möglich, da auch im manuellen Betrieb das zuletzt gewählte Weckprogramm im Hintergrund weiterläuft. So kann man z.B. im normalen Alltag den Programm-Modus verwenden, während der Urlaubszeit auf Manuell wechseln und am Ende des Urlaubs wieder auf Programm zurückschalten. Die Weckzeiten werden dann wieder aus dem laufenden Programm entnommen. Aber bitte beachten: manuelle Eingaben für die nächsten 3 Tage haben immer Vorrang gegenüber den Weckzeiten aus dem Programm.Normale Anzeige
Wenn der Wecker eingeschaltet wird, dann erscheint nach einer kurzen Wartezeit von ungefähr 3 Sekunden (bedingt durch den Bootloader) die Normale Anzeige. Diese bleibt ständig aktiv und von hier aus können alle Einstellungs-Menüs erreicht werden. Wechselt man durch Berührung eines Elementes in ein Einstellungs-Menü, dann schaltet der Wecker 2 Minuten nach der letzten Bedienung wieder zurück zu dieser Anzeige.Das nebenstehende Bild zeigt die normale Anzeige des Weckers direkt nach der Inbetriebnahme. Das Datum ist zunächst auf den 1. Juni 2016 voreingestellt, der Wecker-Modus steht auf Manuell und die Alarme für die nächsten 3 Tage (Heute, Morgen und Übermorgen) sind noch nicht definiert.
Den größten Teil der Anzeige nimmt die Uhrzeit ein, die in großen Ziffern die aktuelle Stunde und Minute anzeigt. Der Doppelpunkt blinkt hier mit 0,5Hz (eine Sekunde an, eine Sekunde aus). Unter der
Uhrzeit sind die Alarme für die nächsten Tage zu sehen. Auch hier werden für die Weckzeiten größere Ziffern verwendet, wie man auf weiteren Bildern noch sehen kann. 4 weitere Elemente füllen die
übrigen Teile der Anzeige aus und werden im folgenden Text genauer beschrieben.
Element Uhrzeit | Zeigt ständig in großen Ziffern die aktuelle Uhrzeit mit Stunde, Minute und blinkendem Doppelpunkt an. |
Aktion bei kurzer Berührung | Anzeige von Sommerzeit, Datum und Sekunden; eine erneute kurze Berührung schaltet auf die Uhrzeit zurück. |
Aktion bei langer Berührung | Wechsel in das Menü Datum und Uhrzeit, hier kann die aktuelle Zeit eingestellt werden. |
Dieses Bild zeigt die normale Anzeige nach einer kurzen Berührung der Uhrzeit. Diese Funktion bietet die Möglichkeit, das Datum und die Sekunden anzuzeigen. Außerdem wird ein kleines Symbol angezeigt,
welches auf die Sommerzeit hinweist. Während der Normalzeit erscheint an dieser Stelle ein Schneeflocken-Symbol. Diese Anzeige bleibt solange bestehen, bis man das Element erneut kurz berührt.
Element Weckzeit 1 | Zeigt das heutige Datum, den heutigen Wochentag und die für heute eingestellte Weckzeit in größeren Ziffern an. Ist keine Weckzeit eingestellt, dann erscheint ein waagerechter Strich anstelle der Weckzeit. Es ist möglich, anstatt des Datums den Text Heute anzuzeigen. |
Aktion bei kurzer Berührung | Wechsel in das Menü Weckzeit einstellen, hier kann direkt eine neue Weckzeit eingestellt oder auch die Weckzeit gelöscht werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Aktion bei langer Berührung | Wechsel in das Menü Weck-Programme, hier können die Weck-Programme eingestellt oder das aktuelle Weck-Programm gewechselt werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Element Weckzeit 2 | Zeigt das morgige Datum, den morgigen Wochentag und die für morgen eingestellte Weckzeit in größeren Ziffern an. Ist keine Weckzeit eingestellt, dann erscheint ein waagerechter Strich anstelle der Weckzeit. Es ist möglich, anstatt des Datums den Text Morgen anzuzeigen. |
Aktion bei kurzer Berührung | Wechsel in das Menü Weckzeit einstellen, hier kann direkt eine neue Weckzeit eingestellt oder auch die Weckzeit gelöscht werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Aktion bei langer Berührung | Wechsel in das Menü Weck-Programme, hier können die Weck-Programme eingestellt oder das aktuelle Weck-Programm gewechselt werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Element Weckzeit 3 | Zeigt das Datum von übermorgen, den Wochentag von übermorgen und die für übermorgen eingestellte Weckzeit in größeren Ziffern an. Ist keine Weckzeit eingestellt, dann erscheint ein waagerechter Strich anstelle der Weckzeit. |
Aktion bei kurzer Berührung | Wechsel in das Menü Weckzeit einstellen, hier kann direkt eine neue Weckzeit eingestellt oder auch die Weckzeit gelöscht werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Aktion bei langer Berührung | Wechsel in das Menü Weck-Programme, hier können die Weck-Programme eingestellt oder das aktuelle Weck-Programm gewechselt werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Hier wurde versucht, eine Weckzeit einzustellen. Da die Uhr aber noch keine gültige Uhrzeit hat, erscheint der nebenstehende Hinweis.
So kann die normale Anzeige aussehen, wenn die Uhrzeit stimmt und Weckzeiten eingestellt sind.
Element Einstellung | |
Aktion bei kurzer Berührung | Wechsel in das Menü Einstellung, hier kann man alle Einstellungen des Weckers erreichen. |
Aktion bei langer Berührung | - |
Element Programm / Manuell | Dieser Wechselschalter zeigt den gerade aktuellen Wecker-Modus an. |
Aktion bei kurzer Berührung | Wechsel in den jeweils anderen Modus, von Programm in Manuell oder umgekehrt. |
Aktion bei langer Berührung | Wechsel in das Menü Weck-Programme, hier können die Weck-Programme eingestellt oder das aktuelle Weck-Programm gewechselt werden. Hinweis: Der Menüwechsel funktioniert nur, wenn eine gültige Uhrzeit eingestellt ist, anderenfalls wird ein entsprechender Hinweis angezeigt. |
Element Antennen-Symbol | Dieses Symbol zeigt den Status des DCF77-Empfangs an. |
Aktion bei kurzer Berührung | Wechsel in das Menü System-Informationen, hier können verschiedene Informationen über den Wecker abgefragt werden. |
Aktion bei langer Berührung | Wechsel in das Menü DCF77-Einstellungen, hier kann der DCF77-Empfang konfiguriert werden. |
Der DCF77-Status wird über 4 Antennen-Symbole angezeigt, die folgende Bedeutung haben:
Der Wecker hat keine gültige Zeit. Es sind keine Weckzeit-Einstellungen möglich und es erfolgt auch keine Alarm-Signalisierung. | |
Die Uhr wurde manuell eingestellt. | |
Die Uhr wurde in den vergangenen 24 Stunden nicht mit dem DCF77-Signal synchronisiert. Eine neue Synchronisierung ist erforderlich. | |
Die Uhr wurde in den vergangenen 24 Stunden mit dem DCF77-Signal synchronisiert. |
Element Lautsprecher-Symbol | Dieses Symbol informiert über den Status des akustischen Weck-Signals. |
Aktion bei kurzer Berührung | Schaltet das akustische Weck-Signal ein oder aus. |
Aktion bei langer Berührung | Wechsel in das Menü Audio-Einstellungen, hier kann das akustische Weck-Signal konfiguriert und getestet werden. |
Der akustische Weck-Signal-Status wird über 2 Lautsprecher-Symbole angezeigt, die folgende Bedeutung haben:
Das akustische Wecksignal ist ausgeschaltet. | |
Das akustische Wecksignal ist eingeschaltet. |
Da der Status des akustischen Weck-Signals wichtig ist, wird bei einer kurzen Berührung des Lautsprecher-Symbols zusätzlich für 3 Sekunden ein Informationsfenster eingeblendet, welches den neuen Status anzeigt:
Das akustische Wecksignal ist jetzt ausgeschaltet. | |
Das akustische Wecksignal ist jetzt eingeschaltet. |
Das Menü Einstellung besteht aus einer Titelzeile und 8 Elementen, die zu weiteren Menüs führen sowie dem Element Zurück, mit dem man wieder zur normalen Anzeige gelangt. Alle Elemente in diesem Menü reagieren nur auf eine kurze Berührung.
2 Elemente sind grundsätzlich in jedem Menü wiederzufinden: die Titelzeile mit Menü-Namen, Datum und Uhrzeit sowie das Zurück-Element, welches sich meist unten rechts befindet. Über letzteres gelangt man immer in das Menü zurück, von man das Untermenü aufgerufen hat. Berührt man z.B. im nebenstehenden Bild das Element DCF77-Einstellungen, dann führt das Zurück-Element im DCF77-Menü wieder zum Menü Einstellung zurück. Ruft man hingegen die DCF77-Einstellungen direkt von der normalen Anzeige auf (durch lange Berührung des Antennen-Symbols), dann führt des Zurück-Element auch wieder zur normalen Anzeige zurück.Alle von hier aus erreichbaren Untermenüs sind ähnlich aufgebaut und verwenden für die Eingabe grundsätzlich die folgenden 3 Element-Typen:
Dieses Element besteht aus einem Anzeigefeld, welches in der oberen Zeile die Einstellung und in der unteren Zeile den aktuellen Wert darstellt. Das Anzeigefeld reagiert nicht auf Berührungen - eine Änderung des Wertes ist hier durch Berühren eines der Pfeil-Symbole links oder rechts möglich. Eine kurze Berührung des linken Pfeil-Symbols vermindert den Wert um 1, bei kurzer Berührung des rechten Symbols wird der Wert um 1 erhöht. Einige Elemente erkennen auch eine lange Berührung der Pfeil-Symbole und vermindern oder erhöhen dann den Wert schneller (Auto-Repeat-Funktion). | |
Für die Eingabe von Zeiten wird dieses Element verwendet, welches ebenfalls aus einem Anzeigefeld mit dem aktuellen Wert besteht. Auch hier sind zum Ändern des Wertes Pfeil-Symbole vorgesehen. Eine kurze Berührung des unteren Pfeil-Symbols vermindert den Wert um 1, eine kurze Berührung des oberen Symbols erhöht den Wert um 1. Mit einer langen Berührung sind schnelle Änderungen möglich. Hinweis: Es gibt hier (außer beim Jahr) keine Endwerte, man kann also z.B. die Minutenwerte erhöhen und nach der 59 wird bei 0 weitergezählt und das funktioniert natürlich auch rückwärts. | |
Dieses Element kann 2 Zustände annehmen. Durch eine kurze Berührung des Elementes wird in den jeweils anderen Zustand gewechselt (Toggle-Funktion). Eine lange Berührung wird hier nicht ausgewertet. |
Die nachfolgende Tabelle beschreibt die möglichen Einstellungen:
Element Sprache/Language | Menü-Sprache |
mögliche Einstellungen | 1 - Deutsch (Voreinstellung) 2 - English |
Aktion bei kurzer Berührung | Schaltet zur vorherigen oder zur nächsten Sprache. |
Aktion bei langer Berührung | - |
Element LED-Modus | Funktion der LED |
mögliche Einstellungen | 1 - Aus, die LED wird nicht verwendet. 2 - Blinken bei Alarm (Voreinstellung), die LED blinkt während des Weck-Signals. 3 - Empfangenes DCF77-Signal, die LED zeigt das empfangene DCF77-Signal an und leuchtet bei jedem Impuls kurz auf. |
Aktion bei kurzer Berührung | Schaltet zum vorherigen oder zum nächsten LED-Modus. |
Aktion bei langer Berührung | - |
Element Schlummerzeit (min) | Schlummerzeit in Minuten |
mögliche Einstellungen | Aus (Voreinstellung) 1 - 15 |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die Schlummerzeit um eine Minute. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die Schlummerzeit schnell (Auto-Repeat). |
Menü Anzeige-Einstellungen
Dieses Menü ermöglicht die Einstellung der LCD-Beleuchtung und des LCD-Kontrastes, weiterhin lässt sich eine Einstellung bei den Weckdaten ändern und ein anderer Zeichensatz für die Großziffern von Uhrzeit und Weckzeit festlegen.Zunächst noch ein Hinweis zur Helligkeitssteuerung des Weckers. Grundsätzlich folgt die Display-Helligkeit dem gemessenen Wert des Fototransistors. Das bedeutet, dass der in der Nacht gemessene Helligkeitswert 0 ist und folglich auch die Display-Beleuchtung komplett ausgeschaltet wird. Hier greift die Einstellung Minimale Helligkeit und stellt sozusagen eine gewisse Grundhelligkeit ein, so dass das Display auch in der Nacht noch schwach beleuchtet wird und abgelesen werden kann. Diese minimale Helligkeit kann in 10 Stufen eingestellt werden.
Wenn am Tag viel Licht auf den Fototransistor fällt, dann wird das Display entsprechend hell eingestellt. Falls man tagsüber die Anzeige des Weckers gar nicht benötigt, dann lässt sich die Helligkeit über die Einstellung Maximale Helligkeit herabsetzen. Das spart nicht nur Strom, sondern sorgt auch für ein längeres Leben der Beleuchtung. Auch für diese Einstellung sind 10 Stufen möglich. Die 10 Stufen der minimalen und maximalen Helligkeit sind übrigens nicht identisch und wurden jeweils für den minimalen und maximalen Bereich optimiert.Die folgende Tabelle beschreibt die möglichen Einstellungen:
Element Minimale Helligkeit | Setzt die Grundhelligkeit für die Nachtzeit |
mögliche Einstellungen | 1 - 10 (Voreinstellung 6) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die minimale Helligkeit um eine Stufe. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die minimale Helligkeit schnell (Auto-Repeat). |
Element Maximale Helligkeit | Setzt die maximale Helligkeit für die Tagzeit |
mögliche Einstellungen | 1 - 10 (Voreinstellung 6) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die maximale Helligkeit um eine Stufe. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die maximale Helligkeit schnell (Auto-Repeat). |
Element Kontrast | Stellt den LCD-Kontrast ein |
mögliche Einstellungen | 100 - 160 (Voreinstellung 132) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert den Kontrastwert um eine Stufe. |
Aktion bei langer Berührung | Verkleinert oder vergrößert den Kontrastwert schnell (Auto-Repeat). |
Element Weckdatum | Legt fest, ob in der normalen Anzeige bei der heutigen und morgigen Weckzeit das Datum oder die Texte „Heute“ und „Morgen“ angezeigt werden. |
mögliche Einstellungen | Normal (Voreinstellung), bei der heutigen und morgigen Weckzeit wird das Datum angezeigt. "Heute", bei der heutigen und morgigen Weckzeit werden die Texte „Heute“ und „Morgen“ angezeigt. |
Aktion bei kurzer Berührung | Schaltet von Normal auf "Heute" oder wieder zurück. |
Aktion bei langer Berührung | - |
Element 0 ← 0 | Legt fest, ob die Großziffern im normalen Zeichensatz oder im Siebensegment-Zeichensatz angezeigt werden sollen. |
mögliche Einstellungen | 0 ← 0 (Voreinstellung), normaler Zeichensatz 0 → 0, Siebensegment-Zeichensatz |
Aktion bei kurzer Berührung | Schaltet vom normalen Zeichensatz auf Siebensegment-Zeichensatz oder wieder zurück. |
Aktion bei langer Berührung | - |
Auf diesem Bild wurden die beiden alternativen Einstellungen ausgewählt. So wird bei der Weckzeit für den heutigen und morgigen Tag anstatt des Datums der Text Heute und
Morgen angezeigt. Außerdem erscheinen die großen Ziffern von Uhrzeit und Weckzeit im Stil einer Siebensegment-Anzeige.
Das nebenstehende Bild zeigt das Menü für die DCF77-Einstellungen. Hier wird der DCF77-Empfang konfiguriert, weiterhin lässt sich hier eine feste Zeit für die DCF77-Synchronisierung vorgeben.
Leider reagieren alle DCF77-Empfänger sehr empfindlich auf Störungen und einige Komponenten des Weckers stören den Empfang so stark, dass kein DCF77-Empfang möglich ist. Aber es gibt trotzdem Möglichkeiten für einen sicheren Empfang. Man kann z.B. den DCF77-Empfänger aus dem Wecker entfernen und über ein Kabel anschließen. Das ist technisch gesehen die beste Möglichkeit, aber in der Praxis nicht wirklich schön. Deshalb habe die Funktion Feste Synchr.-Zeit eingebaut, die zu einem bestimmten Zeitpunkt die Hauptstörquellen (Display und Beleuchtung) ausschaltet und dann eine Synchronisierung versucht. Wenn diese Funktion aktiv ist, dann wird außerdem zwei Minuten nach jedem Systemstart auf die gleiche Weise eine Synchronisierung versucht, damit der Wecker auch nach einer Netzunterbrechung immer eine gültige Zeit hat. Die Stunde für die feste Synchronisierung lässt sich einstellen, hier sollte man eine Zeit am Nachmittag oder Abend wählen, damit das Display in der Nacht durchgehend eingeschaltet bleibt.
Die folgende Tabelle beschreibt die möglichen Einstellungen:
Element DCF77-Signal | Einstellung der DCF77-Signal-Polarität |
mögliche Einstellungen | Normal Invertiert (Voreinstellung für Pollin-Empfänger) |
Aktion bei kurzer Berührung | Wechselt von normaler zu invertierter Einstellung oder zurück. |
Aktion bei langer Berührung | - |
Element DCF77-Eingang | Einstellung des DCF77-Eingangs |
mögliche Einstellungen | Pull-up aus (Voreinstellung für Pollin-Empfänger) Pull-up ein |
Aktion bei kurzer Berührung | Schaltet die Pull-up-Funktion ein oder aus. |
Aktion bei langer Berührung | - |
Element Feste Synchr.-Zeit | Aktivierung einer festen Synchronisierungs-Zeit bei internem DCF77-Empfänger |
mögliche Einstellungen | Aus, Einstellung für externen DCF77-Empfänger Ein (Voreinstellung), empfohlen für internen DCF77-Empfänger |
Aktion bei kurzer Berührung | Schaltet die feste Synchronisierungs-Zeit ein oder aus. |
Aktion bei langer Berührung | - |
Element 16:00 | Einstellung der Synchronisierungs-Zeit (Stunde) |
mögliche Einstellungen | 0 - 23 (Voreinstellung 16) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die Zeit um eine Stunde. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die Zeit schnell (Auto-Repeat). |
Hinweis | Diese Einstellung ist nur sichtbar, wenn die Feste Synchr.-Zeit auf Ein gesetzt ist. |
Diese Tabelle zeigt eine Übersicht über die gebräuchlichsten DCF77-Empfänger und die erforderlichen Einstellungen:
DCF77-Empfänger | Einstellung DCF77-Signal | Einstellung DCF77-Eingang |
---|---|---|
Pollin 810054 | Invertiert | Pull-up aus |
Reichelt DCF77 MODUL | Invertiert | Pull-up aus |
Conrad 641138 | Normal oder Invertiert (abhängig vom benutzten Ausgang) |
Pull-up ein |
ELV 091610 | Normal | Pull-up ein |
Für das Weck-Signal stehen insgesamt 10 verschiedene Tonfolgen bzw. Melodien zur Verfügung. Die Lautstärke lässt sich in 10 Stufen einstellen. Eine besondere Funktion ist die Ansteigende Lautstärke: Hier beginnt das Weck-Signal zunächst mit der kleinsten Lautstärkestufe 1 und vergrößert sich in kleinen Schritten bis zur eingestellten Lautstärkestufe. Das bedeutet, dass die ansteigende Lautstärke am besten bei höheren Lautstärkestufen funktioniert. Über die Funktion Weck-Ton testen wird das Alarm-Signal genau so abgespielt wie bei einem echten Weck-Signal. Wenn die optische Signalisierung eingeschaltet ist (Menü Allgemeine Einstellungen), dann blinkt gleichzeitig die LED. Das Signal ertönt eine Minute lang und kann sowohl über die Menü-Funktion Stopp als auch über den Sensor an der Gehäuseoberseite abgeschaltet werden. Während des Tests können die Einstellungen geändert werden, diese werden allerdings erst nach dem kompletten Abspielen des aktuellen Weck-Tons wirksam.
Die folgende Tabelle beschreibt die möglichen Einstellungen:
Element Weck-Ton | Einstellung des Ton-Signals (Tonfolge oder Melodie) |
mögliche Einstellungen | 1 - Buzzer (3 kurze Töne) (Voreinstellung) 2 - Buzzer (4 kurze Töne) 3 - Buzzer (2 lange Töne) 4 - Gong (einfacher 2-Ton-Gong) 5 - Close Encounters (of the third kind) 6 - Westminster (die bekannten Glockenschläge aus London) 7 - Axel F. (Harold Faltermeyer) 8 - Blue Peter (Mike Oldfield) 9 - Around The World (ATC) 10 - Für Elise (Ludwig van Beethoven) |
Aktion bei kurzer Berührung | Wechselt zum vorherigen oder zum nächsten Weck-Ton. |
Aktion bei langer Berührung | - |
Element Lautstärke | Einstellung der Weck-Ton-Lautstärke |
mögliche Einstellungen | 1 - 10 (Voreinstellung 4) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die Lautstärke um eine Stufe. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die Lautstärke schnell (Auto-Repeat). |
Element Feste Lautstärke | Umschaltung zwischen fester und ansteigender Lautstärke |
mögliche Einstellungen | Feste Lautstärke (Voreinstellung) Ansteigende Lautstärke |
Aktion bei kurzer Berührung | Schaltet zwischen fester und ansteigender Lautstärke um. |
Aktion bei langer Berührung | - |
Element Lautsprecher-Symbol | Umschaltung des Lautsprecher-Status |
mögliche Einstellungen | Lautsprecher aus, keine akustische Signalisierung Lautsprecher ein (Voreinstellung), normale akustische Signalisierung |
Aktion bei kurzer Berührung | Schaltet den Lautsprecher-Status ein oder aus. |
Aktion bei langer Berührung | - |
Element Weck-Ton testen | Test-Funktion für das Weck-Signal |
mögliche Einstellungen | Weck-Ton testen Stopp |
Aktion bei kurzer Berührung | Schaltet die Test-Funktion ein oder aus. |
Aktion bei langer Berührung | - |
Menü Touchscreen kalibrieren
Diese Einstellung wurde bereits bei der Inbetriebnahme durchgeführt. Man kann die Kalibrierung aber jederzeit wiederholen, wenn man mit der Genauigkeit des Touchscreens nicht zufrieden ist. Dazu ist es erforderlich, 4 genau festgelegte Referenzpunkte anzutippen. Die dabei ermittelten Werte werden dann zur Berechnung der genauen Berührungsstelle benötigt.
Für den Kalibrierungsvorgang empfehle ich den Stift (Stylus) eines alten Pocket PCs oder PDAs so wie im nebenstehenden Bild. Diese Stifte gibt es auch noch zu kaufen, allerdings lohnt sich das nicht
wirklich, man kann sich auch mit einem stumpf geschliffenen Zahnstocher behelfen. Auf keinen Fall sollten spitze Gegenstände oder Gegenstände aus Metall verwendet werden. Mit dem Stift werden dann
nacheinander alle 4 mit Linien markierten äußeren Eckpunkte angetippt. Die Reihenfolge spielt keine Rolle, auch kann man einen Punkt nochmals berühren, falls man beim ersten Versuch nicht so genau
getroffen hat - es wird immer die Position der letzten Berührung jeder Ecke gespeichert.
Über dieses Menü können verschiedene Informationen über das System angezeigt werden, Einstellungen sind hier nicht möglich.
Die folgende Tabelle beschreibt die angezeigten Informationen:
Zeile | Beschreibung |
---|---|
1 | In dieser Zeile steht die vollständige Versionsinformation. |
2 | Diese Zeile zeigt den aktuellen DCF77-Status an. Dieser kann folgende 4 Zustände annehmen: keine gültige Uhrzeit vorhanden, die Uhr wurde noch nicht eingestellt. Zeit wurde manuell gestellt, die Uhr wurde manuell eingestellt. Synchronisation erforderlich, die Uhr wurde über das DCF77-Signal eingestellt, dies liegt aber schon über 24 Stunden zurück. Synchronisation ok, die Uhr wurde während der vergangenen 24 Stunden über das DCF77-Signal eingestellt. |
3 | Diese Zeile zeigt den Zeitpunkt der letzten DCF77-Synchronisierung an. |
4, 5 | Hier werden die registrierten Touchscreen-Kalibrierwerte angezeigt. Mit diesen Werten kann man nicht sehr viel anfangen, aber vielleicht kann man's mal gebrauchen. |
6 | In dieser Zeile werden die Koordinaten der letzten Touchscreen-Bedienung angezeigt. Man kann hier etwas experimentieren und beliebige Stellen auf dem Touchscreen antippen (außer dem Zurück-Element) und dann die ermittelten Koordinaten ablesen. Der X-Wert kann im Bereich von 0 (linker Rand) bis 255 (rechter Rand) liegen, beim Y-Wert liegt der Bereich zwischen 0 (oberer Rand) und 127 (unterer Rand). |
7 | In dieser Zeile wird der Wert des Helligkeitssensors angezeigt. Dieser kann zwischen 0 (sehr dunkel) und 255 (sehr hell) liegen. |
8 | Diese Zeile zeigt den PWM-Wert an, mit dem die Hintergrundbeleuchtung gesteuert wird. Dieser entspricht grundsätzlich dem Helligkeitswert aus Zeile 7, wird jedoch durch die Einstellungen Minimale Helligkeit und Maximale Helligkeit begrenzt. |
Zunächst noch einige Informationen über die Zeit-Funktionen des Weckers: Normalerweise holt sich der Wecker die genaue Uhrzeit über das DCF77-Signal. Je nach Empfangsqualität kann dieser Vorgang jedoch einige Zeit dauern. Möchte man nicht so lange warten, dann kann man die Zeit auch manuell eingeben. Prinzipiell lässt sich der Wecker auch ohne DCF77-Empfänger betreiben. Speziell für diesen Fall und auch für den Fall, dass während der Zeitumstellung kein DCF77-Empfang möglich ist, habe ich eine Sommerzeit-Automatik eingebaut. Diese sorgt dafür, dass die Uhr automatisch in der Nacht zum letzten Sonntag im März auf Sommerzeit und in der Nacht zum letzten Sonntag im Oktober auf Normalzeit gestellt wird. Diese Automatik lässt sich bei Bedarf ausschalten, wird aber bei erfolgreicher DCF77-Synchronisierung wieder eingeschaltet.
Beim manuellen Stellen des Weckers sollten Datum und Uhrzeit auf eine oder zwei Minuten in der Zukunft eingestellt werden. Sobald mindestens ein Wert (oder auch die Einstellung SZ-Autom.) geändert wird, wandelt sich das Element Synchr. starten in ein Häkchen-Symbol (✓) um. Ist die eingestellte Zeit erreicht, dann berührt man das Häkchen-Symbol. Dabei wird die Zeit übernommen und wieder in das Menü Einstellung bzw. in die normale Anzeige zurückgekehrt (abhängig davon, ob die Zeiteinstellung vom Einstellungs-Menü oder von der normalen Anzeige aus aufgerufen wurde). Beim Berühren des Abbruch-Elementes wird ebenfalls zum ursprünglichen Menü zurückgekehrt, allerdings werden alle Eingaben verworfen und der Wecker läuft mit der ursprünglichen Zeit weiter. Hinweis: Man sollte mit der Bestätigung der Zeit nicht zu lange warten, denn auch dieses Menü wird nach 2 Minuten Inaktivität automatisch wieder verlassen.Die folgende Tabelle beschreibt die möglichen Einstellungen:
Element Datum | Einstellung des Datums (Tag, Monat, Jahr) |
mögliche Einstellungen | 1 - 31 (Tag), 1 - 12 (Monat), 16 - 99 (Jahr) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert den Tag, den Monat oder das Jahr um 1. |
Aktion bei langer Berührung | Verkleinert oder vergrößert den Tag, den Monat oder das Jahr schnell (Auto-Repeat). |
Element Uhrzeit | Einstellung der Uhrzeit (Stunde, Minute) |
mögliche Einstellungen | 0 - 23 (Stunde), 0 - 59 (Minute) |
Aktion bei kurzer Berührung | Verkleinert oder vergrößert die Stunde oder die Minute um 1. |
Aktion bei langer Berührung | Verkleinert oder vergrößert die Stunde oder die Minute schnell (Auto-Repeat). |
Element SZ-Autom. | Aktivierung der Sommerzeit-Automatik |
mögliche Einstellungen | aus ein (Voreinstellung) |
Aktion bei kurzer Berührung | Schaltet die Sommerzeit-Automatik ein oder aus. |
Aktion bei langer Berührung | - |
Hinweis | Nach einer erfolgreichen DCF77-Synchronisierung wird die Sommerzeit-Automatik eingeschaltet. |
Element Synchr. starten | Manueller Start einer DCF77-Synchronisierung |
Aktion bei kurzer Berührung | Schaltet Display und Beleuchtung für maximal 30 Minuten aus und versucht während dieser Zeit eine DCF77-Synchronisierung. |
Aktion bei langer Berührung | - |
Hinweis | Diese Einstellung ist nur sichtbar, wenn im Menü DCF77-Einstellungen die Feste Synchr.-Zeit auf Ein gesetzt ist. |
Element ✓ | Uhr stellen |
Aktion bei kurzer Berührung | Übernimmt die eingestellte Zeit und wechselt zurück in das vorherige Menü. |
Aktion bei langer Berührung | - |
Hinweis | Diese Einstellung ist nur sichtbar, wenn mindestens ein Wert in diesem Menü verändert wurde. |
Hinweis: Dieses Menü ist nur erreichbar, wenn der Wecker eine gültige Zeit hat.
Als kleine Übung soll jetzt ein einfaches Wochen-Programm mit einer Weckzeit von 5:50 Uhr von Montag bis Freitag erstellt werden. Im Bild weiter oben ist bereits das Programm 1 ausgewählt und auch die Länge des Programms ist bereits auf 7 Tage eingestellt. Von den 28 Eingabe-Elementen sind somit nur die ersten 7 verwendbar, dies kann man an den leeren Einträgen --:-- erkennen. Fangen wir also beim Montag an und berühren das Element am Montag.
Es erscheint ein neues Menü wie im nebenstehenden Bild. An dieser Stelle ist zunächst nur die Zeiteinstellung auf der rechten Seite interessant.
Dem Beispiel folgend stellen wir nun auf der rechten Seite die Zeit 05:50 ein und berühren anschließend die Zeit selbst.
Nun könnte man für jeden weiteren Tag wieder auf der rechten Seite die Zeit 05:50 einstellen und übernehmen. Ich habe aber die Möglichkeit vorgesehen, 3 häufig verwendete
Weckzeiten als Voreinstellung zu speichern. Das sind die 3 Zeiten auf der linken Seite und diese kann man folgendermaßen ändern: Man stellt auf der rechten Seite die gewünschte Zeit ein und berührt
lange den gewünschten Speicherplatz auf der linken Seite. Auf dem Bild wurde auf diese Weise die Zeit 05:50 auf den ersten Speicherplatz gelegt.
Sind alle Weckzeiten festgelegt, dann kommt noch ein wichtiger Punkt: die heutige Position muss festgelegt werden. Der 18.06.2016 auf dem Bild war ein Samstag, also wird jetzt der Samstag
lange berührt und die Markierung springt auf diesen Tag. Speziell für Wochenprogramme mit 7, 14, 21 oder 28 Tagen gibt es noch eine Vereinfachung: Da der Wecker den heutigen
Tag kennt, kann man einen beliebigen Tag in der Zeile lange berühren und es wird dann automatisch der richtige Wochentag gesetzt.
In diesem Menü lässt sich die Programmlänge im Bereich von einem Tag bis 28 Tage einstellen. Hier kann man die Anzahl der Tage auf 14 ändern und bei der Rückkehr in die Weck-Programme ergibt sich ein
anderes Bild.
Hier wurde als Beispiel das Programm 3 mit einer Länge von 10 Tagen eingestellt und die Position auf den vierten Tag gesetzt. Bei Programmen, die vom Wochen-Rhythmus abweichen (die Anzahl der Tage ist
nicht 7, 14, 21 oder 28) werden als Überschriften anstatt der Wochentage die Tagesnummern verwendet.
Die folgende Tabelle fasst noch einmal alle Elemente des Menüs Weck-Programme zusammen:
Element Tag 1 - 28 | Einstellen einer Weckzeit und Setzen der heutigen Tages-Position |
Aktion bei kurzer Berührung | Aufruf des Menüs Weckzeit einstellen |
Aktion bei langer Berührung | Markiert den Tag als heutige Position im Programm. Bei einer Programmlänge von 7, 14, 21 oder 28 Tagen kann ein beliebiger Tag in der Woche berührt werden - der Wecker setzt dann automatisch den heutigen Wochentag. |
Element P1, P2, P3, P4 | Auswahl des Weck-Programms |
Aktion bei kurzer Berührung | Aktiviert die berührte Programm-Nummer |
Aktion bei langer Berührung | - |
Element XX Tage | Einstellen der Programmlänge |
Aktion bei kurzer Berührung | Aufruf des Menüs Anzahl der Tage einstellen |
Aktion bei langer Berührung | - |
Hinweis: Dieses Menü ist nur erreichbar, wenn der Wecker eine gültige Zeit hat.
Die folgende Tabelle beschreibt alle Funktionen in diesem Menü:
Element Feste Weckzeit 1 (links oben) | |
mögliche Einstellungen | 00:00 - 23:59 |
Aktion bei kurzer Berührung | Übernimmt die feste Zeit und wechselt zurück in das Menü, von dem die Weckzeit-Eingabe aufgerufen wurde. |
Aktion bei langer Berührung | Speichert die auf der rechten Seite eingestellte Zeit als neue feste Weckzeit 1. |
Element Feste Weckzeit 2 (links Mitte) | |
mögliche Einstellungen | 00:00 - 23:59 |
Aktion bei kurzer Berührung | Übernimmt die feste Zeit und wechselt zurück in das Menü, von dem die Weckzeit-Eingabe aufgerufen wurde. |
Aktion bei langer Berührung | Speichert die auf der rechten Seite eingestellte Zeit als neue feste Weckzeit 2. |
Element Feste Weckzeit 3 (links unten) | |
mögliche Einstellungen | 00:00 - 23:59 |
Aktion bei kurzer Berührung | Übernimmt die feste Zeit und wechselt zurück in das Menü, von dem die Weckzeit-Eingabe aufgerufen wurde. |
Aktion bei langer Berührung | Speichert die auf der rechten Seite eingestellte Zeit als neue feste Weckzeit 3. |
Element Variable Weckzeit (rechts) | |
mögliche Einstellungen | 00:00 - 23:59 |
Aktion bei kurzer Berührung | Übernimmt die variable Zeit und wechselt zurück in das Menü, von dem die Weckzeit-Eingabe aufgerufen wurde. |
Aktion bei langer Berührung | - |
Element Weckzeit löschen | |
Aktion bei kurzer Berührung | Wechselt zurück in das Menü, von dem die Weckzeit-Eingabe aufgerufen wurde und löscht dort die Weckzeit. |
Aktion bei langer Berührung | - |
Funktion Alarm ausschalten
Neben dem Touchscreen gibt es noch ein weiteres wichtiges Bedienelement: den Berührungssensor zum Ausschalten des Weck-Signals. Zunächst möchte ich jedoch einige Informationen über die Alarm-Funktion dieses Weckers loswerden: Grundsätzlich wird bei jedem programmierten Alarm zur entsprechenden Zeit ein akustisches und optisches Signal ausgegeben. Dieses Signal ist eine Minute lang aktiv und kann durch Berühren des Sensor sofort ausgeschaltet werden. Außerdem besteht die Möglichkeit, einen zusätzlichen Schlummer-Alarm zu aktivieren. Dazu muss im Menü Allgemeine Einstellungen eine Schlummerzeit zwischen einer Minute und 15 Minuten eingestellt werden. Der Schlummer-Alarm wird dann um die eingestellten Minuten vor dem programmierten Alarm ausgelöst. Auch dieser ist eine Minute lang aktiv und kann über den Sensor ausgeschaltet werden. Weiterhin verwaltet der Wecker noch eine so genannte Abschaltzeit, die 15 Minuten vor dem ersten Alarm-Signal liegt. Eine Sensorberührung zwischen der Abschaltzeit und dem Alarm-Signal bewirkt, dass der Weck-Alarm vorzeitig ausgeschaltet wird. Falls man z.B. kurz vor dem programmierten Alarm aufwacht, hat man somit eine einfache Möglichkeit, den Weck-Alarm zu deaktivieren.
Ein aktivierter Alarm ist wie im Bild nebenan durch eine umrahmte Weckzeit zu erkennen. Wird der Alarm während des Weck-Signals abgeschaltet oder vorzeitig ausgeschaltet, dann rückt der Rahmen zur
nächsten Weckzeit weiter und der Alarm ist deaktiviert. Nur beim Abschalten des Schlummer-Alarms bleibt der Alarm aktiv und auch der Rahmen weiterhin sichtbar.
Die folgende Tabelle zeigt alle Aktionen, die durch eine Berührung des Sensors zu bestimmten Zeitpunkten ausgelöst werden. Zum besseren Verständnis habe ich ein Beispiel vorbereitet.
Zeitpunkt der Sensor-Berührung | Beispiel Weckzeit: 5:50 Uhr Schlummerzeit: 10 min | Anzeige | ausgelöste Aktion |
zwischen Abschaltzeit und Schlummerzeit | 5:25 - 5:39 | Der Alarm wird vorzeitig ausgeschaltet. Es erfolgt kein Schlummer- und kein Weck-Signal. Die Weckzeit-Umrahmung wird entfernt. | |
während des Schlummer-Alarms | 5:40 | Der Wecker schaltet in den Schlummer-Modus. Der akustische und optische Alarm wird ausgeschaltet, bleibt aber aktiv und wird zur Weckzeit erneut ausgelöst. Die Weckzeit-Umrahmung bleibt bestehen. | |
zwischen Schlummerzeit und Weckzeit | 5:41 - 5:49 | Der Alarm wird vorzeitig ausgeschaltet. Es erfolgt kein Weck-Signal. Die Weckzeit-Umrahmung wird entfernt. | |
während des Weck-Alarms | 5:50 | Der akustische und optische Alarm wird ausgeschaltet. Die Weckzeit-Umrahmung wird entfernt. | |
während des Weck-Ton-Tests | Der akustische und optische Test-Alarm wird ausgeschaltet. Die Weckzeit-Umrahmung wird nicht verändert. | ||
übrige Zeit | Es wird keine Aktion ausgelöst. |
Praktische Tipps
Da sich die Funktionalität dieses Weckers sehr stark von einem Standard-Wecker unterscheidet, möchte ich hier noch ein paar Hinweise für den Gebrauch geben. Grundsätzlich hat man die Möglichkeit, 4 komplette Weck-Programm zu erstellen. Man muss aber nicht davon Gebrauch machen, wenn man nur gelegentlich geweckt werden möchte. In diesem Fall kann man also die komplette Programm-Steuerung ignorieren und den Wecker einfach im Modus Manuell laufen lassen. Benötigt man ein Weck-Signal, dann berührt man in der normalen Wecker-Anzeige z.B. den morgigen Tag kurz und stellt über die Weckzeit-Einstellung die gewünschte Zeit ein. Damit ist der Wecker für den morgigen Auftrag bereit. Nachdem der Wecker am Folgetag seine Weckpflicht erfüllt hat, bleibt die eingestellte Zeit noch bis Mitternacht sichtbar und verschwindet dann beim nächsten Tageswechsel.Benötigt man den Wecker in einer gewissen Regelmäßigkeit, dann bietet sich der Modus Programm an. Hier ist der Aufwand für die richtige Einstellung etwas höher, allerdings muss diese nur einmal durchgeführt werden. Dazu wechselt man in das Menü Weck-Programme, z.B. durch eine lange Berührung des symbolischen Wechselschalters Programm / Manuell. Hier ist das Programm 1 voreingestellt und auf 7 Tage gesetzt. Da oft ein Wochenprogramm benötigt wird, kann man diese Einstellung in den meisten Fällen direkt verwenden. Anderenfalls passt man die Anzahl der Tage dem gewünschten Zeitplan an. Im nächsten Schritt stellt man durch Berühren eines der 28 Tages-Elemente die gewünschte Weckzeit für diesen Tag ein. Die Tage, an denen kein Weck-Signal benötigt wird, lässt man einfach leer (--:--). Ganz wichtig: Falls die Markierung im Programm nicht auf den heutigen Tag gesetzt ist, dann den richtigen Tag lange berühren. Jetzt kennt der Wecker die richtige Position und kann somit das Programm korrekt abarbeiten und beliebig wiederholen. War der Wecker noch nicht auf den Programm-Modus eingestellt, dann wird dieses in der normalen Anzeige durch eine kurze Berührung des symbolischen Wechselschalters Programm / Manuell nachgeholt. Die Elemente mit den Weckzeiten für die nächsten 3 Tage (Heute, Morgen und Übermorgen) zeigen nun die programmierten Zeiten an.
Falls einige oder auch alle 3 Elemente trotz eingestelltem Programm-Modus andere Daten anzeigen, dann ist das kein Fehler. In diesem Fall greift eine Besonderheit des Weckers und diese ermöglicht ein einmaliges Überschreiben der programmierten Weckzeiten durch eine direkte Eingabe. Wurde also über eine kurze Berührung von einem der nächsten 3 Tage bereits eine Weckzeit eingegeben oder auch eine Weckzeit gelöscht, dann haben diese Eingaben Vorrang gegenüber den Weckzeiten aus dem Programm. Damit hat man jederzeit die Möglichkeit, Ausnahmen einzustellen, ohne das laufende Programm zu verändern und auch der Programm-Modus muss dafür nicht verlassen werden. Muss man also beispielsweise morgen mal früher aufstehen, dann gibt man für den morgigen Tag einfach die Ausnahmezeit direkt ein und nur morgen wird diese geänderte Zeit wirksam. Ebenso lässt sich morgen ein freier Tag realisieren, indem man die Weckzeit für den morgigen Tag einfach löscht. Auch hier gilt diese Ausnahme nur für diesen einen Tag.Man kann übrigens in der normalen Anzeige nicht erkennen, ob eine Weckzeit aus dem Programm stammt oder als Ausnahme manuell eingegeben wurde. Das ist im Prinzip auch nicht notwendig, allerdings sollte man sich beim Wechsel in den Programm-Modus nicht wundern, wenn die Zeiten aus dem Programm nicht oder nur teilweise an den nächsten 3 Tagen erscheinen. In einem solchen Fall sind manuell eingegebene Zeiten die Ursache. Grundsätzlich gilt: Zu den Zeiten, die für die nächsten 3 Tage angezeigt werden, erfolgt auch das Weck-Signal. Wurde im Menü Allgemeine Einstellungen eine Schlummerzeit eingestellt, dann gibt es entsprechend vorher noch einen zusätzlichen Schlummer-Alarm. Ist anstatt der Weckzeit ein waagerechter Strich zu sehen, dann ertönt an diesem Tag auch kein Weck-Signal. Das nächste Weck-Signal ist immer durch einen Rahmen hervorgehoben. Da die Berührung des Alarm-Sensors verschiedene Funktionen hat, kann man an diesem Rahmen erkennen, ob der heutige Alarm weiterhin aktiv ist (z.B. beim Abschalten des Schlummer-Alarms) oder der Alarm deaktiviert wurde (z.B. beim Abschalten des Weck-Alarms). In letzterem Fall rückt der Rahmen zur nächsten Weckzeit weiter oder verschwindet, falls keine weiteren Weckzeiten eingestellt sind.
Für den Fall, dass man vor dem Weck-Alarm aufstehen möchte, kann man einfach den Sensor berühren und den Weck-Alarm vorzeitig ausschalten. Das funktioniert bis zu 15 Minuten vor dem Weck- oder Schlummer-Alarm. Dabei wird ebenfalls der bereits erwähnte Rahmen um die heutige Weckzeit entfernt und somit angezeigt, dass der Alarm deaktiviert wurde. Die Einschränkung mit den 15 Minuten ist beabsichtigt und soll verhindern, dass ein Alarm beim versehentlichen Berühren des Sensors ausgeschaltet wird. Möchte man noch früher aufstehen, dann funktioniert natürlich die vorzeitige Abschaltung nicht. In diesem Fall kann man das Lautsprecher-Symbol kurz berühren und einfach den Ton ausschalten. Die optische Signalisierung über die LED (wenn sie eingeschaltet ist) erfolgt allerdings trotzdem.Einschränkungen: Bei diesem Wecker ist pro Tag immer nur eine Weckzeit vorprogrammierbar. Der Aufwand für mehrere Weckzeiten oder mehrere gleichzeitig laufende Programme war wir einfach zu groß. Es ist aber jederzeit möglich, für einen weiteren Alarm die Zeit manuell neu einzustellen. Weiterhin gibt es eine kleine Einschränkung, wenn die Weckzeit um 0:00 Uhr oder kurz danach eingestellt ist: Der Weck-Alarm wird selbstverständlich zur richtigen Zeit ausgelöst, Schlummer-Alarm und vorzeitige Alarm-Abschaltung funktionieren jedoch erst ab 0:00 Uhr. Bei einer beispielhaften Weckzeit von 0:05 Uhr und einer Schlummerzeit von 10 Minuten würde der Schlummer-Alarm also nicht wie erwartet um 23:55 Uhr ertönen, sondern erst um 0:00 Uhr. Auch eine vorzeitige Abschaltung wäre in diesem Beispiel erst ab 0:00 Uhr möglich.
Bei der Entwicklung dieses Weckers habe ich mir die gleiche Frage gestellt wie bei der Entwicklung des ersten Weckers vor ungefähr 12 Jahren: Ist es in der heutigen Zeit überhaupt sinnvoll, einen Wecker zu bauen? Ganz klares ja! Ich habe bisher keinen Wecker gefunden, der ein Wochenprogramm oder vergleichbare Funktionen bietet. Der höchste Komfort ist eine tägliche feste Weckzeit von Mo-Fr oder Mo-Sa. Diese Funktionalität reicht sicher in den meisten Fällen aus. Wer aber im Schichtdienst arbeitet, muss trotzdem immer wieder den Wecker umstellen. Aber abgesehen davon hatte ich große Lust, wieder etwas neues zu entwickeln :-)
Der neue Wecker sollte unbedingt ein grafisches Display haben. Eigentlich dachte ich in Richtung OLED, aber da war nichts geeignetes zu finden. Vielleicht war das auch gut so, denn OLED-Displays sind nicht unbedingt für den Dauerbetrieb geeignet. Schließlich fand ich die EA DOG Module in der Version mit 240x128 Pixeln und diese haben die optimale Größe und Auflösung für das Wecker-Projekt. Mit der Simulator-Software fand ich auch schnell die geeigneten Komponenten. Zunächst war nur eine Tastenbedienung vorgesehen, aber irgendwie fand ich es spannend, mal einen Touchscreen auszuprobieren.Zunächst wurde eine Versuchsschaltung auf einem Steckbrett aufgebaut und eine Kommunikation mit dem Display hergestellt. Mit dieser Minimalschaltung wurden dann alle technischen Möglichkeiten des Displays ausprobiert. Grundsätzlich beherrscht dieses Display eine Darstellung mit 4, 8 oder sogar 16 Helligkeitsstufen, allerdings sind oft störende Streifen zu sehen und es müssen dann auch mehr Bilddaten gespeichert und zum Display transferiert werden. Ich habe mich letztendlich für die einfache Schwarz/Weiß-Darstellung (bzw. Schwarz/Amber) entschieden.
Im nächsten Schritt wurde mit der Platzierung der gewünschten Elemente auf dem Display experimentiert und eine (wie ich finde) gute Lösung gefunden. Die großen Ziffern habe ich übrigens vom PC übernommen. Dazu wurden mit einer Textverarbeitung die Ziffern 0-9 auf den Bildschirm geschrieben, eine Bildschirmkopie erstellt und diese mit einem Grafik-Programm als Bilddateien gespeichert. Diese wiederum wurden mit dem Programm Image2Code in Datenwerte umgewandelt, die ich dann direkt im Programm-Kode verwenden konnte.
Nachdem die Ausgabe auf das Display fehlerfrei funktionierte, ging es mit der Eingabe weiter. Dazu wurde der Touchscreen zunächst nur lose auf das Display aufgelegt und provisorisch verdrahtet. Es hat
dann einige Zeit gedauert, bis die Eingaben richtig erkannt wurden. Weiterhin musste ich einen Weg finden, die berührte Stelle einer bestimmten Aktion zuzuordnen und das gelang mir schließlich über
eine Menü-Tabelle mit den Koordinaten und Aktionen der Elemente aller Menüs. Anschließend wurde die Touchscreen-Abfrage noch verfeinert und eine Unterscheidung zwischen kurzer und langer Berührung
eingebaut. Schließlich wurde noch die Tonerzeugung (welche weitgehend von der Tischuhr übernommen wurde) ergänzt und optimiert sowie das USB-Modul und die Bootloader-Funktion hinzugefügt. Die
eigentlich wichtige Weck-Funktion wurde zuletzt realisiert.
Nachdem alle Komponenten mehr oder weniger optimal auf der Platine untergebracht waren, wurde das Gehäuse mit allen notwendigen Löchern und Ausschnitten versehen. Nun fehlte nur noch die Abstützung auf der Unter- bzw. Rückseite, damit der Wecker schräg und stabil steht. Hier hatte ich zunächst mit kleinen Metall-Scharnieren experimentiert, die anfangs recht gut funktionierten, aber nicht sehr dauerhaft mit dem Gehäuse zu verkleben waren. Schließlich kam mir die Idee mit dem Stoffband, welches sich sehr gut und großflächig aufkleben lässt und trotzdem recht stabil ist.
Für die Screenshots auf dieser Seite wurde übrigens zusätzlicher Kode in die Software eingebaut. Hier wird vom Timer-Interrupt alle 10 Sekunden eine Variable gesetzt und das Hauptprogramm sendet daraufhin den Inhalt des LCD-Puffers in Form einer Zahlenreihe über die USB-Schnittstelle zu einem angeschlossenem PC. Diese Daten kann man mit einem Terminalprogramm aufzeichnen und mithilfe eines kleinen Delphi-Programms wird daraus eine BMP-Datei erstellt. Aus dieser konnten dann mit einem Grafik-Programm die Bilder als PNG-Datei erzeugt werden. Der zusätzliche Kode ist zwar immer noch im Quelltext enthalten, wird aber bei der Kompilierung nicht berücksichtigt.