Objectif du projet
L’objectif de ce projet est de concevoir une horloge réveil numérique en utilisant la carte BBC micro:bit, un module RTC DS1302 RTC module, un afficheur LCD I2C et l’environnement de programmation Microsoft MakeCode.
Ce système permet d’afficher l’heure et la date en temps réel et d’ajouter une fonction de réveil programmable.
Le module RTC assure une mesure précise du temps même lorsque la carte Micro:bit est éteinte, grâce à sa batterie de sauvegarde.
Ce projet permet d’apprendre l’interfaçage de composants électroniques, la programmation avec MakeCode et la création d’un système embarqué utile.
Fonctionnement du projet
Le fonctionnement du système repose sur la communication entre la Micro:bit, le module RTC et l’afficheur LCD. Le module DS1302 maintient en permanence l’heure et la date.
La carte Micro:bit lit ces informations à intervalles réguliers et les affiche sur l’écran LCD I2C pour que l’utilisateur puisse les consulter facilement.
Lorsque l’heure actuelle correspond à l’heure du réveil programmée dans le programme MakeCode, la carte Micro:bit active une alerte, comme un buzzer ou un message sur l’écran.
Ce processus se répète continuellement, permettant au système de fonctionner comme une horloge réveil autonome, précise et fiable.
1- Carte Micro:bit

La carte Micro:bit est une carte électronique programmable qui constitue le cœur du système.
Elle agit comme unité de contrôle principale, récupérant l’heure depuis le module RTC et l’affichant sur l’écran LCD. Elle gère aussi des alertes de réveil via son buzzer interne.
2- Carte d'Extension GPIO pour Micro:bit

La carte d'extension GPIO permet de connecter des composants qui nécessitent plus de broches d'entrée/sortie que celles offertes par la carte Micro:bit.
3. Module RTC DS1302

Le module RTC DS1302 est un composant électronique qui permet de garder et de fournir l’heure et la date en temps réel. Il est souvent utilisé avec des cartes programmables comme la Micro:bit, Arduino UNO ou ESP32 pour créer des horloges numériques, des réveils ou des systèmes automatisés.
4. Afficheur LCD I2C

L’afficheur LCD I2C sert à visualiser l’heure et l’état du réveil.
5. Câbles de Connexion (Jumper Wires)

Les fils de connexion assurent la liaison entre la carte Micro:bit, le module RTC DS1302 et l’afficheur LCD. Ils permettent de relier les broches d’entrée/sortie et d’alimentation.
6- Breadboard (Plaque d'essai) :

Une breadboard est utile pour créer un circuit temporaire et connecter facilement les composants entre eux.


1- Connexion du module RTC DS1302 à la carte Micro:bit
| RTC DS1302 | Carte Micro:bit |
|---|---|
| CLK | P0 |
| DAT | P1 |
| RST | P2 |
| GND | GND |
| VCC | 5V de la carte GPIO |
2- Connexion de l’afficheur LCD I2C à la carte Micro:bit
| Afficheur LCD I2C | Carte Micro:bit |
|---|---|
| VCC | 5V de la carte GPIO |
| GND | GND |
| SDA | P20 |
| SCL | P19 |
1- Ouvrir l’éditeur MakeCode (https://makecode.microbit.org/).
2- Commencez un nouveau projet.
3- Ajoutez l'extension nécessaire pour utiliser un écran LCD. Pour cela, cliquez sur l'icône de la roue dentée en bas à gauche de l'éditeur, puis sélectionnez "Extensions". Recherchez et ajoutez l'extension "LCD I2C".



4- De la même manière ajoutez l'extension nécessaire pour utiliser le module RTC DS1302.


Ce programme MakeCode permet de lire l’heure et la date depuis le module RTC DS1302 et de les afficher sur un écran LCD I2C. Il inclut également une fonction réveil qui déclenche un buzzer et un message sur l’écran à une heure programmée (ici 7:00).

Voici l’explication détaillée :
1. Déclaration des variables

Ces variables servent à stocker des textes :
date : pour enregistrer la date
Hour : pour enregistrer l’heure
minute : pour enregistrer les minutes
second : pour enregistrer les secondes
time : pour enregistrer l’heure complète
2. Initialisation de l’écran LCD
![]()
Cette instruction initialise l’écran LCD I2C.
Elle permet à la carte Micro:bit de communiquer avec l’écran
3. Création de l’objet DS1302

Cette instruction connecte le module DS1302 à la Micro:bit :
P0 → CLK (Clock)
P1 → DAT (Data)
P2 → RST (Reset)
La variable ds permet ensuite d’utiliser les fonctions du module RTC.
4. Réglage initial de la date et de l’heure

Cette instruction règle l’horloge avec :
Année : 2026
Mois : 1
Jour : 14
Jour de la semaine : 4
Heure : 10
Minute : 45
Seconde : 0
5. Fonction afficher_temps

Cette fonction lit l’heure, les minutes et les secondes depuis le module RTC.
Elle ajoute un zéro devant les valeurs inférieures à 10 pour un affichage correct (format 2 chiffres).
Elle construit une chaîne de texte complète pour l’affichage : "Hour:HH:MM:SS".
6. Boucle principale

La boucle Toujours met à jour l’heure en continu sur l’écran LCD.
Elle efface la ligne 1 pour éviter des caractères résiduels.
Lorsque l’heure correspond à 7:00:00, la Micro:bit déclenche le réveil :
1- Affichage du message "Alarm 7:00 !!!" sur la ligne 1 du LCD.
2- Jouer un son de buzzer plusieurs fois pour alerter l’utilisateur.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info