Electronique > Réalisations > Arbitre électronique 002

Dernière mise à jour : 29/08/2010

Présentation

Un second arbitre électronique, capable de "surveiller" 7 joueurs et basé sur l'emploi d'un microcontrôleur de type PIC 18F2420.

arbitre_002_pcb_3d_a

Tout comme pour l'Arbitre 001 (version plus simple pour 4 joueurs maximum), ce montage permet de départager le joueur le plus rapide parmi tous ceux qui appuient (presque) en même temps sur des boutons poussoir. Pour ceux qui ont une allergie reconnue aux composants programmables, le remède se trouve en page Arbitre 003.

Schéma

Un peu plus de composants que pour l'arbitre 001, difficile de faire autrement. Mais tout de même, si vous enlevez les leds et les boutons poussoirs, il ne reste pas grand chose...

arbitre_002

Principe général de fonctionnement
Le circuit comporte 7 boutons poussoir, un pour chaque joueur. Le nombre de joueurs peut être inférieur à 7, mais ne peut descendre en-dessous de 1. Sur un top départ qui dépend de l'application envisagée, les joueurs doivent le plus rapidement possible appuyer sur leur bouton poussoir (vous pouvez appeler ça un champignon, ça ne me dérange pas). Dès l'instant où un bouton a été enfoncé, le numéro du joueur qui a appuyé en premier s'affiche, et les boutons poussoirs des autres joueurs ne sont plus pris en compte. Au bout de quelques secondes, et à la condition que le mode Reset automatique est activé, le système revient en mode d'attente et est prêt pour un nouveau tour. Si le mode Reset automatique n'est pas activé, il est nécessaire de faire un reset manuel en appuyant sur un bouton poussoir de remise à zéro.

Mais le schéma comporte 8 boutons et non 7 !
C'est vrai. A l'origine j'espérais pouvoir rendre ce montage compatible 8 joueurs. En fait cela serait possible mais avec une perte de réactivité de l'ensemble. Les sept entrées utilisées sont en effet capable de déclancher une interruption et la huitième n'en est pas capable. Ce montage reste donc limité à un nombre de 7 joueurs maximum. En tout cas tant que je ne change pas d'avis !

Mode de Reset
La remise à zéro (reset) peut s'effectuer de façon automatique et/ou manuelle, selon la position de l'inverseur SW10
- SW10 vers masse (RA3 à l'état logique bas) : remise à zéro manuelle. Dans ce mode il faut appuyer sur le bouton poussoir SW9 pour revenir en mode d'attente d'appui sur les boutons poussoirs des joueurs.
- SW10 vers +5 V (RA3 à l'état logique haut) : remise à zéro automatique. Dans ce mode, le reset se fait automatiquement, au bout d'un temps ajustable par l'utilisateur.

Delai du reset automatique
Le délai qui s'écoule entre le moment où un joueur a appuyé sur son bouton et le reset automatique dépend de la position du curseur du potentiomètre RV1. Le délai est minimal (environ 100 ms) quand le curseur est côté masse et est maximal (environ 10 s) quand le curseur est côté +5 V. Le principe de fonctionnement de ce délai ajustable est fort simple : au moment où le reset automatique entre en action, le logiciel du PIC lit la tension présente sur la broche RA0/AN0 du PIC, configurée pour l'occasion en entrée analogique. La valeur lue est comprise entre 0 (pour 0 V) et 1023 (pour +5 V), et cette valeur est multipliée par 10 pour donner le temps de retard directement exploitable en ms. Par exemple, une tension de 2,5 V (curseur RV1 au centre) correspond à une valeur de 511, qui une fois multipliée par 10 conduit à un délai de 5 secondes environ. Dans tous les cas, un délai de 100 ms est ajouté à la valeur calculée, ce qui permet tout de même de voir le résultat (nombre du joueur gagnant) même quand le potentiomètre RV1 est en position minimale. Si le délai maximal de 10 s vous convient, vous pouvez câbler l'entrée de mesure RA0/AN0 directement sur le +5 V et vous passer du potentiomètre RV1. Et si tout ça ne vous convient pas du tout, il ne vous reste qu'à modifier le code source fournit et à recompiler le tout.

Mode d'affichage
L'affichage du joueur gagnant peut se faire de deux façons et dépend de la position de l'inverseur SW11.
- SW11 vers masse (RA2 à l'état logique bas) : affichage d'une led parmi les 7 (ou 8)
- SW11 vers +5 V (RA2 à l'état logique  haut) : affichage en clair du numéro sur un afficheur standard 7 segments.

Attention, il n'est pas possible de câbler en même temps les leds et l'afficheur sept segments ! Il faut choisir l'un ou l'autre de ces deux modes d'affichage.

Affichage géant
A la place d'un afficheur sept segments classique, vous pouvez utiliser un afficheur géant, tel que présenté à la page Afficheur leds sept segments 002.

afficheur_leds_7seg_002_pcb_3d_a

Pour montrer au public (frères, soeurs, cousins), ce sera tout de même plus commode...

Codes source et fichiers compilés

Tous les fichiers utiles sont contenus dans l'archive zip dont le lien suit. Code en Pascal, écrit et compilé avec la version V3.20 Pro de MikroPascal. 
Arbitre 002 - 18F2420 - Pour 7 joueurs (05/04/2010)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé. Vue 3D uniquement faite pour donner un apperçu des composants utilisés.