Durée indicative : 3 min 30
Diapo 5 — Composants Proteus utilisés
Pour simuler ce montage, nous avons travaillé sous Proteus avec huit composants principaux. Au centre, le
PIC16F84A, notre microcontrôleur. Pour simuler la détection de main, nous avons utilisé un bouton. Le niveau
bas du réservoir est simulé par un interrupteur. La pompe de distribution est représentée par un moteur.
Pour l'affichage du compteur, nous avons un décodeur 7447, qui convertit le code BCD en signaux pour notre
afficheur 7 segments. Un buzzer donne un signal sonore à chaque dose délivrée. Et enfin, deux LED : une
verte qui indique que le système est prêt, une rouge qui s'allume quand le réservoir est vide.
Diapo 6 — Organigramme principal
Le fonctionnement du programme suit une logique en plusieurs étapes. Au démarrage, le PIC initialise ses
ports — RA0 et RA1 en entrées pour le bouton et l'interrupteur, RB0 à RB7 en sorties — puis il relit
immédiatement le compteur sauvegardé en EEPROM et actualise l'afficheur.
Ensuite, le programme teste en boucle : le réservoir est-il vide ? Si oui, la LED rouge s'allume et la pompe
reste bloquée, quoi qu'il arrive. Si non, il teste la présence d'une main. Dès qu'une main est détectée, le
compteur s'incrémente, la pompe se déclenche, le buzzer émet un signal, et une temporisation précise de
0,5 seconde définit la durée de la dose. Une fois la dose distribuée, le nouveau compteur est aussitôt réécrit
en EEPROM et l'afficheur mis à jour, avant une pause de 1,5 seconde qui fait office d'anti-rebond, pour éviter
qu'un même passage de main ne déclenche plusieurs doses d'affilée.
Trois sous-programmes soutiennent cette logique : Tempo, qui utilise une triple boucle de décomptage pour
obtenir des délais précis ; Actualiser_Afficheur, qui recompose le compteur pour l'envoyer sur les bonnes
broches du port B ; et Ecrire_EEPROM, qui suit la séquence imposée par le PIC — autoriser l'écriture,
déverrouiller avec les codes 0x55 et 0xAA, lancer l'écriture, puis attendre sa fin avant de continuer.
Partie 4 — Conclusion
Durée indicative : 1 min 30
Diapo 7 — Conclusion
Pour conclure, ce projet nous a confrontés à plusieurs contraintes réelles. D'abord, le nombre limité de
broches du PIC16F84A, qui nous a obligés à être très économes dans nos choix de câblage. Ensuite, la prise
en main du logiciel Proteus, qui demande de la rigueur dans le placement et la connexion des composants.
Et surtout, la complexité du montage : très souvent, notre programme assembleur ne correspondait pas
exactement à notre câblage, ce qui nous a demandé de nombreux allers-retours entre le code et le schéma
pour corriger les deux.
Un choix important à signaler : nous avons volontairement écarté l'usage d'un relais pour commander le
moteur, car cette solution s'est révélée trop complexe et peu fiable dans nos essais — elle ne fonctionnait
pas comme nous le voulions. Nous avons donc opté pour une commande directe du moteur, plus simple et
plus robuste pour notre démonstration.
Merci de votre attention, nous restons à votre disposition pour vos questions.