Wecker mit RTC-Modul DS3231

Kate­go­rien: ,


Seite als PDF

Ziele des Projekts

Die Weck­zeit wird zusam­men mit Wochen­tag, Datum und Uhr­zeit auf dem 4-zei­li­gen LCD-Dis­play mit I²C-Schnitt­stel­le ange­zeigt. Die Ein­stel­lun­gen kön­nen mit Tas­tern oder einer Fern­be­die­nung vor­ge­nom­men wer­den.
Außer­dem wird die mit dem RTC-Modul gemes­se­ne Tem­pe­ra­tur ange­zeigt. Für die Akti­vie­rung des Weck­si­gnals wird die ⇒Alarm­funk­ti­on des RTC-Moduls DS3231 genutzt.

Anwen­dungs­bei­spiel (Dan­ke an Nor­bert Schrills)

Wecker mit Fern­be­die­nung

Die Weck­me­lo­die wird mit RTTTL abge­spielt.

RTTTL (Ring Tone Text Trans­fer Lan­guage) sind Klin­gel­tö­ne, die ursprüng­lich von Nokia für ihre Mobil­te­le­fo­ne ent­wi­ckelt wur­den. Ein Klin­gel­ton muss drei Bestand­tei­le haben:

  • den Namen des Klin­gel­tons
  • die Stan­dard­vor­ga­ben: die Dau­er der Noten und die ver­wen­de­te Okta­ve
  • die durch Kom­ma­ta getrenn­ten Noten (inter­na­tio­na­le Noten­be­zeich­nung c, d, e, f, g, a, b) alle Tei­le sind durch einen Dop­pel­punkt getrennt

Bei­spiel Te Deum:

TeDeum:d=4,o=5,b=63:8c,8f,16f,16g,8a

d=4: Stan­dard­no­ten­län­ge Vier­tel­no­te

o=5: Anga­be der Okta­ve

b=63: Abspiel­ge­schwin­dig­keit 63 Schlä­ge pro Minu­te

8c: Note C als Ach­tel­no­te gespielt

Als Weck­si­gnal ste­hen ver­schie­de­ne Melo­dien zur Ver­fü­gung.

Das Pro­gramm spielt die Melo­dien:

Wei­te­re Klin­gel­tö­ne zum Down­load bei 🔗PICAXE

Wecker mit Tastern

  • lin­ker Tas­ter: eine Stun­de vor­wärts
  • mitt­le­rer Tas­ter: eine Minu­te wei­ter
  • rech­ter Tas­ter: Wecker ein- oder aus­schal­ten
Programm bei WOKWI

Die zuvor ein­ge­stell­te Zeit und der Zustand des Weckers (ein/aus) wer­den auf dem inter­nen Spei­cher (⇒EEPROM) eines Ardui­nos gespei­chert.

Benötigte Bauteile

Die Lau­stär­ke des Laut­spre­chers kannst du mit einem vor­ge­schal­te­ten Wider­stand regu­lie­ren.

Der Schaltplan

(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Das Programm

Bibliotheken und Variablen

Ein­stel­lun­gen:

  • Uhr­zei­ten, in denen das Dis­play dun­kel geschal­tet wer­den kann
    ZeitBeleuchtungAus/ZeitBeleuchtungEin
    Anga­be einer Uhr­zeit ohne vor­an­ge­stell­te 0
  • Anzei­ge der Sekun­den ein/aus
    Sekun­den­An­zei­gen true/false
  • Anzei­ge der Tem­pe­ra­tur ein/aus
    Anzei­ge­Tem­pe­ra­tur true/false
  • Kor­rek­tur­Tem­pe­ra­tur
    Die inte­grier­te Mes­sung der Tem­pe­ra­tur des DS3231 ist nicht sehr genau (+/- 3°) und wird zusätz­lich durch die Wär­me in einem Gehäu­se beein­flusst. Der fest­ge­legt Wert wird nach der Mes­sung mit 0.25 mul­ti­pli­ziert.
  • Aus­wahl der Melo­die:
    0: TeDe­um
    1: Eli­se
    2: Ode
    3: Bole­ro
    4: Fuenf­te
  • Licht beim Weck­si­gnal ein/aus
    Licht­we­cker true/false
Info

Solan­ge die Weck­me­lo­die abge­spielt wird, bleibt der Sekun­den­zei­ger ste­hen. Anschlie­ßend wird wie­der der aktu­el­le Wert ange­zeigt.

Der setup-Teil

Nach­dem die Zeit mit dem Zeit­punkt des Kom­pi­lie­rens gesetzt wur­de, musst du vor einem erneu­tem Hoch­la­den die Zei­le 32 mit // ver­se­hen, ansons­ten stimmt nach einem Strom­aus­fall oder einem erneu­tem Ein­ste­cken der Strom­zu­fuhr die Zeit nicht mehr.

Der loop-Teil

Die Funk­ti­on Wecken setzt die Varia­ble Alarm auf true:

Die Varia­ble Weck­me­lo­die bestimmt, wel­che Melo­die gespielt wird:

Wecker mit Fernbedienung

Die Fern­be­die­nung bie­tet die Mög­lich­keit die Ein­stel­lun­gen im lau­fen­den Betrieb zu ändern, die neu­en Ein­stel­lun­gen zu spei­chern und auf dem LCD anzu­zei­gen.

Bei­spie­le für Fern­be­die­nun­gen

Tas­tebewirktSpei­chern im EEPROMAnzei­ge im Dis­play
Pfeil obeneine Stun­de vor­wärtsjaja
Pfeil unteneine Stun­de zurückjaja
Pfeil rechtseine Minu­te wei­terjaja
Pfeil linkseine Minu­te zurückjaja
OKWecker ein- oder aus­schal­tenjaja
1Melo­die ändern (1 .. 5)
1: Te Deum
2: Für Eli­se
3: Ode an die Freu­de
4: Bole­ro
5: Beet­ho­vens Fünf­te
jaja Name der Melo­die
2Tem­pe­ra­tur­an­zei­ge ein/ausjaja
6Weck­si­gnal mit Licht ein/ausjaja (L)
7Schlum­mer­zeit ver­rin­gernjaS + Anzahl Minu­ten
8Schlum­mer­zeit ver­gößernjaS + Anzahl Minu­ten
9Anzei­ge der Sekun­den ein/ausneinja
0Licht ein-/aus­schal­tenneinnein
*Hin­ter­grund­be­leuch­tung ein­schal­tenneinja
#Hin­ter­grund­be­leuch­tung aus­schal­tenneinja
WOKWI

Benötigte Bauteile

Der Schaltplan

(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)
Die wei­ße LED ist optio­nal.

Das Programm

Einstellungen

Wenn du das Pro­gramm zum ers­ten Mal star­test, sind alle Wer­te im EEPROM auf 0 gesetzt. Mit die­sem Pro­gramm kannst du die Wer­te anzei­gen:

Mit die­sem Pro­gramm kannst du alle Wer­te auf 0 set­zen:

Bibliotheken und Variable

Info

Wenn Tas­ten auf der Fern­be­die­nung gedrückt wer­den, kann es zu kur­zen zeit­li­chen Ver­zö­ge­run­gen kom­men. Die­se wer­den aber bei der nächs­ten Abfra­ge des RTC-Moduls kor­ri­giert.

Info

Solan­ge die Weck­me­lo­die abge­spielt wird, bleibt die Sekun­den­an­zei­ge ste­hen. Anschlie­ßend wird wie­der der aktu­el­le Wert ange­zeigt.

Du musst die Varia­blen für die Tas­ten der jewei­li­gen Fern­be­die­nung anpas­sen. ⇒Hier kannst du die Tas­ten­codes her­aus­fin­den.

Der setup-Teil

Der loop-Teil

Info

Wenn der Druck auf die Tas­te der Fern­be­die­nung zu schnell hin­ter­ein­an­der regis­triert wird, kannst du in Zei­le 15 die Zeit für delay etwas erhö­hen.

Die über den Inter­rupt­pin aus­ge­lös­te Funk­ti­on IRAb­fra­gen() setzt die Varia­ble IRAk­tiv auf true:

Die Funk­ti­on Wecken setzt die Varia­ble Alarm auf true:

Die Varia­ble Weck­me­lo­die bestimmt, wel­che Melo­die gespielt wird:


Ähnliche Projekte


Letzte Aktualisierung: Apr. 20, 2026 @ 20:26

Inhalt