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)




Vidéo réalisée par Marc Paradis :
http://youtu.be/AxIjrWxH3J4







Le réglement international de la pétanque nous dit que :

"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 :


       afficheurs


Photo (Slimane Nait-Kait) -> La carte principale (les deux afficheurs 7 segments sont déportés) :

photo_carte

 


-> 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 :

 


 

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