まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - RaspBerryPI

Fil des billets - Fil des commentaires

lundi, 25 mai 2020

Mini Game Center -5-

Nous revoici pour la suite de notre étude sur le MiniGameCenter :

J'ai nommé celle-ci de cette manière pour évoquer une salle d'arcade, réunissant donc plusieurs bornes… sinon j'aurais plutôt dit « MiniBorne »…
L'important au final c'est qu'on puisse donc interagir avec plusieurs machines sans que cela ne devienne compliqué, ni que ça ressemble à une usine à gaz.
Et c'est pour cette raison que j'écris ceci… Je me suis rendu compte que mon idée de départ, à savoir comme on l'a vu lors du billet N°3, piloter chaque borne par ses GPIO se révélerait assez inadaptée, nous allons voir pourquoi.

C'est impec pour une seule borne, mais pour plusieurs on se retrouverait alors avec un tas de boutons poussoirs de partout.

  • J'ai alors pensé à les mutualiser, c'est à dire relier ensembles les GPIO respectifs de chaque Rpi et d'utiliser la masse comme sélecteur de Rpi. En effet si on débranche la masse, de tous les Rpi sauf un seul, alors on pilotera seulement celui-ci avec les boutons. Pour cela j'aurais utilisé des CD4066B (quad bilateral switch), piloté avec un Arduino, et quelques boutons supplémentaire pour choisir à quel Rpi on se serait adressé. Je n'ai dessiné que pour deux Rpi, mais on peut en rajouter presque autant qu'on veut (la limite venant du nombre d'in/out de l'arduino):


  • Et puis… bon, au final c'est plus un hack qu'une solution académique, alors je me serais orienté vers une solution à base de 74LS573 (Octal D-Type Latch with 3-STATE Outputs).


Et puis en dessinant tout ça, de vite me rendre compte que Ok, j'ai un nombre minimum de boutons poussoir, mais il va y avoir un gros tas de câbles à passer dans le faux plancher du MiniGameCenter, et des boutons à mettre quelque part, et qu'en plus de ça, si on le place en vitrine, bah on pilote rien sans avoir à l'ouvrir pour actionner les boutons… Cerise sur le gâteau, faut en plus se taper une nouvelle carte électronique à réaliser, voire à revoir le Pi-Hat pour y intégrer les 74LS573.

  • Alors pour le pilotage à travers la vitrine, j'ai expérimenté très facilement d'utiliser un capteur infrarouge sur l'Arduino et une télécommande de récup.


Ça fonctionne très bien, et j'aurais conservé l'idée à base de 74LS573 + boutons + Arduino + capteur IR, mais non, tout ce câblage et une PCB à faire… La flemme, il me fallait continuer à expérimenter d'autres solutions, et puis j'ai repensé au fait que le Rpi Zero W embarquait un module Bluetooth

Lire la suite...

samedi, 28 mars 2020

Mini Game Center -4-

Suite de l'étude précédente :

  • Rien de nouveau pour ce billet, juste un point d'étape pour visualiser la réalisation du Pi HAT, Version 1.1 dont je parlais dans le billet N°1 de cette série.

À suivre…

samedi, 11 janvier 2020

Mini Game Center -3-

Suite de l'étude précédente :
Bien ! Maintenant que le système est installé, il nous faut un programme pour exploiter la mini-borne, et ainsi automatiser l'affichage des vidéos.

1 - Playlist de vidéos et pilotage par GPIO :

  • Il faut voir mes petites bornes comme des judebox à jeux vidéos, qui jouent une vidéo en boucle.

- Sur la carte SD sont stockées plusieurs vidéos de démo de jeux ou de parties enregistrées.
- Les vidéos sont jouées par un script Python, et il est alors possible d'interagir avec la vidéo qui joue. Ainsi on va pouvoir :

- augmenter/diminuer le volume sonore, à l'aide de deux boutons poussoir.
- augmenter/diminuer la luminosité de l'écran, à l'aide de ces même deux boutons, avec un appuie long (> 2s).
- sauter de 30 secondes en avant/arrière, à l'aide de deux autres boutons poussoir.
- jouer la vidéo suivante/précédente, à l'aide de ces même de deux autres boutons, avec un appuie long (> 2s).
- faire une pause/relancer la lecture de la vidéo, à l'aide du bouton dédié.


  • Voici dores et déjà une petite vidéo de démonstration pour bien comprendre l'idée :


  • Et donc, pour ce faire, voici le schéma de câblage des boutons aux GPIO :


C'est le dessin du RaspberryPi Zero qui est représenté, mais les câbles (cf. la vidéo) sont bien raccordés sur le Pi HAT (cf. le schéma structurel). Les condensateurs d'anti-rebond font 100nF.
Il ne reste plus qu'a programmer…

Lire la suite...

vendredi, 10 janvier 2020

Mini Game Center -2-

Suite de l'étude précédente :

Le système électronique/informatique est maintenant validé et avant d'aller plus loin, il est temps de récapituler le détail la configuration informatique complète à installer sur la carte SD du RaspberryPi.

1 - Installer et configurer le système d'exploitation, Raspbian Lite :

  • Déployer l'image sur une carte SD. Depuis un système GNU/Linux, le plus simple c'est avec la commande dd :

(attention, of=/dev/sdx à adapter pour la cible de votre carte SD, en cas d'erreur risque d'effacement d'un disque dur non désiré)

sudo dd bs=4M if=2019-09-26-raspbian-buster-lite.img of=/dev/sdx conv=fsync status=progress
  • Placer la carte SD dans le Raspberry, et le mettre sous tension.

Au premier boot, le système de fichier est étendu à la carte SD entière, puis reboot automatique.
Au second boot, le système est prêt, mais en US…
Pour rappel :

Login : pi
Pass : raspberry

  • Première chose à faire, autoriser les réseaux WiFi, éditer :
sudo nano /etc/network/interfaces

Renseigner :

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  • Exécuter raspi-config, et configurer tous les trucs comme on veut, notamment les variables locales (time zone, clavier, etc), et surtout le login automatique de l'utilisateur.
sudo raspi-config

raspi-config01.png
raspi-config02.png
raspi-config03.png
Voici sans image les options à activer :

2 Network Options > N2 Wi-fi --> ssid et passphrase
3 Boot Options > B2 Wait for Network at Boot --> No
3 Boot Options > B1 Desktop / CLI > B2 Console Autologin
4 Localisation Options > I1 Change Locales --> fr_FR.UTF-8 UTF-8
4 Localisation Options > I2 Change Timezone --> au choix
4 Localisation Options > I3 Change Keyboard Layout --> au choix
5 Interfacing Options > P2 SSH --> Yes
5 Interfacing Options > P4 SPI --> Yes
5 Interfacing Options > P6 Serial --> Yes
7 Advanced Options > A2 Overscan --> No
<Finish>, Reboot

Lire la suite...

- page 2 de 8 -