Arduino Nano ESP32 - Echtzeituhr

In diesem Leitfaden lernen wir, wie man den Arduino Nano ESP32 mit dem DS3231-Echtzeituhr-Modul verwendet. Im Detail behandeln wir die folgenden Themen:

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DS3231 Echtzeituhr(RTC)-Modul
1×CR2032 Batterie
1×Verbindungskabel
1×Breadboard
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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 das DS3231-Echtzeituhr-Modul

Der Arduino Nano ESP32 selbst verfügt über einige zeitbezogene Funktionen wie millis() und micros(). Allerdings können sie Datum und Uhrzeit nicht liefern. Um Datum und Uhrzeit zu erhalten, müssen wir ein Real-Time Clock (RTC) Modul wie DS3231 oder DS1370 verwenden. Das DS3231-Modul hat eine höhere Genauigkeit als DS1370. Siehe DS3231 vs DS1307

Pinbelegung

Echtzeituhr DS3231-Modul enthält 10 Pins:

  • 32K-Pin: liefert den stabilen (temperaturkompensierten) und genauen Referenz-Takt.
  • SQW-Pin: erzeugt eine saubere Rechteckwelle mit 1 Hz, 4 kHz, 8 kHz oder 32 kHz und kann programmatisch verwendet werden. Dies kann außerdem als Interrupt aufgrund eines Alarmzustands in vielen zeitbasierten Anwendungen genutzt werden.
  • SCL-Pin: ist eine Taktleitung der I2C-Schnittstelle.
  • SDA-Pin: ist eine Datenleitung der I2C-Schnittstelle.
  • VCC-Pin: versorgt das Modul mit Strom. Es kann zwischen 3,3 V und 5,5 V liegen.
  • GND-Pin: ist ein Massepin.

Für den normalen Gebrauch müssen vier Pins verwendet werden: VCC, GND, SDA, SCL.

Pinbelegung des DS3231-Echtzeituhr-Moduls

Das DS3231-Modul verfügt außerdem über einen Batteriehalter.

  • Wenn wir eine CR2032-Batterie einsetzen, läuft die Uhrzeit im Modul weiter, wenn die Hauptversorgung ausgeschaltet ist.
  • Wenn wir keine Batterie einsetzen, geht die Uhrzeit verloren, wenn die Hauptversorgung ausgeschaltet ist, und man muss die Uhrzeit erneut einstellen.

Verdrahtungsdiagramm

Arduino Nano ESP32 Echtzeituhr DS3231 Verdrahtungsdiagramm

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

Arduino Nano ESP32 - DS3231 RTC-Modul

DS1307 RTC Module Arduino Nano ESP32
Vin 3.3V
GND GND
SDA A4
SCL A5

Wie man das DS3231 RTC-Modul programmiert

  • Die Bibliothek einbinden:
#include <RTClib.h>
  • Deklariere ein RTC-Objekt:
RTC_DS3231 rtc;
  • RTC initialisieren:
if (! rtc.begin()) { Serial.println("RTC module is NOT found"); while (1); }
  • Beim ersten Mal setzen Sie die RTC auf das Datum und die Uhrzeit des PCs, auf dem der Sketch kompiliert wurde.
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  • Liest Datum- und Uhrzeitinformationen vom RTC-Modul
DateTime now = rtc.now(); Serial.print("Arduino Nano ESP32 RTC Date Time: "); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(" ("); Serial.print(now.dayOfTheWeek()); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.println(now.second(), DEC);

Arduino Nano ESP32 Code – Wie man Datum und Uhrzeit erhält

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-rtc */ #include <RTClib.h> RTC_DS3231 rtc; char daysOfWeek[7][12] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; void setup () { Serial.begin(9600); // SETUP RTC MODULE if (! rtc.begin()) { Serial.println("RTC module is NOT found"); Serial.flush(); while (1); } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // manually sets the RTC with an explicit date & time, for example to set // January 21, 2021 at 3am you would call: // rtc.adjust(DateTime(2021, 1, 21, 3, 0, 0)); } void loop () { DateTime now = rtc.now(); Serial.print("ESP32 RTC Date Time: "); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(" ("); Serial.print(daysOfWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.println(now.second(), DEC); delay(1000); // delay 1 seconds }

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zu wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Verbinden Sie das Arduino Nano ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und seinen entsprechenden COM-Port aus.
  • Öffnen Sie den Bibliotheksverwalter, indem Sie auf das Symbol Bibliotheksverwalter in der linken Navigationsleiste der Arduino IDE klicken.
  • Suchen Sie “RTClib”, anschließend finden Sie die RTC-Bibliothek von Adafruit.
  • Klicken Sie auf die Installieren-Schaltfläche, um die RTC-Bibliothek zu installieren.
Arduino Nano ESP32 RTC-Bibliothek
  • Ein Fenster kann erscheinen, das Sie auffordert, Abhängigkeiten für die Bibliothek zu installieren.
  • Installieren Sie alle Abhängigkeiten der Bibliothek, indem Sie auf die Schaltfläche Alle installieren klicken.
Arduino Nano ESP32 Adafruit BusIO-Bibliothek
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino-IDE ein
  • Kompilieren Sie und laden Sie den Code auf das Arduino Nano ESP32-Board hoch, indem Sie in der Arduino-IDE auf die Schaltfläche Hochladen klicken
  • Öffnen Sie den seriellen Monitor in der Arduino-IDE
  • Sehen Sie die Ausgabe im seriellen Monitor
COM6
Send
Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:35 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:36 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:37 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:38 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:39 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:40 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:41 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:42 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:43 Arduino Nano ESP32 RTC Date Time: 2022/08/26 (Friday) 15:21:44
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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!