Projet à microcontrôleur PIC
16F628A
Chronomètre officiel pour jeu de pétanque
Chronomètre 60 secondes (jeu de
Rummikub, Triominos...)
(d'après une idée originale de Slimane Nait-Kait)
"ARTICLE 21 - Temps permis pour jouer
Dès que le but est lancé, tout joueur dispose d'une durée maximum d'une minute pour lancer sa boule."
Il s'agit donc d'un chronomètre pour jeu de
pétanque, qui indique le temps de jeu restant (en secondes), sur deux
afficheurs 7 segments :
Photo (Slimane Nait-Kait) -> La carte principale (les deux afficheurs 7 segments sont déportés) :
-> A la mise sous tension, les afficheurs indiquent 60.
-> Il faut appuyer sur le bouton poussoir START
pour lancer le compte à rebours.
La durée restante est affichée et actualisée toutes les secondes.
-> Si on appuie sur le bouton poussoir PAUSE, on met en
... pause.
-> Si on appuie sur le bouton poussoir
REPRISE, on reprend le décompte.
-> Si on appuie sur le bouton poussoir RESET, le circuit retourne dans l'état initial (comme après la mise sous tension).
A 15 secondes de la fin, 3 bips sont émis par le
buzzer.
A la fin du compte à rebours (affichage 00), le buzzer sonne pendant 3 secondes, puis le circuit retourne dans l'état initial.
Le microcontrôleur PIC 16F628A utilise une seule source d'interruption (module TMR0 en mode timer).
Cette interruption fournit une base de temps
nominale de 1/257 seconde.
La routine d'interruption assume la gestion de l'affichage, des trois boutons poussoirs et la commande du buzzer.
L'affichage se fait avec 2 afficheurs (7 segments à LED, anodes communes), à commande multiplexée.
Le multiplexage permet de commander les 2 digits avec seulement 7 + 2 = 9 fils.
Le décodeur BCD / 7 segments (74LS47) libère 3 broches au niveau du microcontrôleur.
En définitive, 10 entrées/sorties du PIC 16F628A sont utilisées :
Version A (avec afficheurs déportés)
Version B (avec afficheurs sur la même carte)
Le code source a été écrit en langage C avec le compilateur mikroC de la société mikroElektronika.
Une version de démonstration est téléchargeable gratuitement (taille du code objet .hex limitée à 2 ko).
(C) Fabrice Sincère ; Révision 1.2.6