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);

Laisser un commentaire

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