Mise à jour du code du contrôleur T’REX
Le contrôleur T’REX est normalement vendu avec un code d’exemple qui permet d’exploiter l’ensemble de ses fonctionnalités :
- Contrôle par Bluetooth, I²C ou Radio
- Lecture des capteurs (accéléromètre et encodeurs)
- Pilotage des moteurs et servomoteurs
Mais dans mon cas, ce code semble absent ou erroné. Le contrôleur ne réagit pas aux commandes I²C, et n’est pas visible dans les périphériques I²C.
Préparation software
Pour être détectable par notre ordinateur, il faut installer le pilote du contrôleur correspondant à votre OS : https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Il nous faut également l’IDE Arduino, disponible ici : https://www.arduino.cc/en/Main/Software
À partir de là, on peut connecter le contrôleur à l’ordinateur en utilisant un câble USB <-> Mini USB
Compilation et upload du code d’exemple
Télécharger et décompresser le code d’exemple.
Dans ce dossier, ouvrir le fichier TREX_controller.ino qui doit s’ouvrir avec l’IDE Arduino.
Dans le menu « Outils », choisir le type de carte « Arduino Nano », le processeur ATmega328P ainsi que le port sur lequel est branché le T’REX.
Uploader le code et laisser opérer la magie !
Erreur dans le code d’exemple
Si vous utilisez le code d’exemple fourni par le constructeur, vous remarquerez que les 3 axes de l’accéléromètre fournissent la même valeur. En regardant de plus près le fichier Accelerometer.ino
, on remarque ces 3 lignes :
xaxis=analogRead(axisxpin); yaxis=analogRead(axisxpin); zaxis=analogRead(axisxpin);
La mise à jour des variables de l’accéléromètre n’utilise que la constante de l’axe X. Il faut modifier ces 3 lignes comme suit :
xaxis=analogRead(axisxpin); yaxis=analogRead(axisypin); zaxis=analogRead(axiszpin);