mardi 24 avril 2012

projet MicroSimon

Voici mon prochain projet, inspiré de celui de Simon Inns. Une nouvelle version du jeux Simon mais encore plus compacte.
Alors que celui de Simon Inns est construit autour d'un PIC12F683, programmé en C et monté sur un circuit imprimé spécifique, le mien sera construit autour d'un PIC12F675, progammé en assembleur et monté sur une platine de 1" de côté acheté chez Robotshop.ca.
Je vais essayer d'utiliser un mininum de composants:

  • 4 DELs de couleurs différentes
  • 4 résistance 1k 1/8 watt en série avec les DEL
  • 4 petits boutons poussoirs
  • 1 petit haut-parleur de 8ohm
  • 1 condensateur 10uF en série avec le haut-parleur
  • 1 résistance de 100ohm 1/8watt en série avec le haut-parleur
  • 1 support pour pile lithium CR2024
  • 1 condensateur céramique de 100nF pour le filtrage alimentation
  • 1 platine de prototypage Sparkfun PRT-08808
  • 1 PIC12F675 en boitier SOIC

présentation du PIC12F675

Le PIC12F675 est un microcontrolleur de milieu de gamme (mid-range). Voici un tableau comparatif avec un PIC de base:

paramètregamme de basemilieu de gamme
longueur instruction12 bits14 bits
nombre d'instructions3335
pile des retours2 niveaux8 niveaux
interruptionnonoui
Les caractéristiques spécifiques au PIC12F675 sont les suivantes:
  • oscillateur interne 4Mhz précision 1%
  • 1024 instructions machine
  • 64 octets de SRAM
  • 128 octets de EEPROM
  • 1 timer 8 bits
  • 1 timer 16 bits
  • 1 comparateur
  • 1 convertisseur A/N 10bits sur 4 entrées
  • 5 broches programmables comme entrée ou sortie digitale, GP0,GP1,GP2,GP4,GP5
  • 1 broche en entrée digitale seulement GP3


Puisque le PIC12F675 a 2 fois plus de mémoire programme que le PIC10F202 je vais ajouter une fonctionnalité supplémentaire sous la forme d'une deuxième option jeux. Dans cette option à chaque étape une séquence aléatoire complète sera générée plutôt qu'une seule note supplémentaire ce qui va rendre le jeux plus difficile. Le support d'interruption va me permettre de créer une minuterie incrémentée à chaque milliseconde et la fréquence des notes musicale sera aussi contrôlée par interruption. La mélodie de victoire sera enregistrée dans la mémoire EEPROM plutôt que dans la mémoire programme. Je vais possiblement ajouter une interface RS-232 permmettant de modifier le contenu de cette mémoire EEPROM (à voir).

Au niveau matériel le nombre E/S va me permettre d'utiliser une sortie dédié pour le haut-parleur contrairement à mon projet pocketSimon qui partageais cette sortie avec le transistor de vidage du condensateur de lecture des boutons.

Je vais installer un connecteur ICSP1 pour la programmation directement sur la platine. si j'implémente le RS-232 pour la programmation eeprom, je pourrais utiliser GP3 et une autre broche qui va sur le connecteur ICSP pour la sortie RS-232. Avec cette configuration je n'aurais pas besoin d'un connecteur supplémentaire pour assurer la communication RS-232. Il suffirait alors d'utiliser un adapteur comme celui-ci et un cable USB pour faire le branchement avec l'ordinateur.

prochaines étapes

  1. desssiner le schéma électronique dans kiCAD
  2. dessiner le schéma de montage sur platine dans msPaint
  3. faire le montage sur la platine
  4. développer le logiciel et programmer en circuit


NOTES:
1) ICSP signifie In Circuit Serial Programming. Ce qui se traduie par Programmation sérielle En Circuit.

Aucun commentaire:

Publier un commentaire