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);
Bonsoir,
merci à vous pour cet intéressant partage concernant le projet Picon, qui m’a beaucoup plu.
Novice, je sèche sur l’installation du driver usb to uart bridge vcp.
Est-ce que vous pourriez m’expliquer comment vous vous y êtes employé?
D’avance merci,
cordialement
Elisabeth
Bonjour Elisabeth.
Pour installer le pilote en question, rendez vous sur la page des telechargement : https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Sur cette page, cliquez sur le lien « Download VCP » correspondant à votre OS :
Ça va télécharger un zip. Dans ce zip il y a 2 fichiers .exe : Un pour les architectures 64 bits (CP210xVCPInstaller_x64.exe), et un pour les 32 bits(CP210xVCPInstaller_x86.exe)
Exécutez celui qui correspond à votre architecture et le driver sera installé. Si vous ne connaissez pas votre architecture, je vous laisse suivre ce tuto pour le connaitre : https://www.commentcamarche.net/faq/19107-32-ou-64-bits-comment-savoir
Christian
Bonjour Christian,
merci pour votre réponse.
Je n’avais pas précisé que je travaille sur Raspberry, avec raspbian buster ( 10 ).
Je n’ai pas trouvé de tutoriel clair pour installer le driver. Pourriez-vous m’éclairer sur ce point s’il-vous-plaît?
D’avance merci
Cordialement
Elisabeth
Raspbian 10 possède le noyau Linux 4.19, donc il faut choisir le driver « Linux 3.x.x and 4.x.x ». Bizarrement je dois me connecter pour le télécharger.
Les notes de release qui l’accompagnent (https://www.silabs.com/documents/public/release-notes/Linux_CP210x_VCP_3.x.x_4.x.x_Release_Notes.txt) indique les commandes à lancer pour l’installer. Il faut utiliser celles pour Ubuntu.
Mes connaissances en Linux sont assez limités, j’ai bien peur de ne pas vous être plus utile.
En revanche je m’interroge de la raison pour laquelle vous tenez à utiliser le Raspberry pour ça.
D’après la documentation :
The T'REX controller can be powered and programmed by USB, ISP and FTDI interfaces. The controller can be powered by these interfaces for the purpose of uploading new code although motor and accelerometer functions will be disabled.
J’ai l’impression qu’en branchant un câble USB, les moteurs et l’accéléromètre seront désactivés. Je pense que le câble USB ne doit servir qu’à mettre à jour le code, et ensuite il faut passer par I2C ou Bluetooth pour envoyer des commandes au T’REX.
Christian
Bonsoir Christian,
après plusieurs tentatives, je pense être parvenue à mes fins.
Merci pour vos réponses.
bonne continuation
cordialement
Elisabeth