Clignodroid

image principale Clignodroid

Difficulté:

Construction d'un petit jeux type "SIMON" à base d'un Raspberry pi zéro: il faut répéter l'allumage d'une séquence de leds aléatoires de plus en plus longue.

Matériel :

Budget : 30€

Etape 1 : Matériel nécessaire

Les fichiers GERBER nécessaires pour fabriquer le circuit imprimé sont dans le fichier .zip ci-joint

Etape 2 : Configuration du système

Installer une version Raspbian strech ligth sur le raspberry pi, sans écran ni clavier  

https://raspberry-pi.fr/raspberry-pi-sans-ecran-sans-clavier/

Activer le bus  I2C du raspberry pi, afin de pouvoir gérer l’afficheur LCD via port I2C

https://projetsdiy.fr/activer-bus-i2c-raspberry-pi-3-pi-zero-w/

Installer la gestion du port GPIO du raspberry

→ sudo apt-get install wirinpi

→ tutoriel pour wirinpi : http://wiringpi.com/download-and-install/

définir python3 par défaut (au lieu de python 2)

→cd /usr/bin

→ sudo rm python

→ sudo ln -s python3 python 

installer les packages python 3 suivants, nécessaires à la gestion GPIO et bus I2C

→ sudo apt-get install rpi.gpio

→ sudo apt-get install python3-pip

→ sudo pip3 install smbus

Le raspberry pi est alors prêt pour exécuter le programme écrit en python 3, qui va contrôler le circuit imprimé via le port GPIO. 
Etape 3 : Circuit électonique

Commencer par souder la nappe 2*20pin femelle à positionner sous le PCB : le Raspberry pi va se loger sous le PCB qui sera surélevé par des entretoises.  

Ne pas hésiter à utiliser une loupe pour souder les nombreuses pattes qui sont proches.

 

Souder ensuite les résistances 220Ω verticalement, (R1 R2 R3 R4 en haut à gauche, bleues sur l’image). Ces résistances sont associées aux Leds

Souder ensuite les résistances 10kΩ verticalement sur la droite (R5 à R14). /!\ Attention à la rangée du bas: le sens des résistances est important. Si elles sont soudées dans l’autre sens, le schéma électrique n’est plus respecté et ça ne fonctionnera pas.

Souder ensuite la résistance verticale 1kΩ (R15) au dessus du buzzer ainsi que le transistor juste en dessous. Ne pas hésiter à utiliser une loupe pour souder les 3 pattes très proches du transistor NPN… Attention à bien le souder dans le bon sens (méplat vers le buzzer,comme sur la photo), sinon le buzzer ne fonctionnera pas.

Souder le buzzer: le sens est aussi important: patte + soudée vers le bas.

Souder les Leds en prenant soin de disposer les clips avant de souder (sinon impossible de les mettre une fois les Leds soudées), et de respecter les couleurs (verte, bleue, jaune, rouge). Le sens est important: la patte la plus longue doit être soudée dans le trou rond de droite (qui lui est relié à une résistance 220Ω). Le trou « carré » est quand à lui relié à la masse. Si elles sont soudées dans l’autre sens : elles ne s’allumeront jamais.

Souder tous 5 les boutons poussoir, le sens n’a pas d’importance.

Souder le connecteur mâle 4 pin coudé en haut à gauche.

Etape 4 : Assemblage du circuit

Connecter le Raspberry pi directement sur la barrette 2*20pin située sous le PCB. Disposer les 7 entretoises 15mm en bas, et les 4 entretoises 20mm au dessus (support du LCD). Brancher la nappe souple (connecteurs coudés) vers port I2C du LCD: attention au sens (GND en haut, puis VCC, SDA et SCL).

 A noter que l’utilisation d’une barrette 2*20pin bas profil (5mm de hauteur) est importante, sinon les entretoises de 15mm en support ne seraient pas assez hautes pour éviter que le Raspi ne traîne par terre. De même le LCD doit être accompagné de son module I2C soudé par dessous le LCD . Il y a des composants qui prennent de la place + ceux du PCB : il faut à minima des entretoises de 20mm pour surélever correctement le LCD.

Etape 5 : Installation des programmes Python sur le Raspberry pi

programmes à récupérer sur ma page Github: https://github.com/papsdroidfr/raspberry_clignodroid

Tous les programmes (tous les fichiers *.py) ainsi que le fichier score.txt doivent être ajoutés dans un dossier /home/pi/ClignoDroid/

(Attention avec les MAJUSCULES et minuscules: elles sont importantes)

Ensuite pour que le programme principal s’exécute au démarrage du Raspberri pi, il faut entrer les commandes suivantes en mode console (via une connection SSH, comme lors de l’installation du système sans écran) :

sudo nano /etc/rc.local

Ajouter juste avant la ligne exit 0 ceci:

python "/home/pi/ClignoDroid/clignoDroid.py" &

(le & à la fin est important pour que le programme puisse s’exécuter en tâche de fond et ne bloque pas le systèlme)


Etape 6 : Jouer !

En branchant le raspberry pi: le système démarre (ça prend du temps, c’est normal, c'est un pi Zéro ….) et lorsque le programme s’exécute il commence par faire clignoter toutes les Leds, avant de demander si on commence la partie: c’est parti!!!

  • En appuyant sur la led Verte: on démarre la partie en activant le buzzer
  • En appuyant du la led Rouge: on démarre la partie sans le buzzer.

Si le joueur appuie sur le bouton noir « OFF » cela va éteindre proprement le raspberry pi : pour recommencer une partie il faut alors débrancher et rebrancher le système. Il n’est pas du tout recommandé de débrancher « sauvagement » le raspberry pi pendant qu’il fonctionne: à terme la SD carte serait corrompue voire détruite et plus rien ne fonctionnerait.

Sources :

https://papsdroidfr.github.io/tutoriels/clignodroid/


Ces tutoriels devraient vous plaire

vignette Arduino Uno - Capteur d'humidité au sol.
Arduino Uno - Capteur d'humidité au sol.
vignette Écran Tactile et Raspberry Pi
Écran Tactile et Raspberry Pi
vignette Préparer un fichier pour une découpe et une gravure laser
Préparer un fichier pour une découpe et une gravure laser

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers