ESP32 - RTC
Dans ce guide, nous allons apprendre à utiliser l'ESP32 avec le module d'horloge temps réel DS3231. En détail, nous couvrirons les sujets suivants :
- Comment connecter le module RTC DS3231 à l'ESP32.
- Comment programmer l'ESP32 pour lire la date et l'heure à partir du module RTC DS3231 (seconde, minute, heure, jour, date, mois et année)
Préparation du matériel
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | Real-Time Clock DS3231 Module | |
1 | × | CR2032 battery | |
1 | × | Jumper Wires | |
1 | × | Breadboard | |
1 | × | (Optional) DC Power Jack | |
1 | × | (Recommended) ESP32 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du module d'horloge temps réel DS3231
L'ESP32 dispose par lui-même de certaines fonctions liées au temps telles que millis(), micros(). Cependant, elles ne peuvent pas fournir la date et l'heure (secondes, minutes, heures, jour, date, mois et année). Pour obtenir la date et l'heure, nous devons utiliser un module d'horloge en temps réel (RTC) tel que le DS3231, le DS1370. Le module DS3231 est plus précis que le DS1370. Voir DS3231 vs DS1307
Brochage
Le module de l'horloge temps réel DS3231 comprend 10 broches :
- Broche 32K : fournit une horloge de référence stable (compensée en température) et précise.
- Broche SQW : émet une belle onde carrée à 1Hz, 4kHz, 8kHz ou 32kHz et peut être gérée par programmation. Ceci peut également être utilisé comme une interruption due à une condition d'alarme dans de nombreuses applications basées sur le temps.
- Broche SCL : est une broche d'horloge pour l'interface I2C.
- Broche SDA : est une broche de données pour l'interface I2C.
- Broche VCC : fournit l'alimentation pour le module. Elle peut être comprise entre 3,3V et 5,5V.
- Broche GND : est une broche de masse.
Pour une utilisation normale, il faut utiliser 4 broches : VCC, GND, SDA, SCL.
Le module DS3231 dispose également d'un support de batterie.
- Si nous insérons une pile CR2032, cela permet de maintenir l'heure sur le module lorsque l'alimentation principale est coupée.
- Si nous n'insérons pas la pile, les informations horaires sont perdues si l'alimentation principale est coupée et vous devez régler à nouveau l'heure.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
ESP32 - Module RTC DS3231
DS1307 RTC Module | ESP32 |
---|---|
Vin | 3.3V |
GND | GND |
SDA | GPIO21 |
SCL | GPIO22 |
Comment programmer le module RTC DS3231
- Inclure la bibliothèque :
- Déclarer un objet RTC :
- Initialiser l'horloge RTC :
- Pour la première fois, réglez la RTC sur la date et l'heure du PC sur lequel le sketch a été compilé.
- Lit les informations de date et d'heure à partir du module RTC.
Code ESP32 - Comment obtenir la date et l'heure
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Réalisez le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple Module de développement ESP32) et le port COM.
- Ouvrez le gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques dans la barre de navigation gauche de l'Arduino IDE.
- Recherchez "RTClib", puis trouvez la bibliothèque RTC par Adafruit.
- Cliquez sur le bouton Install pour installer la bibliothèque RTC.
- Il se peut que l'on vous demande d'installer les dépendances pour la bibliothèque.
- Installez toutes les dépendances de la bibliothèque en cliquant sur le bouton Installer Tout.
- Copiez le code ci-dessus et collez-le dans l'IDE Arduino
- Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino
- Ouvrez le moniteur série dans l'IDE Arduino
- Vérifiez la sortie sur le moniteur série.