Documentation technique

Cette partie explique à la fois comment utiliser et reproduire le kit.

Guide pour reproduire le kit

Équipement nécessaire

  • Un ordinateur pour copier le code sur le Raspberry Pi

  • Accès internet pour télécharger les images à copier

  • Colle à bois pour assembler le boitier

  • Accès à une découpeuse laser

Matériels

Élément

Quantité

Prix total Approximatif

Raspberry Pi 3B+

1

63 $

Carte MicroSD 16GB Class 10

1

18 $

Écran tactile 3.5 po pour Raspberry Pi (IPS TFT LCD 320x480)

1

38 $

Manette de jeu rétro USB (SNES Gamepad)

1

10 $

M2.5 Écrous ou entretoise hexagonal (5 mm)

4

2 $

M2.5 Vis

4

2 $

5.0V DC 2.4A (USB Micro-B) Adaptateur mural Alimentation

1

14 $

Boitier découpé

1

40 $

TOTAL

-

187 $

Technologies utilisées et réalisation

Le microcontrôleur « Raspberry Pi » version 3B est actuellement utilisé, mais la version 3B+ permet une meilleure performance avec le jeu. La version de Linux installée sur celui-ci se nomme « Raspbian ». Le jeu est programmé en python et utilise la librairie « Pygame » pour l’affichage des images.

Une manette de type « Super Nintendo » avec une connectivité USB de marque Kiwitata est utilisée pour contrôler le jeu. La reconnaissance des boutons activés sur celle-ci se fait nativement dans python. Il est possible de vérifier à travers les « évènements » captés par pygame la présence d’influx provenant du contrôleur avec la fonction « pygame.JOYAXISMOTION() » permettant d’identifier chacun des boutons lorsqu’ils sont pressés.

L’écran d’affichage provient de la compagnie Waveshare et utilise un logiciel de calibration nécessitant une distribution de linux comportant une interface graphique (Graphic User Interface). Lorsqu’il est utilisé avec la version légère (Lite) de Raspbian, l’écran ne parvient pas à se calibrer correctement.

Les emoji « EmojiTwo » (sous licence MIT) ont été utilisés pour le projet en accord avec la licence CC-BY-4.0. Pour ajouter une énigme à la base de données « QuestionsMegalomania.lua », il faut identifier les coordonnées des emoji sur l’image « emoji_grid.png » et les placer sous la question et la réponse qui les accompagnera en respectant le format de la base de données.

Il serait intéressant de programmer un outil visuel permettant d’automatiser l’ajout d’énigmes à la base de données. L’accumulation des coordonnées des emoji pourrait devenir beaucoup plus simple et l’ajout d’énigmes pourrait se faire par n’importe qui. Cet outil pourrait accompagner le jeu et être distribué sur le web pour améliorer l’expérience.

Code - mode simplifié

  1. Télécharger l'image à mettre sur la carte microSD du Raspberry Pi

  2. Installer Balena Etcher sur votre ordinateur.

  3. Ouvrir Etcher et flasher l'image sur la carte microSD.

Code - mode avancé

Pour faire des modifications du code ou pour faire l'image vous-même, le code source et les images utilisées dans le code sont téléchargable sur github.

  • Télécharger raspbian-strech-full

  • Installer les drivers pour le mini écran : https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(B)

  • Copier le dossier MegalomaniaV3 dans /home/pi/Desktop/

  • Configurer le lancement automatique du jeu au moment du boot : Pour cela il faut éditer le fichier suivant :

    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
    -- Et ajouter la ligne suivante a la fin du fichier:
    @sh /home/pi/Desktop/MegalomaniaV3/launcher.sh
  • Finalement on peut relancer le Pi via la procedure du mini écran :

cd LCD-show/
./LCD35B-show

Fabrication

Vous auriez besoin de fabriquer (ou commander) une boite pour le Raspberry Pi sur une découpeuse laser.

Ficher pour la découpe en contreplaqué de bois 3mm :

Assemblage par étapes

  1. Copier l'image Megalomania sur la carte microSD.

  2. Insérer la carte microSD dans le Raspberry Pi.

  3. Assembler le haut du boitier avec les côtés avec de la colle à bois.

  4. Viser le bas du boitier au Raspberry Pi avec les vis et écrous M2.5.

  5. Insérer la Raspberry Pi + bas du boitier pour finir la boite.

  6. Brancher la manette de jeu au Raspberry Pi.

  7. Brancher le cable microUSB de l'adaptateur d'alimentation microUSB au Raspberry Pi.

  8. Brancher le prise mural de l'adaptateur d'alimentation au mur.

Règles du jeu à télécharger