Arduino Nano ESP32 - RTC

Dans ce guide, nous allons apprendre à utiliser l'Arduino Nano ESP32 avec le module d'horloge temps réel DS3231. En détail, nous couvrirons les sujets suivants :

Préparation du matériel

1×Arduino Nano ESP32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Module horloge temps réel DS3231
1×Pile CR2032
1×Fils de connexion
1×Plaque d'essai
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Carte d'extension à bornier à vis pour Arduino Nano
1×Recommandé: Carte d'extension breakout pour Arduino Nano
1×Recommandé: Répartiteur d'alimentation pour Arduino Nano ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

#À propos du module d'horloge temps réel DS3231

L'Arduino Nano ESP32 dispose en lui-même de quelques 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 Temps Réel (RTC) tel que DS3231, DS1370. Le module DS3231 est plus précis que le DS1370. Voir DS3231 vs DS1307

Brochage

L’horloge en temps réel, module 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. Cela peut également être utilisé comme une interruption en raison d'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 : alimente le module. Elle peut être comprise entre 3,3V et 5,5V.
  • Broche GND : est une broche de masse.

Pour une utilisation normale, il nécessite l'utilisation de 4 broches : VCC, GND, SDA, SCL.

Horloge temps réel DS3231 Module Brochage

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

Schéma de câblage de l'horloge temps réel DS3231 pour Arduino Nano ESP32

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Arduino Nano ESP32 - Module RTC DS3231

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

Comment programmer le module RTC DS3231

  • Inclure la bibliothèque :
#include <RTClib.h>
  • Déclarez un objet RTC :
RTC_DS3231 rtc;
  • Initialiser RTC :
if (! rtc.begin()) { Serial.println("RTC module is NOT found"); while (1); }
  • Pour la première fois, réglez la RTC à la date et à l'heure où le sketch a été compilé sur l'ordinateur.
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  • Lit les informations de date et d'heure à partir du module RTC
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);

Code Arduino Nano ESP32 - Comment obtenir la date et l'heure

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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 }

Étapes rapides

Pour commencer avec Arduino Nano ESP32, suivez ces étapes :

  • Si vous débutez avec l'Arduino Nano ESP32, consultez le tutoriel sur Installation du logiciel Arduino Nano ESP32..
  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur via un câble USB.
  • Lancez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et le port COM correspondant.
  • 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.
Bibliothèque RTC Arduino Nano ESP32
  • Une fenêtre peut apparaître pour vous demander d'installer les dépendances pour la bibliothèque
  • Installez toutes les dépendances pour la bibliothèque en cliquant sur le bouton Install All.
Bibliothèque BusIO Adafruit pour Arduino Nano ESP32
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino
  • Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino
  • Ouvrez le moniteur série dans l'IDE Arduino
  • Regardez la sortie sur le moniteur série.
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  

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !