まこと の ブログ

MaKoTo no burogu — Journal de bord…

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

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…

dimanche, 1 mars 2020

Mame en vrai 15 kHz, le retour !

Près de 7 ans plus tard, est-il toujours possible de modifier Linux afin qu'on puisse brancher un écran cathodique, comme une TV ou un écran d'arcade, autrement appelé moniteur 15 kHz, sur un ordinateur muni d'une carte graphique ATI ?
La démarche décrite dans mon billet de l'époque pour patcher 15 kHz, puis compiler un noyaux Linux est-elle toujours valable ?

  • C'est ce que j'ai eu besoin de valider afin de pouvoir mettre à jour l'OS de ma borne et utiliser les dernières versions de mame.

Le temps passe à une vitesse folle. À peine a-t'on un système jouable en place qu'il est déjà sur la sellette du remplacement, et fatigué par ce manège, j'avais fini par laisser courir… Après tout, ma borne fonctionne, pas besoin d'y toucher !
Jusqu'au moment où l'on voudrait bien pouvoir profiter des dernières innovations de mame.
Problème, l'OS (debian8) est trop vieux pour supporter SDL2 requis maintenant par mame, et une fois debian10 réinstallé, impossible de faire fonctionner le noyaux Linux 3.2 patché 15 kHz compilé à l'époque.
Malheureusement une recherche rapide sur les forums d'alors me fit comprendre que les patches Linux n'étaient plus publié et disponible pour les versions récentes…
Occupé ailleurs j'avais un peu mis ça de côté, et puis un jour, au détour de la consultation des statistiques du blog, j'ai découvert qu'on « linkait » gentiment mon billet sur github.
Le dénommé Doozer proposait donc des patches pour le noyaux v5, et dés la première lecture du document, je compris que pas mal de choses avaient changé, dans la façon de faire fonctionner ce noyau patché, et plus tard dans la manière de le compiler.
Avant de continuer à raconter ma vie, on va déjà faire ça !

Compilation de Linux patché @15kHz :

Voici donc la nouvelle routine de compilation au goût du jour !

  • 1 — Prérequis :

Installer debian 10 Buster, puis les paquets nécessaires à la compilation :

apt update
apt upgrade
apt install build-essential bc kmod cpio flex libncurses5-dev dpkg-dev debconf-utils debhelper fakeroot zlib1g-dev rsync


  • 2 — Préparatifs :

Récupérer les sources et les extraire dans un dossier de travail : /home/user/kernel5.5

mkdir /home/user/kernel5.5
cd /home/user/kernel5.5
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.tar.gz
tar xvf linux-5.5.tar.gz

Se rendre dans le dossier crée :

cd linux-5.0.1

Configurer le kernel :

make olddefconfig

Cette commande va chercher la configuration du kernel actuel (booté) et met toutes les nouvelles options en « par défaut ».
Il faut donc s'assurer que le debian actuel est démarré sur un noyaux 5.4 au moins.

Éditer le fichier .config, afin de vérifier que cette ligne ne contient rien entre les guillemets (sinon la compilation plantera dés les premières minutes) :

CONFIG_SYSTEM_TRUSTED_KEYS = ""

Exécuter ce script permet de ne pas compiler un noyau de debug, et donc de gagner du temps :

./scripts/config -d CONFIG_DEBUG_INFO


Lire la suite...

samedi, 22 février 2020

Une éolienne à axe vertical -17- ( Fin )

Comme indiqué dans l'épisode précédent, j'ai mis en place un peu d'électronique afin de monitorer la production électrique et la charge de la batterie, grâce à une mise à niveau de mon anémomètre documenté ici.

  • Les capteurs sont donc placés dans le boîtier électrique, l'ampèremètre en série juste après le régulateur de charge, et le voltmètre aux bornes de la batterie. La liaison de donnée remonte quant à elle le long du mât pour être raccordé à l'anémomètre tout en haut :

20191116_110512.jpg 20191221_160929.jpg 20191116_110538.jpg 20191116_113426.jpg

Une petite vidéo pour voir le résultat :

Je m'efforce de faire tourner manuellement l'éolienne pour constater que c'est bien autour de 25 rotations/minutes de celle-ci qu'on commence à produire une dizaine de Watts.

Comme deviné, la poulie 8 dents n'aura rien donné d'intéressant ! Pas suffisamment de vents pour permettre la rotation, le couple demandé avec ce rapport était trop important.

  • La poulie 10 dents installée ici (en orange), permettait à l'éolienne de tourner, mais trop difficilement pour le vent de la fin d'année.

20191116_115756.jpg 20191118_104657.jpg

Lire la suite...

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...

- page 1 de 155