Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

JEU DE QUIZ

jusqu'à 7 joueurs


Chacun connait ce jeu, genre "question pour un champion" où les joueurs disposent d'un poussoir champignon pour prendre la main et tenter de répondre à une question.
La question sur la fabrication de ces jeux revient assez souvent sur les forums d'électronique, comme ici.
Voici une réponse à base de µC picaxe .

La demande portait sur la mise en concurence de sept joueurs et comme il faut un arbitre pour distribuer le jeu, le picaxe 20M2 était un bon candidat.

Le cahier des charges:

Il y a sept joueurs et un arbitre, tous disposent d'un (gros) poussoir et d'un (gros) voyant.
Le voyant vert de l'arbitre indique si les poussoirs des joueurs sont actifs ou bloqués. Ce voyant vert indique que le jeu est ouvert et poussoirs actifs, (sauf ceux des joueurs "hors jeu").
Les voyants joueurs, rouges, peuvent être éteints, clignotants, ou fixes
A la première ouverture du jeu, tous les voyants sont éteints.
Si il est encore en jeu (voyant rouge éteint) et le jeu ouvert, le joueur peut appuyer sur son poussoir pour prendre la main.
Lorsque le joueur le plus rapide a pris la main, son voyant rouge clignote, le voyant vert s'éteint, le jeu est bloqué.
Si le joueur donne une mauvaise réponse, l'arbitre appuie sur son poussoir pour relancer le jeu. Le voyant arbitre repasse vert et les poussoirs des joueurs sont de nouveau actifs, sauf pour ceux qui ont déjà donné une mauvaise réponse et dont le poussoir est inactif, avec un voyant rouge resté fixe.
A tout moment, l'arbitre peut resetter le jeu par un appui de 3 secondes sur son poussoir.
Tout changement d'état du voyant vert (relance ou blocage du jeu) provoque l'émission d'un buz (réglable entre 100ms et 1,5 s).

Le schéma:
Organisation:

Quelques explications:
La pièce centrale est le µC picaxe 20M2.
Les huit poussoirs sont connectés aux broches C, les résistances de pullup internes sont doublées par un réseau de résistances de 2k2 pour améliorer l'immunité aux parasites.
Les huits broches B sont connectées aux huit voyants de contrôle. Ces voyants sont constitués de morceaux de rubans leds. Les courants sont amplifiés par les amplis d'un uln2803 (environ 500mA par canal), avec 20mA par tronçon de ruban, on peut faire de très beaux voyants et illuminer aussi les poussoirs (si ils sont transparents bien sûr).
Le poussoir et le voyant de l'arbitre sont connectés sur C.O et B.O.
Les changements d'états de ce voyant arbitre sont différentiés par un couplage RC et déclenchent un monostable de durée réglable (100mS à 1,5 s env.).
Petit détail sur ce monostable. Par construction interne, le monostable se declenche lorsque l'entrée trigger (2) est inférieurs à Vcc/3. Au repos, le potentiel de cette entré est fixé à Vcc/2 par un pont de deux résistances de 10k.
Il suffit donc d'un front descendant prélevé sur l'entrée ou la sortie du canal arbitre de l'uln2803 pour provoquer un pic négatif (> Vcc/6) et faire passer l'entrée trigger au dessous du seuil de déclenchement.
Le typon permet une sortie buzzer sur mosfet ou transistor BC327. Buzzer du commerce ou enceinte active proposée plus loin.

Brève vidéo de démo:

Le typon:


 
Ce PCB, de dimensions 133 x 82 mm tient dans un boitier WISHER en faisant les découpes nécessaires.

Le code:
#picaxe 20M2
#no_data
; MM 19 11 2018 ; jeu QUIZ ; 7 joueurs possibles
; le jeu commence par un appui sur C.0. Le voyant vert s'allume indiquant le jeu ouvert
; un joueur appuie sur son poussoir, le voyant vert s'éteint, le jeu est gelé, le voyant du joueur clignote
; si la réponse est mauvaise, un appui bref <3 sur le poussoir arbitre relance le jeu.
; reset total par un appui long >3s avec voyant vert éteint ou bref avec voyant vert allumé
; si le jeu est ouvert mais qu'aucune réponse n'est proposée, on resset par un appui sur le poussoir C.0
dirsC=0                        ;broches C en entrées
dirsB=%11111111                ;broches B en sorties
pullup %1111111100000000    ;résistances de pullup sur les entrées C
pinsB= %00000000            ;sorties B au niveau bas (0V)
setfreq M32                    ;pour la réactivité
symbol tmax=b7                ;temps de réponse max (option bof...)
tmax=4                          ;en demi secondes, option relance automatique (bof bof...)
    do        
        do loop while pinsC <>     %11111111    ;attente aucun appui sur un poussoir (relié à 0V)        
        do
            if b6 <> 0 then
                toggle b6        ;clignotant n° dernier poussoir appuyé
                pause 1600   ; soit 200ms, on est à 32MHz
            endif                
        loop while pinC.0=1 ; attente ouverture du jeu par appui sur C.0.  
        high b6    
        time=0
        do    
            ;pause 1    ; pour fonctionnement "time" sur le simu uniquement
            if time>4 then reset                ;attente 2,5s, à 32 MHz, on compte des 1/2 secondes
            endif
        loop while pinC.0=0                    ;attente relâchement C.0
        high B.0                               ;allumage led "jeu ouvert"
        do                
            do loop while pinsC =     %11111111     ;attente appui sur un poussoir            
            b2=not pinsC & %11111110       ;position du poussoir appuyé, sans C.0
            b4=b2 | b3                                    ;ajout aux poussoirs mémorisés
            if pinC.0=0 then                            ;reset si C.O appuyé
                reset
            endif        
        loop while b3=b4                                ;il faut un appui non mémorisé
        b5=b2
        b6=0
        do             ;calcul du n° de broche à allumer
            inc b6    ; on cherche le "1"
            b5=b5/2
        loop while b5<>0
        dec b6                        ;n°poussoir appuyé
        outpinsB =outpinsB|b2    ;la led correspondante s'allume,    
        low B.0                                ;le jeu est fermé, led arbitre éteinte
        b3=outpinsB                      ;mémorisation des leds allumées        
    loop

Fin de code

Le buzzer
Le changement d'état du "voyant arbitre", indiquant le blocage ou la reprise du jeu est accompagné d'un "buzz".
On peut sans doute trouver dans le commerce une solution toute faite, le typon de la console centrale est prévu pour une alimentation directe en 12V , par un BC337 ou un mosfet N. Une résistance d'une centaine d'ohms limite le courant en cas de court circuit accidentel.
Voici une alternative, d'une puissance de 1 ou 2 W, sur un HP de 8 ohm d'une dizaine de cm de diamètre, fixé dans une enceinte active, comprenant un oscillateur et un ampli.
Dans ce cas, la liaison comporte 3 fils: 0V, 12V et une commande.

Le schéma du buzzer:
Au repos, le ne555 est bloqué par le niveau 0v sur le reset, imposé par le BC337. Un signal de commande 0v le débloque.
Un réglage de tonalité, et un réglage de volume. Un filtre RC transforme le signal carré du µC en dent de scie.
Avec un volume faible, le LM386 amplifie cette dent de scie, la saturation transforme ensuite cette dent de scie en signal carré et augmente l'impression de puissance. On est loin de la haute fidélité.

Vidéo du buzzer:
Dans cette vidéo, le HP est connecté directement sur la sortie du NE555, sans ampli, avec le LM386, un HP d'au moins 10cm dans une petite enceinte donnera plus de puissance.
 

Le typon:
Mesure 58mm x 37. Le potentiomètre de volume est standard, avec un axe de 6 mm. Il sert de fixation au PCB. Le potentiomètre de tonalité peut être déporté, ou pas.
 

Les typons de la console centrale et du buzzer sont en téléchargement ICI
 


 



Créer un site
Créer un site