ESP32 - RTC (Real-Time Clock)
In deze gids leert u hoe u de ESP32 gebruikt in combinatie met het DS3231 Real-Time Clock (RTC) module. We behandelen de volgende onderwerpen in detail:
- Hoe u het DS3231 RTC module aansluit op de ESP32.
- Hoe u de ESP32 programmeert om datum en tijd uit te lezen van het DS3231 RTC module (seconde, minuut, uur, dag, datum, maand en jaar).
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables ESP32 Starterskit (ESP32 inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over het Real-Time Clock DS3231 Module
De ESP32 zelf heeft enkele tijdgerelateerde functies zoals millis() en micros(). Deze kunnen echter niet de volledige datum en tijd leveren (seconden, minuten, uren, dag, datum, maand en jaar). Om datum en tijd te verkrijgen, gebruiken we een Real-Time Clock (RTC) module zoals de DS3231 of DS1370. Het DS3231 module heeft een hogere nauwkeurigheid dan de DS1370. Zie voor meer informatie DS3231 vs DS1307.
Pinout
Het Real-Time Clock DS3231 Module heeft 10 pinnen:
- 32K pin: levert een stabiele (temperatuurgecompenseerde) en nauwkeurige referentieklok.
- SQW pin: geeft een nette vierkante golf af op 1 Hz, 4 kHz, 8 kHz of 32 kHz en kan programmatisch worden aangestuurd. Dit kan worden gebruikt als interrupt bij alarmcondities in veel tijdgebonden toepassingen.
- SCL pin: klokpin voor de I2C-interface.
- SDA pin: datapin voor de I2C-interface.
- VCC pin: voedt het module. Dit kan variëren van 3,3V tot 5,5V.
- GND pin: aardingspin.
Voor normaal gebruik zijn er slechts 4 pinnen nodig: VCC, GND, SDA en SCL.

Het DS3231 module heeft ook een batterijhouder.
- Wanneer u een CR2032 batterij plaatst, blijft de tijd lopen op het module wanneer de primaire voeding uitgeschakeld is.
- Zonder batterij gaat de tijdsinformatie verloren als de hoofdvoeding uitvalt en moet u de tijd opnieuw instellen.
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Als u niet weet hoe u ESP32 en andere componenten van stroom moet voorzien, vindt u instructies in de volgende tutorial: Hoe ESP32 van stroom te voorzien.
ESP32 - DS3231 RTC Module
| DS1307 RTC Module | ESP32 |
|---|---|
| Vin | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
Hoe te programmeren voor DS3231 RTC Module
- Voeg de bibliotheek toe:
- Declareer een RTC-object:
- Initialiseer de RTC:
- Voor de eerste keer, stel de RTC in op de datum & tijd waarop de sketch is gecompileerd op de PC:
- Lees datum- en tijdsinformatie uit het RTC-module:
ESP32 Code – Hoe data en tijd uit te lezen
Snel aan de slag
- Als u dit de eerste keer is dat u de ESP32 gebruikt, zie dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
- Maak de bedrading volgens bovenstaande afbeelding.
- Verbind de ESP32 met uw PC via een micro USB-kabel.
- Open de Arduino IDE op uw PC.
- Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
- Open de Library Manager door op het Library Manager icoon te klikken in de linkernavigatiebalk van Arduino IDE.
- Zoek naar “RTClib” en selecteer de RTC bibliotheek van Adafruit.
- Klik op de Installeren knop om de RTC bibliotheek te installeren.

- Mogelijk wordt u gevraagd ook afhankelijkheden voor de bibliotheek te installeren.
- Installeer alle afhankelijkheden door te klikken op de Alles Installeren knop.

- Kopieer de bovenstaande code en plak deze in Arduino IDE.
- Compileer en upload de code naar het ESP32 board door te klikken op de Uploaden knop in Arduino IDE.
- Open de Seriële Monitor in Arduino IDE.
- Bekijk de uitvoer in de Seriële Monitor.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.