Schritt 20: Letzte Uhr Code
Wie vor, der Code als .txt Datei - befestigt ist laden in WordPad und Copy/Paste in die IDE oder benennen Sie als .pde direkt zu laden.
Es gibt eine Menge von Funktionen in den Code der RTC, Encoder und Display-Funktionen sind die gleichen, wie wir, in der Test-Code für die vorherigen Module gesehen haben.
Die Skizze wurde jeweils etwa 20 Minuten auf meinem täglichen Weg zur/von der Arbeit geschrieben und deshalb wahrscheinlich nicht, dass die systematische Stück codieren Sie je sehen werden. Jedoch bietet es Funktionen für:
Lesen/Schreiben 1307 RTC
Schreiben an 4-stelliges Display und "bewaffneten" Statusanzeige
Blättern Sie über 4-stelliges display
Lesung von Encoder unter interrupt
Lesung-Encoder-Schalter und 2 momentanen Schalter
RTC von Display/Encoder einstellen
Anzeige Datum & Tag
Aktivierung/Deaktivierung von Alarmen
Speichern Sie bewaffneten Status auf RTC Batterie unterstützte RAM
Anzeige aktueller Alarme
Festlegen von bis zu 7 separate Alarme jeweils mit on/off Zeit, Tag und Summer ein-/
Alarme auf EEPROM speichern
Rampe die Uhrzeit (Zeit von min. bis max. Helligkeit), halten (Zeit von max. Helligkeit) und Summer Vorlaufzeit (Zeit zwischen Max. Helligkeit zu erreichen und Summer)
Nachtlicht-Modus (Turn-Encoder)
Sicherheit-light-Modus (zufällige volles Licht zwischen 18:00 und 01:00 mit Durchschnitt von 45 Minuten zwischen Zyklen)
Summer-Alarm mit eskalierenden Piepton
Für Buzzer Snooze (7 Minuten oder bis Ende Lampe "hold" Zeit).
Ich habe diesen Code läuft seit einigen Monaten und es funktioniert gut für ein Morgen Dämmerlicht. Es kann jedoch Situationen, in denen ich noch nicht erlebt habe, also ich sicher sein kann, dass es hat Bug-frei. Aber es ist völlig offen und hackable, also wenn Sie einen Fehler finden, zögern Sie nicht mit der Fehler-Natur und vorzugsweise das Update kommentieren! Wenn Sie es nicht beheben können, werde ich tun was ich kann.