Arduino - LCD-Uhr

In diesem Tutorial lernen wir, wie man eine LCD-Uhr herstellt:

Sie können eines von zwei RTC-Modulen wählen: DS3231 und DS1307. Siehe DS3231 vs DS1307

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×LCD I2C
1×DS3231 Echtzeituhr(RTC)-Modul
1×(Alternativ) Real-Time Clock DS1307 Module
1×CR2032 Batterie
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über LCD-, DS3231- und DS1307 RTC-Modul

Wenn Sie nichts über LCD, DS3231 und DS1307 wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), lernen Sie in den folgenden Tutorials mehr darüber.

LCD- und RTC-Bibliotheken installieren

  • Navigiere zum Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
  • Suche “LiquidCrystal I2C”, dann finde die LiquidCrystal_I2C-Bibliothek von Frank de Brabander.
  • Klicke auf die Installieren-Schaltfläche, um die LiquidCrystal_I2C-Bibliothek zu installieren.
Arduino LiquidCrystal I2C-Bibliothek
  • Suche “RTClib”, dann finde die RTC-Bibliothek von Adafruit. Diese Bibliothek funktioniert sowohl mit dem DS3231 als auch mit dem DS1307
  • Klicke auf Install-Schaltfläche, um die RTC-Bibliothek zu installieren.
Arduino RTC-Bibliothek
  • Sie könnten aufgefordert werden, weitere Bibliotheksabhängigkeiten zu installieren.
  • Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.
Arduino RTC-Abhängigkeitsbibliothek

Zeit vom DS3231 RTC-Modul auslesen und auf dem LCD anzeigen

Verdrahtungsdiagramm

Arduino DS3231 LCD Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino-Code - DS3231 und LCD

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS3231 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE
  • Klicken Sie in der Arduino-IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino hochzuladen
  • Sehen Sie das Ergebnis auf dem LCD

Zeit vom DS1307 RTC-Modul lesen und auf dem LCD anzeigen

Schaltplan

Arduino DS1307 LCD-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino-Code - DS1307 und LCD

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS1307 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den Arduino hochzuladen
  • Sehen Sie das Ergebnis auf dem LCD

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!