Carte Galaxia

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:

Python

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

Python

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:

Python

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:

Python

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.

Python

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.

Python

Prochain article : utilisation du wifi et écran graphique

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *