Wecker mit RTC-Modul DS3231




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.

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

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

  • 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

Die zuvor ein­ge­stell­te Zeit und der Zustand des Weckers (ein/aus) wer­den auf dem inter­nen Spei­cher eines Ardui­nos gespei­chert. Du kannst in Zei­le 54 eine der Melo­dien als Weck­si­gnal ein­stel­len.

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
  • Dau­er des Weck­si­gnals in Sekun­den
    Dau­er­Weck­si­gnal
  • Anzei­ge der Tem­pe­ra­tur ein/aus
    Anzei­ge­Tem­pe­ra­tur true/false
  • Aus­wahl der Melo­die:
    0: TeDe­um
    1: FuerE­li­se
    2: Ode­An­Die­Freu­de
    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.

Keyes Fernbedienung
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 TeDe­umjanein
2Melo­die Eli­sejanein
3Melo­die Odejanein
4Melo­die Bole­rojanein
5Melo­die Fuenf­tejanein
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

Bibliothek Rtttl
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.

Der setup-Teil

Der loop-Teil

Die Tas­ten­codes bezie­hen sich auf die Keyes-Fern­be­die­nung. Wenn du eine ande­re Fern­be­die­nung ver­wen­dest, musst du die ⇒Tas­ten­codes anpas­sen.

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: März 9, 2026 @ 17:34

Inhalt