Arduino-Uhr mit Datum, Zeit & LCD: Zuverlässig dank RTC & I²C
Benötigte Bauteile
| Komponente | Anzahl |
|---|---|
| Arduino UNO | 1 |
| LCD 16×2 mit I²C-Modul (z. B. Adafruit/YwRobot) | 1 |
| RTC-Modul DS1307 oder DS3231 (I²C) | 1 |
| Taster 12 mm | 3 |
| Widerstände 10 kΩ (Pull-Down für Taster) | 3 |
| Steckbrett & Jumper-Wires | 1 Set |
Projektziel
Eine zuverlässige Uhr mit Datum- und Zeitanzeige, die per Taster eingestellt werden kann – ohne Neuprogrammierung. Ein RTC-Modul (Real Time Clock) sorgt für genaue Zeithaltung auch bei Stromausfall (Knopfzelle). LCD und RTC kommunizieren über I²C, was nur zwei Arduino-Pins (A4/SDA, A5/SCL) belegt.
Schaltung
I²C-Bus
LCD SDA → Arduino A4 LCD SCL → Arduino A5 RTC SDA → Arduino A4 (parallel) RTC SCL → Arduino A5 (parallel)
Beide Geräte teilen sich den Bus; die Adressen sind fest (LCD typisch 0x27 oder 0x3F, RTC 0x68).
Taster (Pull-Down)
Taster 1 (Menü) → Pin 2, 10 kΩ nach GND Taster 2 (Plus) → Pin 3, 10 kΩ nach GND Taster 3 (Minus) → Pin 4, 10 kΩ nach GND
Drückt man einen Taster, liegt HIGH am Pin an.
Software & Bibliotheken
Wire.h(I²C, inklusive)RTClib.h(von Adafruit, für DS1307/DS3231)LiquidCrystal_I2C.h(für LCD mit I²C-Backpack)
Programmlogik
- Normalbetrieb: Im
loop()werden Datum & Zeit vom RTC gelesen und auf dem LCD angezeigt (z. B. „12.10.2023 14:35:12“). - Einstellmodus: Drückt man den Menü-Taster, wechselt die Anzeige in einen Menü-Modus. Weitere Tastendrücke wählen nacheinander: Stunde, Minute, Tag, Monat, Jahr. Mit Plus/Minus wird der Wert geändert. Bestätigung per Menü-Taster speichert die Werte im RTC.
- Entprellung: Einfaches
delay(200)nach Tastenerkennung.
Besonderheiten
- Der Code ist kompakt und gut strukturiert – ideal als Basis für weitere Projekte (z. B. Steuerung von Heizung, Beleuchtung, Fütterungsautomat).
- Das Projekt wurde auch auf Instructables veröffentlicht.
- Ein Fritzing-Schaltplan (
simple_clock_uOb2RxCa71.fzz) liegt bei.
Fazit
Eine solide, nachbauwürdige Uhr mit RTC, I²C-LCD und Menü-Einstellung. Der I²C-Bus hält die Verkabelung sauber, die Libraries machen die Programmierung einfach. Perfekt als Lernprojekt oder Basis für zeitgesteuerte Anwendungen.
Herstellungsprozess
- Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden
- Sicherstellung der rechtzeitigen Produktion neuer Impfstoffe und Biologika
- Retro-Numitron-Uhr mit Arduino bauen: Einfach, zuverlässig & energieeffizient
- Java Datum und Zeit meistern: Konstruktoren, Methoden & Best Practices
- C++ Datum & Zeit: Umfassender Leitfaden
- Java 8: Die robuste neue Date/Time-API
- Datum & Zeit in Python meistern: Praktischer Leitfaden
- Präzisions-Wortuhr: Minuten-genaue Zeitanzeige in Worten
- Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
- Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen