Étape 5: Le logiciel
Le logiciel s’exécutant sur l’Arduino est très simple. Mais d’abord, il convient de mentionner ce qui suit :
- Le ArduImu dispose d’un port de communication série. L’Arduino reçoit séries paquets de l’UMI qui puis décode et se traduit par des valeurs numériques qui dénote l’orientation du Conseil d’administration. Cette partie du code devra être modifiée si vous utilisez d’autre IMU, spécialement si vous choisissez un IMU qui communique avec I2C ou SPI.
- La bibliothèque de NeoPixel a été développée par Adafruit et il est très facile à utiliser. Voici le tutoriel.
L’arduIMU n’a pas été facile à installer, mais ce tutoriel m’a beaucoup aidé. Le code partagé sur cette page a eu quelques problèmes, supposons que c’était à cause de la version du firmware en cours d’exécution sur le ArduIMU. Après quelques débogage il fonctionnait bien.
La plume légère a 2 interrupteurs pour interagir avec l’utilisateur et il activer ou désactiver.
Ce que fait le logiciel est :
- Lors de l’installation, le code configure : les broches d’entrée pour lire les commutateurs, le port série pour recevoir les données de la v3 de ArduiIMU et les tiges pour contrôler la NeoPixel.
- Une fois dans la section de la boucle du code :
- La fonction readPacket() reçoit et vérifie le code provenant de l’IMU. Elle retourne true si le paquet est valide, false sinon.
- Si un paquet valide a été reçu, l’état des interrupteurs est lu avec la fonction ReadInputs(). Cette fonction énumère toutes les combinaisons possibles des commutateurs. Deux commutateurs, les combinaisons totales sont 2 ^ 2 = 4. L’énumération commence par 0, cela signifie que tous les commutateurs sont éteintes, cela sert à éteindre les LEDs.
- Les combinaisons est décodé à l’aide d’une instruction switch, en dehors de la condition d’arrêt, il y a 3 combinaisons plus utilisés pour déclencher les autres bagouts de la plume légère.
- Une fois le modèle correspondant a été attiré sur les LEDs, la boucle recommence.
Vous pouvez avoir des commutateurs autant que vous le souhaitez déclencher des effets de lumière différents. Ajout d’un troisième vous donnerait la possibilité d’avoir 2 ^ 3 = 8 combinaisons possibles. Mais poussant que beaucoup de boutons lors du dessin peut être difficile, mais toujours une possibilité. L’organigramme joint à cette étape, décrit ce qui a été discuté.
Le fichier Zip comprend trois dossiers pour vous annuaire de carnet de croquis :
- ReadBinaryArduIMUV3-le code pour recevoir et décoder les paquets provenant de l’ArduIMU dans l’Arduino.
- NeoPixelTest - le code partagé par Adafruit pour débuter avec NeoPixel. La bibliothèque de NeoPixel n’est pas incluse.
- LightNib-le code complet pour obtenir la plume légère en cours d’exécution, en utilisant le matériel décrit ici.