Dernière mise à jour :
27/08/2009
Article non terminé, volontairement non
référencé dans les sommaires du
site
Présentation
J'avais promis ce montage à ma femme, avant que l'on se marie en
1990.
Le temps a passé, mais elle s'en est souvenu et me l'a un jour rappelé à ma mémoire. A
l'époque, l'idée était de construire un petit
flipper selon un schéma existant, paru dans une revue
d'électronique, et qui ne faisait appel qu'à des composants
courants. Je n'ai pas pû remettre la main sur le schéma
mais l'idée générale m'est restée en
mémoire, et je suis parti sur une construction similaire mais
toutefois plus élaborée, profitant des nouveaux circuits
de type microcontrôleur avec qui j'ai fait connaissance entre
temps. Plusieurs leds numérotées sont placées de
façon volontairement désordonnée sur un circuit
imprimé, celles dont les numéros se suivent ne sont pas
côte à côte. Autour de chacune de ces leds, un petit
arceau métallique qu'une bille métallique doit venir
toucher, quand la led s'allume. Sur le parcours, un certain nombre de
picots verticaux constituent des pièges qu'il faut
éviter. Le but du jeu est simple. A la mise sous tension, une
led s'allume. Le joueur doit faire bouger le "plateau" afin de mettre
en mouvement la bille, qui doit alors toucher l'arceau qui l'encercle,
et ce sans toucher les picots-piège. Dès que la bille
touche l'arceau de la led allumée, cette dernière
s'éteind et une autre s'allume. Le joueur doit alors
déplacer la bille vers la led qui vient de s'allumer, et
continuer ainsi jusqu'à ce que toutes les leds aient
été allumées à tour de rôle. Le fait
de toucher l'arceau d'une led éteinte ne pénalise pas le
joueur, il ne se passe rien. Un compteur à trois chiffres
s'incrémente de un point à chaque fois que la bille
touche l'arceau adéquat, et de dix points supplémentaires
si le joueur arrive à allumer toutes les leds sans toucher un
des picots-piège. Si un picot-piège est touché, 5
points sont décomptés. Le circuit (qui sera)
présenté ici est construit autour d'un PIC de type
16F628. J'aurais très bien pû reconstituer un
schéma à base de circuits logiques classiques, mais
j'avais vraiment envie d'ajouter un compteur numérique et un
générateur sonore avec des sons jouant différement
selon l'avancée du compteur. Au final, le circuit reste
très simple au vu des fonctions assurées.
Schéma
La moitié gauche du schéma représente la section "commande" avec son
composant programmable, et la moitié droite représente la section
"affichage" qui dévoile le placement physique des leds et des
afficheurs.
Le coeur du montage
Le cerveau du montage est encapsulé dans le PIC 16F628A, qui d'un
point de vue
logiciel comprend tout le nécessaire pour allumer les leds, compter et
décompter le score et reconnaitre les contacts électriques établis
grâce à la bille. 3 circuits intégrés additionnels de type CD4094
(registres à
décallage) ont été ajoutés pour la commande des afficheurs sept
segments. Ces circuits auraient sans doute pû être évités si j'avais
adopté la méthode du multiplexage pour l'ensemble du circuit, mais je
ne me sentais pas assez à l'aise avec tout ça et préférais obtenir un
circuit fonctionnel rapidement. 19 ans d'attente me semble suffisant
comme excuse.
Allumage des LED
L'allumage
des leds correspond à un séquençage piloté par le PIC. A la mise sous
tension, la led D1 s'allume et le logiciel du PIC attend que l'entrée
IN soit portée à un potentiel positif de 5 V, ce qui ne peut arriver
que si la bille établi un contact électrique entre le cuivre du circuit
imprimé sur lequel elle évolue et le cerceau qui encercle la led
allumée. Dès que le logiciel constate l'apparition de la tension
attendue sur l'entrée IN (port RA5), la led suivante (en l'occurence
D2) s'allume et le score est incrémenté de 1 point. Si le joueur
parvient à allumer huit leds consécutives sans toucher un des
picots-piège, le score est augmenté d'un bonus de 10 points.
Détection des pièges
Le
contact entre la
bille et un des picots-piège se traduit par la détection d'un front
montant sur l'entrée PP. Contrairement à la détection du contact entre
bille et cerceau des leds, un nettoyage des impulsions électriques
reçues est ici nécessaire pour ne pas pénaliser trop le comptage. Il
est donc fait appel à un système de temporisation qui fait en même
temps offie d'anti-rebonds, et qui inhibe la détection des pièges
pendant une seconde à compter du premier contact. Toujours afin de
laisser plus de chance aux malchanceux, le temps de contact entre bille
et picot-piège doit être d'au moins 400 ms pour être pris en compte (un
frolement rapide n'est pas pris en compte). Toucher un picot-piège de
façon franche a pour conséquence la chute du score de 5 points.
Affichage du score
La
transmission de la valeur du score stockée dans le PIC vers les
afficheurs, se fait sur trois fils appelés Data, Clock et Strobe,
monopolisant respectivement les ports RA0, RA1 et RA2 du PIC. Chaque
mise à jour du score affiché nécessite l'envoi de 24 données logiques
de façon sérielle (les unes après les autres), mais cela se fait sur un
temps très court, qui ne pose aucun problème pour le déroulement des
autres instructions du logiciel. La conversion du format série (en
sortie du PIC) au format parallèle (afficheurs) est assurée par les
registres à décallage CD4094.
Bips sonores
Afin de
donner un peu de vivant au système, j'ai prévu quelques bips sonores
dont la fréquence dépend des élements touchés :
- un bip bref
et aigu quand la bille touche le cerceau d'une led,
- un double bip long
et grave quand la bille touche un picot-piège.
- un triple bip montant à chaque bonus de 10 points.
Les
sons sont restitués par un buzzer piezzo-électrique raccordé
directement entre la borne RA4 du PIC et le +5 V d'alimentation. Cette
sortie se fait en effet en drain ouvert et le buzzer, qui présente une
impédance interne assez élevée, peut constituer une charge directe non
dangeureuse pour la sortie.
Logiciel du PIC
Fichiers de code source et fichier binaire compilé (*.hex) disponibles
dans l'archive suivante.
Flipper 001 - 16F628A
Circuit imprimé
Le circuit imprimé est réalisé en double face,
cela était nécessaire pour disposer d'une surface "propre"
et conductrice sur le plan supérieur. Pour un fonctionnement correct à
long terme, il est impératif d'étamer le circuit à
la vague (étamage à chaud). Un étamage chimique à froid ne convient pas
car
la très fine couche d'étain partira rapidement suite aux passages
répétés
de la bille.
-