Arduino - Horloge LCD

Dans ce tutoriel, nous allons apprendre à fabriquer une horloge LCD en :

Vous pouvez choisir l'un des deux modules RTC : DS3231 et DS1307. Voir DS3231 vs DS1307

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×LCD I2C
1×Module horloge temps réel DS3231
1×Alternativement: Real-Time Clock DS1307 Module
1×Pile CR2032
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
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.

Note d'achat: Une autre option consiste à créer l'écran LCD I2C en associant LCD 1602 Display et PCF8574 I2C Adapter Module.

À propos de l'écran LCD, des modules RTC DS3231 et DS1307

Si vous ne connaissez pas les LCD, DS3231 et DS1307 (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Installez les bibliothèques LCD et RTC

  • Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'IDE Arduino.
  • Recherchez "LiquidCrystal I2C", puis trouvez la bibliothèque LiquidCrystal_I2C de Frank de Brabander
  • Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
Bibliothèque LiquidCrystal I2C pour Arduino
  • Recherchez "RTClib", puis trouvez la bibliothèque RTC par Adafruit. Cette bibliothèque fonctionne avec les DS3231 et DS1307.
  • Cliquez sur le bouton Install pour installer la bibliothèque RTC.
Bibliothèque RTC Arduino
  • Il se peut qu'on vous demande d'installer d'autres dépendances de bibliothèques
  • Cliquez sur le bouton Install All pour installer toutes les dépendances des bibliothèques.
Bibliothèque de dépendance rtc Arduino

Lire l'heure depuis le module RTC DS3231 et l'afficher sur un écran LCD

Schéma de câblage

Schéma de câblage Arduino DS3231 LCD

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

Code Arduino - DS3231 et LCD

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS3231 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code vers l'Arduino
  • Observez le résultat sur l'écran LCD

Lire l'heure depuis le module RTC DS1307 et l'afficher sur un écran LCD

Schéma de câblage

Schéma de câblage Arduino DS1307 LCD

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

Code Arduino - DS1307 et LCD

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-lcd-clock */ #include <LiquidCrystal_I2C.h> #include <RTClib.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows RTC_DS1307 rtc; void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight // SETUP RTC MODULE if (!rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (true) ; } // automatically sets the RTC to the date & time on PC this sketch was compiled rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Date: "); lcd.print(year); lcd.print("/"); lcd.print(month); lcd.print("/"); lcd.print(day); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Time: "); lcd.print(hour); lcd.print(":"); lcd.print(minute); lcd.print(":"); lcd.print(second); delay(1000); // Update every second }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code vers Arduino
  • Voir le résultat sur l'écran LCD

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 !