PicoTamachibi : créer un animal virtuel/Tamagotchi avec Raspberry-Pico 2
Bonjour à tous,
01 sept 2024: Ajout d'une petite étude des niveaux, des actions utilisateurs et actions tamagotchi sur le Wiki.
Pour ce week-end, je vous propose un chouette projet MicroPython à base de Raspberry-Pi Pico 2, d'un écran OLED 128x64 I2C et de trois boutons poussoir.
Kevin McAleer nous propose de créer un animal virtuel appelé Tamachibi.
Sorti tout droit de notre enfance ces animaux virtuels se nommait Tamagotchi.
Ce que j'adore dans la vidéo de Kevin ce sont les animations de "Baby".
![]() |
écran OLED 128x64 I2C |
La disposition des composants sur la carte est également bien pensé.
![]() |
Source: vidéo de Kevin McAleer |
Les graphiques sont stockés dans des fichiers au format BPM que nous avions déjà abordé dans l'article "Lecture d'image PBM sous MicroPython".
Quelques informations pratiques
Je reprend ci-dessous quelques captures de la vidéo où l'on retrouve des informations utiles pour d'autres projets similaire (merci Kevin pour ce partage).
![]() |
Composition générale de l'interface |
Les différentes icones de la barre d'outils (toolbar) propose les fonctionnalités décrites ci-dessous
L'icone sélectionnée dans la Toolbar (barre à outil) est affiché en négatif!
Les ressources/icones graphiques sont disponibles sous forme de fichier BPM, un format facile à lire pour un microcontrôleur
La documentation sur les animations est aussi instructive.
Je me suis demandé quel pouvait être l'intérêt d'une séquence REVERSE mais a bien y réfléchir, cela permet de déplacer Baby à un endroit puis, plus tard, de revenir à sa position initiale.
En vidéo
Je vous propose de découvrir la vidéo de Kevin (YouTube).
Kevin prend le temps de présenter les concepts utilisés et les éléments de programmation exploités.
Amélioration possibles
Je vois quand même quelques possibilités d'amélioration (électronique et logiciel).
- Prévoir de l'autonomie (avec un Accu Lipo) et recharge
- Prévoir du son (du moins un minimum).
- Diminuer la quantité de fichiers BPM (regrouper les ressources dans un fichier commun)
- Envisager des personnages différents (et comportements différents)...
d'où l'intérêt de regrouper les ressources. - Clarifier les relations entre état psychologique et paramètres vitaux (état émotionnel, actions et leurs conséquences).
J'ai trouvé ce point un peu confus dans l'implémentation de Kevin.
Bon visionnage,
Dominique