Electronique > Réalisations > Boitabak

Dernière mise à jour : 25/01/2007

Présentation

La boitabak est un montage à associer au jeu "Le Petit Bac", qui consiste à trouver un nom commençant par une lettre de l'alphabet, dans diverses rubriques.

boitabak_001a

A l'origine, le jeu se joue de la façon suivante. Chaque joueur (pas de limitation du nombre) est doté d'une feuille blanche qui est séparée en colonnes. Chaque colonne porte un titre de rubrique, par exemple Métier, Chanteur, Ville, Couleur. On choisi une lettre de l'alphabet au hasard, et on doit trouver, en un temps déterminé, un nom de Métier, un nom de Chanteur, un nom de Ville ou un nom de Couleur. Au bout du temps imparti, chacun liste les mots qu'il a trouvé et compte un point par mot trouvé. Si deux joueurs ont trouvé le même mot pour la même rubrique, aucun point n'est compté pour ce mot. Il est donc conseillé de choisir des mots originaux pour éviter de trouver trop de doublons. Au bout de plusieurs parties, celui qui a accumulé le plus grand nombre de points a gagné. Cette réalisation électronique permet
- d'afficher une lettre au hasard, de A à Z, après appui sur un bouton poussoir.
- de définir les rubriques pour lesquelles un mot commençant par la lettre affichée, doit être trouvé
- de définir une durée de partie variable, qui correspond au nombre de rubriques "activées".

Schéma

Le schéma complet est décomposé en trois parties :
- circuit d'affichage de la lettre
- circuit d'affichage des rubriques
- minuterie.

Boitabak - Syno


Circuit d'affichage des rubriques

Boitabak - Rubriques

Il est constitué par une simple rangée de 12 LEDs, et il vous incombera de choisir le nom des rubriques vous-même, selon vos propres préférences. Le premier NE555 (IC1) est monté en oscillateur, selon une configuration que les habitués de la bidouille n'auront pas manqué de reconnaître (à utiliser ce circuit à toutes les sauces, on finit toujours par le repérer, quand bien même son nom n'est pas inscrit sur le schéma!). Avec les valeurs données aux composants qui l'entourent, la fréquence du signal que l'on obtient sur sa broche de sortie (borne 3) est assez élevée : environ 100 KHz. C'est ce signal qui sera appliqué à l'entrée du compteur CD4040 (IC2), à condition toutefois que la borne de RAZ du NE555 (borne 4) soit portée au potentiel positif de l'alimentation. Ce sera le cas quand le poussoir de RAZ (P1, complètement à gauche du schéma) sera enfoncé. Dans ce cas, le CD4040 présentera sur ses sorties un mot binaire de 12 bits, dont la valeur évoluera de 00 à 4095, à la fréquence d'horloge du NE555. Plus simplement, chacune des sorties du 4040 passera alternativement de 0 à 5 volts, très rapidement. Dès que P1 est relâché, la résistance de rappel R33 de 10K porte la borne 4 du NE555 à un niveau de tension pratiquement égal à 0 volt, le compteur ne reçoit plus rien et reste donc bloqué. Vous l'avez deviné, chaque LED (LED1 à LED12) sera connectée à l'une de ces sorties (via une résistance de limitation de courant de 510*) et s'allumera ou s'éteindra au rythme des changements d'état de ces dernières. A la vitesse à laquelle ces changements se font, il est impossible de prévoir quelles seront les LEDs qui resteront allumées au moment où P1 sera relâché. On comprend mieux maintenant le choix d'une fréquence d'horloge aussi élevée: il ne fallait pas que l'on puisse suivre l'état logique visualisé par la dernière LED (celle qui clignote le plus lentement). Ainsi, la "triche" est rendue impossible. Nota : Les résistances R3, R5, R7,...,R25 sont là pour limiter le courant dans chacune des LEDs, tandis que les résistances R4, R6, R8,...,R26 sont connectées à un point unique qui est l'entrée inverseuse (borne 2) de U3A. Leur utilité sera mise en évidence d'ici quelques lignes.

Minuterie à durée variable

Boitabak - Minuterie

Comme il l'a été dit au début, le nombre de rubriques variant à chaque relance de l'appareil, il serait navrant de disposer toujours du même temps pour jouer. Pour cette raison, quelques 3 petits AOP (Amplis OPérationnels) nous seront d'un grand secours. Un joyeux LM324 (IC3) nous en propose quatre, on en prend trois et on laisse le dernier se reposer. Ne quittons pas le schéma de la fig.2, et notons tout de suite que le tiers droit du schéma est réservé à la section minuterie proprement dite. Les résistances de 22K* connectées sur les sorties du CD4040 (IC2) se rejoignent toutes en un point (vous vous souvenez, R4, R6, etc.), qui est donc l'entrée inverseuse de U3A, l'un des trois AOP, monté en sommateur inverseur. Toutes ces résistances étant identiques, nous obtiendrons en sortie de cet AOP une tension directement proportionnelle au nombre de sorties (du compteur IC2) qui seront à "1". U3B inverse cette tension de sorte qu'elle soit croissante quand le nombre de sorties à "1" augmente. Enfin, cette dernière est comparée à la tension présente aux bornes du condensateur C3, grâce à l'AOP U3D. Commençons par le commencement. Le bouton de RAZ vient d'être enfoncé, aussi le condensateur C3 vient-il d'être déchargé au travers du transistor Q1. La tension sur l'entrée non inverseuse de U3D est donc proche de zéro volt. Supposons maintenant que 5 des 12 sorties de IC2 soient à "1". Cinq LEDs s'allument (n'importe lesquelles). On retrouve sur l'entrée inverseuse de U3D une tension positive, disons de l'ordre de 1,5 volt pour fixer les idées. Dans ces conditions, la sortie de U3D reste à un niveau bas (puisque e- > e+). Le condensateur ne va pas rester là, à ne rien faire. Il va se charger grâce à la résistance R34 connectée au "+" de l'alimentation. Puis, une fois que la tension présente à ses bornes aura atteint, puis dépassé la tension présente sur e-, la sortie de U3D basculera vers un niveau haut (e+ > e-). Le gong de fin retentit. Enfin ici, il s'agira juste d'un petit buzzer. La présence du condensateur C2 de 10uF dans le circuit de base du darlington (dénommé 1/8 ULN2803) permet d'éviter un signal sonore qui n'en finit pas. Dans le silence glacial qui emplit la pièce où les joueurs n'en finissent pas de chercher, il s'agit d'éviter la crise cardiaque... Vous voyez, le fonctionnement en est vraiment très simple. Nota 2: les deux résistances R35 et R36 divisent le 5 volts par deux, le "1/2 VCC" obtenu étant nécessaire au bon fonctionnement des AOP quand ils sont alimentés par une source de tension unique (création d'une masse virtuelle évitant l'emploi de tensions symétriques).

Circuit d'affichage de la lettre

Boitabak - Affichage lettre

Le principe reste pratiquement le même que pour l'affichage des rubriques. Un NE555 (IC9) fournit un signal rectangulaire à un autre compteur CD4040 (IC5), là aussi uniquement quand le poussoir P1 est enfoncé ("S" au +VCC, point commun entre les Fig.2 et Fig.3). Mais là, toutes les sorties du compteur ne seront pas exploitées. En effet, chaque mot binaire adressant la mémoire EPROM (IC7) représente une lettre (nous verrons plus loin comment l'affichage de cette lettre est possible) et il n'existe pas suffisamment de lettres dans l'alphabet français : il en faudrait plus de 4000.... Choisissons donc de n'en afficher que 26, et pas plus de 5 bits ne seront alors nécessaires (avec 4 bits, on ne disposerait que de 16 possibilités).
Au-delà du 26ème mot, il y a obligation de remettre le compteur à zéro, si l'on ne veut pas que des lettres sortent plus souvent que d'autres (du 27ème au 32ème mot, il faudrait bien mettre quelque chose). Une des deux portes AND à quatre entrées empruntées à un CD4082 (U10A) remplira à merveille cette tâche, le 27ème nombre (26) étant représenté en binaire par "11010". Quand ses quatre entrées sont à "1", sa sortie remet le compteur à zéro via la diode D1. L'autre porte de ce circuit (U10B) restant inutilisée, on reliera toutes ses entrées à la masse. Essayons maintenant de voir quelle solution il est possible d'adopter pour visualiser des lettres sur un afficheur.
- Une première solution consisterait à utiliser un de ces afficheurs à une ou deux lignes de 16 caractères, à cristaux liquides, que l'on rencontre de plus en plus souvent. Ils tiennent peu de place il est vrai, et permettent un affichage très clair (pas en terme de luminosité mais en terme de définition des caractères). Ce choix nécessiterait malheureusement l'emploi d'un microprocesseur pour bénéficier de toute la souplesse possible : ça parait un peu gros tout de même pour un montage de ce genre.
- Un afficheur alphanumérique à LEDs : ça se présente un peu comme un afficheur numérique, mais ça a plus de segments : pas très courant, pas très bon marché et de l'avis de l'auteur, les lettres que l'on peut composer ne sont pas toutes très jolies.
- Il reste l'afficheur à matrice (LEDs là aussi), constitué de 5 colonnes de 7 points. Avec ce type d'afficheur, on peut aisément visualiser n'importe quel symbole (lettres, ponctuation, chiffres, etc.), à condition bien sûr d'avoir ce qu'il faut pour le commander. Cet afficheur existe tout fait, "à la pièce". Malheureusement, il reste mal distribué et coûte lui aussi assez cher. Pourtant, dans le cas qui nous concerne, il serait le représentant idéal. Alors nous allons le fabriquer nous-mêmes... Rassurez-vous! Avec quelques 35 LEDs et un peu de patience, vous aurez un afficheur d'une taille très honorable, très visible et pour un prix de revient très bas (on trouve des lots de 100 LEDs pour 5 euros, il n'y a pas à hésiter).

Matricage des LEDs
Pour éviter un câblage apocalyptique entre les LEDs et le circuit de commande, on procédera à leur matriçage. En se reportant à la Fig.4, on constate que le principe de la matrice est vraiment très simple : on relie toutes les anodes des LEDs en rangées (rangées 1 à 7) et toutes les cathodes en colonnes (colonnes 1 à 5). Notons au passage qu'on pouvait très bien faire l'inverse, si les polarités des signaux de commande des rangées et des colonnes avaient été inversées. On ramène ainsi le nombre de connexions, de 70 à 12. Les rangées seront commandées par la 2764 (IC7) tandis que les colonnes seront balayées (c'est à dire connectées à la masse à tour de rôle) grâce aux transistors montés en darlington et intégrés dans le ULN2803 (IC4). Pour bien comprendre le fonctionnement du matriçage, prenons un exemple et essayons de voire comment on peut afficher la lettre "M". Remarquons tout d'abords que l'état des sorties de l'EPROM 2764 dépendra de l'état logique de ses entrées A0 à A7 ("A" pour "Adresse"), les autres entrées étant mises à la masse. Les entrées A0 à A4 sélectionneront la lettre proprement dite, tandis que les 3 autres (A5 à A7) serviront à sélectionner la colonne de la matrice. Pour ce faire, les sorties du CD4060 (IC6) seront simultanément appliquées sur les entrées A5 à A7 de l'EPROM et sur les entrés A0 à A2 (bornes 10,13,12) du démultiplexeur CD4028 (IC8). Ainsi, pour chaque colonne de la matrice à LEDs, la 2764 proposera sur ses sorties les données nécessaires à la composition de la lettre. On peut résumer par un petit tableau les sorties de l'EPROM qui seront à "1" en fonction de l'état des entrées A5 à A7, sachant que D7 alimentera la LED la plus haute de la colonne (la première sortie - D0 - ne sera pas connectée).

Tableau pour la lettre "M" (les entrées A0 à A4 ne changent pas et ne sont pas représentées). A noter que les colonnes 6, 7 et 8 ne sont pas utilisées dans ce montage.

A5
A6
A7
Col.
D0
D1
D2
D3
D4
D5
D6
D7
0
0
0
1
0
1
1
1
1
1
1
1
1
0
0
2
0
0
0
0
0
0
1
0
0
1
0
3
0
0
0
0
1
1
0
0
1
1
0
4
0
0
0
0
0
0
1
0
0
0
1
5
0
1
1
1
1
1
1
1
1
0
1
6
0
0
0
0
0
0
0
0
0
1
1
7
0
0
0
0
0
0
0
0
1
1
1
8
0
0
0
0
0
0
0
0

Regardez dans le tableau : les sorties actives (c'est à dire à "1") sont dans les cases vertes. Vous ne remarquez rien ? Alors faîtes donc pivoter le tableau de 90° dans le sens contraire des aiguilles d'une montre...

Contenu de la PROM

Vous trouverez le contenu complet de l'EPROM 2764 dans le tableau suivant. Les adresses (1ère colonne) sont données en base 10 (décimal) et en base 16 (Hexadécimal), séparées par un "/". Les données (colonnes X) quant à elles sont écrites en base 2 (binaire).

Adresses
X
X + 1 X + 2
X + 3
X + 4
X + 5
X + 6
X + 7
X








0000 / 00 01111110
11111110
01111100 11111110
11111110
11111110 01111100 11111110
0008 / 08 00000000
00000100 11111110 11111110 11111110 11111110 01111100 11111110
0016 / 10 01111100 11111110 01100010 10000000 11111100 11111000 11111100 11000110
0024 / 18 11100000 10000110 00000000 00000000 00000000 00000000 00000000 00000000
0032 / 20 10001000 10010010 10000010 10000010 10010010 10010000 10000010 00010000
0040 / 28 10000010 00000010 00010000 00000010 01000000 00100000 10000010 10010000
0048 / 30 10000010 10010000 10010010 10000000 00000010 00000100 00000010 00101000
0056 / 38 00010000 10001010 00000000 00000000 00000000 00000000 00000000 00000000
0064 / 40 10001000 10010010 10000010 10000010 10010010 10010000 10010010 00010000
0072 / 48
11111110 10000010 00101000 00000010 00110000 00010000 10000010 10010000
0080 / 50 10001010 10011000 10010010 11111110 00000010 00000010 00011100 00010000
0088 / 58 00001110 10010010 00000000 00000000 00000000 00000000 00000000 00000000
0096 / 60 10001000 10010010 10000010 01000100 10010010 10010000 10010010 00010000
0104 / 68 10000010 11111100 01000100 00000010 01000000 00001000 10000010 10010000
0112 / 70 10000100 10010100 10010010 10000000 00000010 00000100 00000010 00101000
0120 / 78 00010000 10100010 00000000 00000000 00000000 00000000 00000000 00000000
0128 / 80 01111110 01101100 01000100 00111000 10000010 10000000 01011110 11111110
0136 / 88 00000000 10000000 10000010 00000010 11111110 11111110 01111100 01100000
0144 / 90 01111010 01100010 10001100 10000000 11111100 11111000 11111100
11000110
0152 / 98 11100000 11000010 00000000 00000000 00000000 00000000 00000000 00000000

Réalisation

Rien de particulier, si ce n'est peut-être l'utilisation d'un petit coffret en osier ayant contenu une petite boite de foie gras, en guise d'habillage.

boitabak_001b L'ensemble des composants, y compris la partie affichage, tient sur un unique circuit imprimé.
boitabak_001c Le transformateur d'alimentation, le circuit de filtrage et de régulation d'alimentation, ainsi que le buzzer indiquant la fin de partie, sont placés dans la boite, en-dessous du circuit principal.
boitabak_001d Matrice de 5 x 7 leds pour l'affichage des lettres de l'alphabet.