Sélectionnez votre langue

Présentation

Il s'agit du même jeu d'adresse que mon chemin électrique 001, mais avec quelques petites évolutions, le tout basé sur un PIC de type 16F628A.

chemin_electrique_002_pcb_3d_a

Je sais, utiliser un PIC pour des fonctions aussi basiques peut paraître du luxe, surtout pour ceux qui ne veulent absolument pas entendre parler des composants programmables (comme moi il n'y a pas très longtemps). Je sais toujours faire un compteur avec un circuit logique classique, je sais faire un générateur sonore avec des portes logiques, et je sais faire un système anti-rebond. Bien, mais si tout ceci peut tenir dans un seul boitier, pourquoi s'en priver ? J'ai donc décidé de faire comme ça. Les caractéristiques principales sont donc les suivantes :
- affichage du nombre de fois où l'anneau touche le fil électrique, avec bouton de RAZ.
- possibilité de définir la "sensibilité" du toucher (durée anti-rebond ajustable)
- générateur sonore intégré

Le schéma

Sans rire, je trouve ce schéma plus simple que celui adopté pour la deuxième version de mon modèle 001.

chemin_electrique_002

Le chemin électrique

De ce côté, aucun changement, on a toujours affaire au fil électrique autour duquel on met la boucle qui ne doit rien toucher.

Chemein elec 001 - Anneau

Réglage du temps de réaction

Comme il restait des ports de libre sur le PIC, je me suis dit qu'il était interressant d'en utiliser 2 ou 3 pour définir la sensibilité de réaction de l'appareil. Traduction : temps minimum de contact entre les deux conducteurs pour prise en compte. Je pense en fait que deux bits (deux entrées du PIC) sont suffisants, puisque cela permet quatre combinaisons possibles. J'ai ainsi retenu les quatre durées de 1 ms, 2 ms, 5 ms et 10 ms, configurables de la sorte :
- pour 1 ms : ports RA5 et RA6 à la masse
- pour 2 ms : port RA5 au +5 V et port RA6 à la masse
- pour 5 ms : port RA5 à la masse et port RA6 au +5 V
- pour 10 ms : ports RA5 et RA6 au +5 V

Production des bips sonores

Trois bips sonores brefs et rapprochés sont émis à chaque fois que la boucle tenue par le joueur touche le chemin électrique. Ces bips sont générés de façon logicielle, et sont obtenu grâce à une succession très rapide de changements d'état logique de la sortie RA0, sur laquelle est raccordé un petit transducteur piezzo. Ce type de transducteur possède une fréquence de résonnance pour laquelle le volume est maximal, cette fréquence (ou plage de fréquence) est normalement spécifiée par le constructeur. Dans notre cas, il serait tout à fait possible de produire un signal de fréquence plus faible (ce qui serait utile pour soulager le programme du PIC si le besoin s'en faisait sentir), en tenant compte du fait que l'on produit un signal rectangulaire qui est par nature riche en harmoniques. Par exemple, si le transducteur présente une pointe de sensibilité à 3,6 KHz, on peut très bien lui transmettre un signal de fréquence égale à 1,2 KHz, et profiter du fait que l'amplitude de la troisième harmonique est bien suffisante pour l'activer correctement. Le transducteur peut être raccordé entre la sortie RA0 et la masse, ou entre la sortie RA0 et le +5 V, cela revient au même puisque le but est de lui transmettre un signal périodique. Le seul point à respecter est que la différence de potentiel aux bornes du transducteur soit nulle au repos, car ce type d'objet n'aime pas trop la présence d'une tension continue permanente. Si le transducteur est relié à la masse (c'est le choix fait ici), il faut que la sortie RA0 soit à l'état logique bas quand on ne veut pas de son. C'est ce qui est assuré dans le logiciel du PIC.
Plus de puissance ?
Au lieu de relier le transducteur entre RA0 et la masse, il faut le relier entre RA0 et RA1. Ces deux sorties produisent en effet des signaux périodiques de polarité opposée au moment de la production des sons, ce qui équivaut à fournir au transducteur un signal dont l'amplitude crête à crête est de 10 V et non plus de 5 V. Il sonne donc plus fort. Au repos, les sorties RA0 et RA1 sont toutes deux forcées à l'état logique bas, pour éviter la présence d'une tension continue sur le transducteur, comme discuté précédement.

Affichage numérique

Pas besoin de décodeur externe tel le CD4543, puisque l'on peut faire ça de façon logicielle, et même très simplement, sans aucun multiplexage. Nous n'utilisons en effet qu'un seul afficheur de type cathode commune (CC, voir plus loin pour des exemples de modèles utilisables) et le circuit programmable dispose d'un nombre de lignes de commande suffisant. La valeur du compteur interne est donc "masquée" en un nombre directement affichable, le masquage consistant simplement à spécifier quelles sorties du port B (RB0 à RB6) doivent être activées pour afficher tel ou tel chiffre. Par exemple, pour afficher le chiffre 1, il faut allumer les segments B et C de l'afficheur et donc activer les sorties RB1 et RB2.

Afficheur utilisé

J'ai choisi un D350PK (équivalent TDSR5160) qui possède deux rangées de 5 broches (une en haut et une en bas) mais n'importe quel afficheur classique 7 segments de type Cathode Commune convient parfaitement. Les différences entre différents afficheurs concernent surtout la taille des segments (par exemple 10 mm ou 13 mm) et leur luminosité (par exemple 0,5 mcd à 10 mA ou 0,7 mcd à 10 mA).

d350_brochages_001a
d350_brochages_001b

Les broches notées K1 et K2 sur l'afficheur D350PK correspondent aux cathodes mises en commun dans l'afficheur, les deux broches sont reliées entre elles en interne. Bien sûr, si le modèle d'afficheur que vous choisissez n'a pas le même brochage que celui choisi ici, le dessin du circuit imprimé proposé ne conviendra plus, et il vous faudra alors soit refaire un nouveau typon, soit câbler tout ça en l'air.

Remarque : sur le schéma, l'afficheur est un modèle "générique", qui présente la particularité de pouvoir être simulé comme les autres composants. C'est pourquoi aucun numéro de broche ne lui est attribué, et la correspondance avec l'afficheur "réel" choisi ici se fait via les fils "a" à "g". Par exemple, la sortie RB0 du PIC pilote le segment "a" de l'afficheur, et le segment "a" de l'afficheur D350PK se trouve relié à la patte N°7. C'est pourquoi, sur le circuit imprimé proposé plus loin, la patte 6 du PIC (RB0) est reliée à la patte 7 de l'afficheur - au travers de la résistance R1. Avec un autre type d'afficheur, ce même segment "a" pourrait fort bien se trouver câblé sur un autre numéro de broche, à vous de vérifier le cas échéant.

Le logiciel

Fichier binaire compilé prêt à flasher dans le PIC (format *.hex) et code source inclus dans l'archive suivante :
Chemin électrique 002 - PIC 16F628A
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Le circuit imprimé

Réalisé en simple face, emplacement prévu pour un afficheur 7 segments de type D350PK.

chemin_electrique_002_pcb_composants

Typon aux formats PDF, EPS et Bitmap 600 dpi

Le prototype

Réalisé conformément au circuit imprimé dessiné ci-avant (cliquer pour agrandir).

chemin_elec_002_proto_001b chemin_elec_002_proto_001a

Pour l'afficheur, j'ai utilisé une barrette de supports tulipe sécable, pour éviter de le souder directement sur le CI. Le transducteur piezzo utilisé ici est une récupération faite sur une montre à quartz avec fonction alarme (le transducteur était monté sur le couvercle de la montre). On voit des traces de colle dessus car je m'en étais déjà servi pour un autre montage.

chemin_elec_002_proto_001c chemin_elec_002_proto_001d

Remarques

20/03/2011
- Ajouts infos sur le type d'afficheur employé.