L'ensemble des documentations est disponible ici.
Assurez-vous d'avoir la version 2 de l'Arduino ou supérieure. Il faut ensuite ajouter la source :
Testez avec ce code minimal, la led bleue doit s'allumer :
Nous allons utiliser un Inertial measurement unit (IMU), qui est un ensemble de capteurs (accéléromètre, gyroscope, et thermomètre). Il se présente sous la forme d'une puce nommée ICM 20649 montée sur une petite carte. La documentation explique son fonctionnement, son installation et fournit un exemple sur lequel vous pouvez vous baser. La carte communique avec votre microcontrôleur avec un bus I2C. Le branchement est le suivant :
Notre objectif sera de contrôler une application web à l'aide de mouvements de la carte. Pour cela vous devez envoyer les données de l'accéléromètre et du gyroscope par le port série.
Côté application web, vous devez créer un backend NodeJS qui va récupérer les données du port série avec la librairie serialport. Pour installer NodeJS sur les ordinateurs du M5 il faut suivre ce tutoriel.
Pour le frontend, vous devrez afficher un objet 3D avec la librairie threejs et le faire tourner avec les données du gyroscope, et afficher un vecteur pour l'accélération.
Vous pourrez aussi afficher les courbes en temps réel (comme le serial plotter d'Arduino) pour chaque axe de l'accéléromètre et du gyroscope à l'aide de la librairie d3js.