Arduino Nano ESP32 - DS1307 RTC-Modul

In diesem Leitfaden lernen wir, wie man das DS1307 RTC-Modul mit dem Arduino Nano ESP32 verwendet. Im Detail werden wir die folgenden Themen behandeln:

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×DS1307 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 DS1307-Echtzeituhr-Modul

Arduino Nano ESP32 verfügt selbst über einige zeitbezogene Funktionen wie millis() und micros(). Allerdings können sie kein Datum und keine Uhrzeit liefern (Sekunden, Minuten, Stunden, Tag, Datum, Monat und Jahr). Um Datum und Uhrzeit zu erhalten, muss man ein Echtzeituhr-Modul (RTC) wie DS3231 und DS1370 verwenden. Das DS3231-Modul besitzt eine höhere Präzision als DS1370. Siehe DS3231 vs DS1307

Pinbelegung

DS1307-Echtzeituhr-Modul enthält 12 Pins. Für den normalen Gebrauch werden jedoch 4 Pins benötigt: VCC, GND, SDA, SCL:

  • SCL-Pin: ist ein Taktpin für die I2C-Schnittstelle.
  • SDA-Pin: ist ein Datenpin für die 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.
Pinbelegung des DS1307-Echtzeituhr-Moduls

Das DS1307-Modul verfügt auch über einen Batteriehalter.

  • Wenn wir eine CR2032-Batterie einsetzen, läuft die Zeit im Modul weiter, wenn die Hauptstromversorgung ausgeschaltet ist.
  • Wenn keine Batterie eingesetzt wird, gehen die Zeiteinstellungen verloren, wenn die Hauptstromversorgung ausgeschaltet ist, und Sie müssen die Zeit erneut einstellen.

Verdrahtungsdiagramm

Arduino Nano ESP32 Echtzeituhr DS1307 Verdrahtungsdiagramm

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

Arduino Nano ESP32 - DS1307 RTC-Modul

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

Wie programmiert man das DS1307 RTC-Modul

  • Die Bibliothek einbinden:
#include <RTClib.h>
  • Deklariere ein RTC-Objekt:
RTC_DS1307 rtc;
  • Echtzeituhr initialisieren:
if (! rtc.begin()) { Serial.println("RTC module is NOT found"); while (1); }
  • Zum ersten Mal stellen Sie die RTC auf das Datum und die Uhrzeit des PCs ein, auf dem der Sketch kompiliert wurde.
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  • Liest Datums- und Uhrzeitinformationen aus dem 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-ds1307-rtc-module */ #include <RTClib.h> RTC_DS1307 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, sehen Sie sich das Tutorial an: wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Schaltplan.
  • Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Öffnen Sie den Library Manager, indem Sie auf das Library Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
  • Suchen Sie “RTClib”, und finden Sie dann die RTC-Bibliothek von Adafruit.
  • Klicken Sie auf den Install-Button, um die RTC-Bibliothek zu installieren.
Arduino Nano ESP32 RTC-Bibliothek
  • Es kann ein Fenster erscheinen, das Sie auffordert, Abhängigkeiten der 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 und laden Sie den Code auf das Arduino Nano ESP32-Board, 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/22 (Monday) 09:31:35 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:36 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:37 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:38 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:39 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:40 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:41 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:42 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31:43 Arduino Nano ESP32 RTC Date Time: 2022/08/22 (Monday) 09:31: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.

Verwandte Tutorials

※ 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!