Introduction
La carte Galaxia est développée par la société française Thingz. Cette carte coûte 39 euros en Janvier 2024. Ses caractéristiques principales sont:
- Module Wifi ESP32-S2 (240MHz)
- Écran LCD couleurs 128 x 160 pixels
- Pavé tactile de 4 touches
- Accéléromètre
- Magnétomètre
- Capteur de luminosité
- Capteur de température ambiante
- 2 ports Grove
- LED RGB
- Sortie audio
- 2 boutons poussoirs
- Compatible avec la carte Micro:bit BBC V2 (connecteur pour accessoires micro:bit inclus)
- Alimentation 5V par connecteur micro-usb
Cette carte est programmable en blockly. Malheureusement à la date de rédaction de cet article (janvier 2024), un certain de possibilités d’utilisation de cette carte ne sont pas disponibles en blockly. Par exemple, on ne peut pas afficher du texte en spécifiant un numéro de ligne et de colonne. En mode graphique on ne peut pas tracer des rectangles ou des lignes d’une couleur donnée: avec blockly on ne peut que afficher une fonction en fournissant les valeurs (ordonnées) de cette fonction. Cela n’est pas gênant pour une utilisation destinée à l’apprentissage de la programmation en collège ou lycée; par contre, si l’on souhaite développer des applications ou des jeux sur cette carte, il est nécessaire de programmer directement en Python.
La suite de cet article propose de mettre en évidence les procédures et fonctions de base permettant d’exploiter au mieux en Python les ressources de la carte Galaxia
Programmer la carte Galaxia avec Thonny
Il est possible de programmer directement la carte Galaxia avec le système de développent Thonny. Pour cela, il suffit simplement de configurer l’interpréteur en sélectionnant MicroPython (ESP32), et choisissant le port CircuitPython CDC…
Helloworld
Ce qui donne sur la carte Galaxia:
Améliorons cet affichage en effaçant l’écran et en positionnant le message au milieu de l’écran. L’écran de la carte Galaxia en mode texte implémente une sous-ensemble des séquences d’échappement Ansi pour la gestion des terminaux texte. Exemple:
Ce qui donne à l’exécution:
Accès aux ressources matérielles
Pour accéder aux capteurs intégrés à la carte Galaxia (température, accéléromètre,…), utiliser les boutons, allumer la led,…, il suffit d’importer le module thingz. L’exemple suivant permet d’afficher la température du capteur situé sur la carte toutes les 5 secondes
Gestion des boutons et des touches
Une façon simple consiste à définir des fonctions correspondant aux actions à exécuter lorsque l’on appuie sur un bouton A, B ou une touche N, S, E,W (haut,bas,droit,gauche). Exemple:
Accéleromètre
Nous pouvons gérer les événements de l’accéléromètre lorsque la carte bouge de la façon suivante:
Cet exemple affiche les valeurs d’accélération en x,y,z lorsque la carte est mise en position verticale.
Le premier paramètre de la méthode accelerometer.on_gesture peut être:
« up », « left », « right », « down », « face up », « face down », « shake » ou « freefall »
Magnétomètre
La carte Galaxia comprend un magnétomètre permettant de mesurer la valeur du champ magnétique en x, y , z ainsi que l’orientation de la carte (boussole) en degrés.
Led
La led située en haut de la carte peut être allumée en fournissant ses composantes R G B (Rouge, Vert, Bleu). Chacune des composantes est un entier compris entre 0 et 255. La led intégre un capteur de luminosité dont on peut lire la valeur comprise entre 0 et 255.