Benutzer-Werkzeuge

Webseiten-Werkzeuge


arduino:schlafphasenwecker

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

arduino:schlafphasenwecker [04.03.2017 12:12] – [Audio Output] Frickelpietarduino:schlafphasenwecker [18.05.2023 12:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Schlafphasenwecker ====== ====== Schlafphasenwecker ======
-{{:arduino:schlafphasenwecker:img_2372.jpg?100 |}}{{:arduino:schlafphasenwecker:img_2336.jpg?100 |}}Für mein Schlafzimmer brauche ich eine Uhr, die ich ohne Brille ablesen kann. Jetzt wird eine gebaut. Das Ziffernblatt besteht aus 60 RGBW-NeoPixeln von Adafruit. Gesteuert wird die Uhr von einem Teensy 3.6. Die Uhr soll eine Weckfunktion bekommen, die den Weckzeitpunkt an meinen Schlafphasen orientiert. Wenn ich in einer Leichtschlafphase bin, soll der Wecker langsam die Helligkeit erhöhen und/oder angenehme Naturgeräusche abspielen. Die Schlafphasen werden mit einer IMU erfasst, die unter der Matratze angebracht ist.+{{:arduino:schlafphasenwecker:img_2372.jpg?100 |}}{{:arduino:schlafphasenwecker:img_2336.jpg?100 |}}{{:video:visueller_weckmodus.mp4|100x75 }} Für mein Schlafzimmer brauche ich eine Uhr, die ich ohne Brille ablesen kann. Jetzt wird eine gebaut. Das Ziffernblatt besteht aus 60 RGBW-NeoPixeln von Adafruit. Gesteuert wird die Uhr von einem Teensy 3.6. Die Uhr soll eine Weckfunktion bekommen, die den Weckzeitpunkt an meinen Schlafphasen orientiert. Wenn ich in einer Leichtschlafphase bin, soll der Wecker langsam die Helligkeit erhöhen und/oder angenehme Naturgeräusche abspielen. Die Schlafphasen werden mit einer IMU erfasst, die unter der Matratze angebracht ist.
  
 Die Funktionen des Schlafphasenweckers in der Übersicht Die Funktionen des Schlafphasenweckers in der Übersicht
Zeile 17: Zeile 17:
 ===== Elektrischer Aufbau ===== ===== Elektrischer Aufbau =====
 ==== Mikrocontroller ==== ==== Mikrocontroller ====
-{{:arduino:schlafphasenwecker:img_2130.jpg?100 |}} Das Herz des Schlafphasenweckers wird ist ein Teensy 3.6. Leistungsmäßig ist der Teensy 3.6 völlig überdimensioniert, er hat aber ein paar Vorteile. Zum Beispiel ist er sehr kompakt und hat trotzdem haufenweise Ein- und Ausgänge. Außerdem ist eine Real Time Clock integriert und perspektivisch kann ein USB-Anschluss verwendet werden, um zum Beispiel Schlafphasen auf einen USB-Stick zu loggen. Der einzige Nachteil, den ich bisher erkennen kann, ist, dass die NeoPixel nicht direkt, sondern über einen 74HCT245 angesteuert werden müssen, der das 3,3-Volt-Signal in der notwendigen Qualität auf 5 Volt anhebt. +{{:arduino:schlafphasenwecker:img_2130.jpg?100 |}} Das Herz des Schlafphasenweckers ist ein Teensy 3.6. Leistungsmäßig ist der Teensy 3.6 völlig überdimensioniert, er hat aber ein paar Vorteile. Zum Beispiel ist er sehr kompakt und hat trotzdem haufenweise Ein- und Ausgänge. Außerdem ist eine Real Time Clock integriert und perspektivisch kann ein USB-Anschluss verwendet werden, um zum Beispiel Schlafphasen auf einen USB-Stick zu loggen. Der einzige Nachteil, den ich bisher erkennen kann, ist, dass die NeoPixel nicht direkt, sondern über einen 74HCT245 angesteuert werden müssen, der das 3,3-Volt-Signal in der notwendigen Qualität auf 5 Volt anhebt. 
  
 Forum: Forum:
Zeile 93: Zeile 93:
  
 == Kapazitiver Touch-Sensor == == Kapazitiver Touch-Sensor ==
-  * SCL mit Pin 19 (SCL0am Teensy +Der kapazitive Touch-Sensor wird über den I2C-Bus (SDA Pin 18; SCL Pin 19) mit dem Teensy verbunden.
-  * SDL mit Pin 18 (SDA0) am Teensy+
  
 == Backlight Control == == Backlight Control ==
-Über Lite kann die Hintergrundbeleuchtung des Displays per PWM kontrolliert werden.  +Über Lite kann die Hintergrundbeleuchtung des Displays per PWM kontrolliert werden (Pin 4 am Teensy).
- +
-Lite: Pin 5 (PWM) am Teensy+
  
 ==== Lichtsensor ==== ==== Lichtsensor ====
Zeile 166: Zeile 163:
  
 ==== DHT22 ==== ==== DHT22 ====
-Wie auch dem meinem [[arduino:bewaesserungsautomat:start|Bewässerungsautomat]] baue ich den Temperatur- und Feuchtigkeitssensor DHT22 ein, um die Temperatur im Wecker im Auge zu behalten. Just for fun.+Wie auch bei meinem [[arduino:bewaesserungsautomat:start|Bewässerungsautomat]] ist auch im Schlafphasenwecker der  Temperatur- und Feuchtigkeitssensor DHT22 verbaut, um die Temperatur im Wecker im Auge zu behalten. Just for fun.
  
-Der Signalpin kann direkt an einen beliebigen digitalen Eingang angeschlossen werden. Der interne Pullup muss aktiviert werden. Versorgungsspannung 3,3 Volt!+Der Signalpin des DHT22 ist am Teensy an Pin 4 angeschlossen. Der interne Pullup ist aktiviert. Die Versorgungsspannung ist 3,3 Volt.
  
 Die Anschlüsse von links nach rechts: Die Anschlüsse von links nach rechts:
Zeile 178: Zeile 175:
  
 ==== Stromversorgung ==== ==== Stromversorgung ====
-Der NeoPixelring kann bis zu 5 Ampere ziehen. Um die empfindliche Elektronik vor Überspannung und Verpolung zu schützen, wird der [[https://www.pololu.com/product/2865|Pololu 5V, 6A Step-Down Voltage Regulator D24V60F5]] vorgeschaltet. Die Eingangsspannung kann dann zwischen 6 und 30 Volt liegen. (Optimalerweise sollte die Eingangsspannung zwischen 6 und 12 liegen: Je höher die Eingangsspannung, desto schlechter der Wirkungsgrad.)+Der NeoPixelring kann bis zu 5 Ampere ziehen. Um die empfindliche Elektronik vor Überspannung und Verpolung zu schützen, wird der [[https://www.pololu.com/product/2865|Pololu 5V, 6A Step-Down Voltage Regulator D24V60F5]] vorgeschaltet. Die Eingangsspannung kann dann zwischen 6 und 30 Volt liegen. (Optimalerweise sollte die Eingangsspannung zwischen 6 und 12 liegen: Je höher die Eingangsspannung, desto schlechter der Wirkungsgrad.) Das Netzteil sollte etwa 15 Watt Leistung haben: Bei 6 Volt werden maximal 2 Ampere benötigt.
  
 Am Teensy wurde die Lötbrücke (Vin/VUSB) auf der Unterseite durchtrennt. Am Teensy wurde die Lötbrücke (Vin/VUSB) auf der Unterseite durchtrennt.
Zeile 199: Zeile 196:
   * Bei aktivierter Einschlaffunktion (Snoozle): Es wird ein Menü angezeigt, mit der sich die Einschlaffunktion beenden und die Lautstärke regulieren lässt. Nach Ablauf der eingestellten Snoozle-Zeit wird die Funktion automatisch beendet, in das Hauptmenü gewechselt und die Hintergrundbeleuchtung ausgeschaltet.    * Bei aktivierter Einschlaffunktion (Snoozle): Es wird ein Menü angezeigt, mit der sich die Einschlaffunktion beenden und die Lautstärke regulieren lässt. Nach Ablauf der eingestellten Snoozle-Zeit wird die Funktion automatisch beendet, in das Hauptmenü gewechselt und die Hintergrundbeleuchtung ausgeschaltet. 
  
 +==== Uhrzeit ====
 +Nach dem Start zeigt der Wecker die Zeit der Real Time Clock (RTC) an. Diese hat pro Monat eine Abweichung von mehreren Sekunden. Sobald das DCF77-Modul ein gültiges Zeitsignal empfangen hat, wechselt das Antennen-Symbol im Hauptmenü die Farbe:
 +  * Wurde innerhalb der letzten 60 Minuten ein gültiges Zeitsignal empfangen, wird das Symbol weiß dargestellt.
 +  * Ist das zuletzt empfangene Zeitsignal älter als eine Stunde, aber jünger als 12 Stunden, wird es hellgrau dargestellt.
 +  * Das Symbol wird dunkelgrau dargestellt, wenn das zuletzt vollständig empfangene Zeitsignal zwischen 12 und 24 Stunden alt ist.
 +  * Wenn zuletzt vor mehr als 24 Stunden oder noch nie seit dem letzten Einschalten ein gültiges Zeitsignal empfangen wurde, wird kein Symbol angezeigt.
 +
 +Der Wecker berechnet die Sonnenaufgangs- und Sonnenuntergangszeit und zeigt diese im Hauptmenü an. Die berechneten Werte gelten für Bielefeld. Eine Berechnung für andere Längen- und Breitengrade ist (noch) nicht programmiert.
 +
 +Der Wecker berechnet, ob momentan Sommer- oder Winterzeit gilt. Diese Information wird zur korrekten Berechnung der Sonnenaufgangs- und Sonnenuntergangszeit benötigt.((Es wäre eleganter, diese Information dem DCF77-Signal zu entnehmen, aber das sieht die entsprechende Bibliothek nicht vor)) Die Berechnung der Sommer- oder Winterzeit funktioniert nur bis zum Jahr 2099.
 ==== Ziffernblatt ==== ==== Ziffernblatt ====
 Das Ziffernblatt besteht aus 60 kreisförmig angeordneten NeoPixeln. Perspektivisch können verschiedene Ziffernblatteffekte ausgewählt werden. Momentan ist nur das Standardziffernblatt verfügbar. Es zeigt über drei weiße Balten die Stunden, Minuten und Sekunden an. Die Farbtemperatur wird in Abhängigkeit des Sonnenauf- und Sonnenuntergangs eingestellt. Das Ziffernblatt besteht aus 60 kreisförmig angeordneten NeoPixeln. Perspektivisch können verschiedene Ziffernblatteffekte ausgewählt werden. Momentan ist nur das Standardziffernblatt verfügbar. Es zeigt über drei weiße Balten die Stunden, Minuten und Sekunden an. Die Farbtemperatur wird in Abhängigkeit des Sonnenauf- und Sonnenuntergangs eingestellt.
Zeile 204: Zeile 211:
 Die oberste Menüebene erlaubt Zugriff auf die wichtigsten Funktionen des Schlafphasenweckers. Auf der linken Seite sind die Menüpunkte Snoozle, Ziffernblatt, Informationen und Einstellungen aufgelistet. Im restlichen Bereich wird die aktuelle Uhrzeit, die eingestellte Weckzeit und der Alarmmodus angezeigt. Eine Berührung in diesem Bereich führt zu dem Wecker-Menü, in dem die Alarmfunktion programmiert werden kann. Die oberste Menüebene erlaubt Zugriff auf die wichtigsten Funktionen des Schlafphasenweckers. Auf der linken Seite sind die Menüpunkte Snoozle, Ziffernblatt, Informationen und Einstellungen aufgelistet. Im restlichen Bereich wird die aktuelle Uhrzeit, die eingestellte Weckzeit und der Alarmmodus angezeigt. Eine Berührung in diesem Bereich führt zu dem Wecker-Menü, in dem die Alarmfunktion programmiert werden kann.
  
-Oben rechts im Display wird durch ein Funkwellensymbol dargestellt, ob und wann zuletzt ein gültiges Zeitsignal empfangen wurde: Wurde innerhalb der letzten 60 Minuten ein gültiges Zeitsignal empfangen, wird das Symbol weiß dargestellt. Ist das zuletzt empfangene Zeitsignal älter als eine Stunde, aber jünger als 12 Stunden, wird es hellgrau dargestellt. DAs Symbol wird dunkelgrau dargestellt, wenn das zuletzt vollständig empfangene Zeitsignal zwischen 12 und 24 Stunden alt ist. Wenn zuletzt vor mehr als 24 Stunden oder noch nie seit dem letzten Einschalten ein gültiges Zeitsignal empfangen wurde, wird kein Symbol angezeigt.+
  
 ==== Weckmenü ==== ==== Weckmenü ====
Zeile 216: Zeile 223:
   * Das Betätigen der Snooze-Funktion unterbricht den Alarm. Nach Ablauf der konfigurierten Snooze-Zeit erfolgt ein akustischer Alarm.   * Das Betätigen der Snooze-Funktion unterbricht den Alarm. Nach Ablauf der konfigurierten Snooze-Zeit erfolgt ein akustischer Alarm.
  
 +Wenn im visuellen Weckmodus nach Ablauf der (im Einstellungsmenü eingestellten) Weckvorlaufzeit der Alarm noch nicht deaktiviert wurde, wird zusätzlich ein akustischer Alarm aktiviert.
 ==== Snoozle ==== ==== Snoozle ====
 Der Menüpunkt Snoozle führt in das Menü der Schlummerfunktion. Die Schlummerfunktion spielt beruhigende Naturgeräusche oder Entspannungsmusik ab. Die Musik kann in einem weiteren Untermenü ausgewählt werden. Es stehen folgende Aufnahmen zur Auswahl: Der Menüpunkt Snoozle führt in das Menü der Schlummerfunktion. Die Schlummerfunktion spielt beruhigende Naturgeräusche oder Entspannungsmusik ab. Die Musik kann in einem weiteren Untermenü ausgewählt werden. Es stehen folgende Aufnahmen zur Auswahl:
Zeile 252: Zeile 260:
   * [[Arduino:Schlafphasenwecker:Programmversion 0.7]]: Der NeoPixel-Ring wurde eingebunden.   * [[Arduino:Schlafphasenwecker:Programmversion 0.7]]: Der NeoPixel-Ring wurde eingebunden.
   * [[Arduino:Schlafphasenwecker:Programmversion 0.8]]: Sehr viele kleinere und größere Ergänzungen und Verbesserungen   * [[Arduino:Schlafphasenwecker:Programmversion 0.8]]: Sehr viele kleinere und größere Ergänzungen und Verbesserungen
-  * [[Arduino:Schlafphasenwecker:Programmversion 0.9]]+  * [[Arduino:Schlafphasenwecker:Programmversion 0.9]]: TV-Simmulator und viele kleine Verbesserungen 
 +  * [[Arduino:Schlafphasenwecker:Programmversion 0.10]]: Umstellung von DCF77 auf GPS
  
-Tags: #Arduino #Schlafphasenwecker #Teensy+{{tag>Arduino Schlafphasenwecker Teensy}}
arduino/schlafphasenwecker.1488625976.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)