Objectif du projet
L’objectif de ce projet est de concevoir un distributeur automatique de pièces de monnaie contrôlé par la carte Micro:bit, en utilisant un servomoteur pour actionner le mécanisme de distribution et un afficheur LCD I2C pour afficher les informations destinées à l’utilisateur.
Ce système permet de simuler le fonctionnement simplifié d’un distributeur d’argent ou d’un petit ATM, où l’utilisateur peut choisir un montant à retirer puis déclencher la distribution des pièces.
Ce projet constitue également une excellente activité pédagogique pour apprendre à programmer la carte Micro:bit, contrôler un servomoteur et communiquer avec un écran LCD via le protocole I2C.
Description du fonctionnement
Le fonctionnement du système repose sur la carte Micro:bit, qui agit comme unité de contrôle principale.
1- Sélection du montant
L’utilisateur utilise le bouton A de la carte Micro:bit pour choisir le montant à retirer.
Chaque pression sur le bouton A augmente la valeur du montant sélectionné (par exemple : 1 pièce, 2 pièces, 3 pièces, etc.).
Le montant choisi est affiché sur l’écran LCD I2C afin d’informer l’utilisateur.
2- Validation et lancement du mécanisme
Une fois le montant sélectionné, l’utilisateur appuie sur le bouton B pour lancer le mécanisme de distribution.
3- Distribution des pièces
La carte Micro:bit envoie alors un signal au servomoteur qui actionne le mécanisme mécanique du distributeur.
Le servomoteur effectue une rotation contrôlée permettant de libérer une pièce à chaque mouvement.
Il répète ce mouvement autant de fois que nécessaire pour distribuer le nombre de pièces correspondant au montant sélectionné.
4- Affichage des informations
Pendant le processus, l’écran LCD I2C peut afficher le montant sélectionné,
5- Retour à l’état initial
Une fois toutes les pièces distribuées, le servomoteur revient à sa position initiale, et le système est prêt pour une nouvelle opération.
1- Carte Micro:bit

La carte Micro:bit est le microcontrôleur principal du système. Elle exécute le programme qui contrôle tout le fonctionnement du distributeur de pièces.
Rôle dans le projet :
- lire les actions de l’utilisateur via les boutons A et B
- déterminer le montant à retirer
- envoyer les commandes au servomoteur pour distribuer les pièces
- communiquer avec l’afficheur LCD I2C pour afficher les messages
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. Servomoteur

Le servomoteur est un moteur spécial capable de tourner à un angle précis.
Rôle dans le projet :
- actionner le mécanisme mécanique du distributeur
- permettre de libérer une pièce à chaque rotation contrôlée
- revenir à sa position initiale après chaque distribution
Le servomoteur est contrôlé par un signal PWM envoyé par la carte Micro:bit.
4. Afficheur LCD I2C

L’afficheur LCD I2C est utilisé pour afficher les informations du système.
5. Mécanisme mécanique du distributeur

Le mécanisme du distributeur de pièces est la partie mécanique qui permet de libérer une pièce à la fois.
Rôle dans le projet :
- stocker les pièces
- permettre leur distribution contrôlée une par une
6. Câbles de Connexion (Jumper Wires)

Les fils de connexion permettent de relier les différents composants entre eux.
7- Breadboard (Plaque d'essai) :

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


1- Connexion du servomoteur à la carte Micro:bit
| Servomoteur | Carte Micro:bit |
|---|---|
| Fil rouge | 5V de la carte GPIO |
| Fil marron | GND |
| Fil jaune | P1 |
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 servomoteur.


Ce programme Makecode permet de contrôler un distributeur automatique de pièces de monnaie à l’aide de la carte Micro:bit, d’un servomoteur et d’un afficheur LCD I2C. L’utilisateur peut sélectionner le montant à retirer avec le bouton A et lancer la distribution des pièces avec le bouton B.

Explication du programme :
1- Initialisation du système
Au début du programme, l’écran LCD I2C est initialisé avec l’adresse 39 (0x27).
Un message est ensuite affiché sur la première ligne de l’écran pour indiquer la fonction du système.
La première ligne affiche : "Montant a retirer"
La deuxième ligne affiche la valeur initiale du montant : 0
La variable montant est utilisée pour stocker la somme sélectionnée par l’utilisateur.
2- Sélection du montant avec le bouton A
Lorsque l’utilisateur appuie sur le bouton A, le programme augmente la variable montant de 1000 à chaque pression.
Ensuite, le nouveau montant est affiché sur la deuxième ligne de l’écran LCD afin que l’utilisateur puisse voir la valeur sélectionnée.
Par exemple :
1 appui → 1000
2 appuis → 2000
3 appuis → 3000
3- Lancement de la distribution avec le bouton B
Lorsque l’utilisateur appuie sur le bouton B, le programme démarre le mécanisme de distribution des pièces.
Une boucle for est utilisée pour répéter l’action du servomoteur un certain nombre de fois.
Le nombre de répétitions est calculé avec l’expression :
montant / 1000
Cela signifie que chaque mouvement du servomoteur correspond à la distribution d’une pièce.
4- Fonctionnement du servomoteur
À chaque cycle de la boucle :
Le servomoteur connecté à la broche P1 tourne jusqu’à 143 degrés pour actionner le mécanisme et libérer une pièce.
Le programme attend 500 millisecondes.
Le servomoteur revient à 0 degré, ce qui remet le mécanisme en position initiale.
Le programme attend encore 500 millisecondes avant le prochain cycle.
Ce mouvement permet de distribuer les pièces une par une.
5- Réinitialisation du système
Une fois que toutes les pièces ont été distribuées :
La variable montant est remise à 0.
L’écran LCD affiche de nouveau 0 pour indiquer que le système est prêt pour une nouvelle opération.
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
Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info