Partagez

Suivez moi

Twitter

Google+

LinkedIn

RasPiRepCol

RasPiRepCol (« RepCol » pour Repeat Colors, soit « Rejoue les couleurs ») est un projet pour le Raspberry Pi implémentant un clone du jeu électronique Simon.

Dernière version : 1.2 du 23 septembre 2012

Du côté du logiciel

La partie logicielle de RasPiRepCol permet de piloter la partie électronique (allumage / extinction des LED et gestion des appuis sur les boutons). Il se compose d'un programme principal en Python, nécessitant l'installation de quelques logiciels.

Installation des pré-requis

Tout d'abord, il faut installer les paquets correspondant à Python et au outils développeurs associés. Sous Debian / Raspbian, il faut exécuter en tant que super-utilisateur la ligne de commande suivante (à adapter en fonction de la distribution utilisée)

$ apt-get install python python-dev

Une fois l'installation terminée, il faut installer la bibliothèque Python de contrôle du GPIO. Il s'agit de RPi.GPIO (en version 0.4.0a ou plus récente) disponible ici : http://pypi.python.org/pypi/RPi.GPIO. Une fois l'archive téléchargée, il faut exécuter en tant que super-utilisateur les commandes suivantes :

$ tar -xzf RPi.GPIO-0.4.0a.tar.gz
$ cd RPi.GPIO-0.4.0a
$ python setup.py install

Une fois la bibliothèque installée, vous pouvez supprimer l'archive précédemment téléchargée (« RPi.GPIO-0.4.0a.tar.gz ») et le dossier de décompression (« RPi.GPIO-0.4.0a »).

Enfin, vous pouvez lancer RasPiRepCol (toujours en tant que super-utilisateur) une fois que le montage électronique est terminé par la commande suivante :

$ python raspirepcol.py

Assemblage électronique

Needed components

  • 1 x LED verte
  • 1 x LED jaune
  • 1 x LED rouge
  • 1 x LED bleue
  • 4 x résistances de 330Ω
  • 4 x résistances de 1kΩ
  • 4 x résistances de 10kΩ
  • 4 x interrupteurs tactiles
  • Assez de câble pour les connecter (…et dans les ténèbres les lier)

Les résistances de 330Ω sont utilisées pour protéger les LED (et le GPIO). Il est possible d'utiliser des résistances plus faibles (exemple : 270Ω) si vous souhaitez que les LED brillent plus fort. Mais ne descendez pas trop bas si vous ne voulez pas tirer trop de courant des broches du connecteur GPIO : il ne faut pas dépasser 16mA par broche, et pas plus de 51mA cumulé sur l'ensemble des broch

Les résistances de 10kΩ sont là en résistance de tirage pour tenir l'entrée en état haut si l'interrupteur n'est pas pressé (et éviter un court-circuit entre la ligne +3,3V et le connecteur GPIO).

Les résistances de 1kΩ sont là pour protéger le connecteur GPIO si celui-ci est accidentellement mis en mode sortie, et que l'interrupteur est pressé.

J'ai utilisé le Raspberry Pi Started Kit disponible chez SK Pang, qui fourni un boitier pour le Raspberry Pi et une partie des composants nécessaires.

Schéma électrique
raspirepcol.png

Résultat final
raspirepcol_assembly.jpg

RasPiRepCol en action

Télécharger RasPiRepCol

RasPiRepCol est distribué selon les termes de la licence BSD modifiée.

  • Stable : dernière version stable de l'application
  • GitHub : dernières sources de l'application sur GitHub (peuvent ne pas être stables, voire être complètement cassées)

v1.2 (23 septembre 2012)

  • Ajout du mode difficile.
  • Nécessite RPi.GPIO 0.4.0a

v1.1 (19 aout 2012)

  • Nettoyage du code.
  • Ajout de la compatibilité avec Python 3.x.
  • Gestion propre de la combinaison de touche Ctrl + C.
  • Ajout de la possibilité de choisir la difficulté du jeu.
  • Affichage du score.

v1.0 (07 aout 2012)

  • Première version publique.


comments powered by Disqus