Apprivoisons le TI-Robot E3, épisode 1 : en avant, marche !
Posted: 19 Aug 2017, 21:55
Le TI-Innovator pour calculatrices TI-Nspire CX et TI-83 Premium CE permet d'interfacer ta machine avec nombre de capteurs et actionneurs.
Des possibilités parfaitement dans l'esprit avec lequel les derniers programmes scolaires traitent le numérique, notamment la spécialité ISN en Terminale S ou l'option ICN en Seconde.
Ce qui nous aurait particulièrement intéressé dans ce contexte, cela aurait justement été de réaliser un robot sur roues, comme le TI-Robot par Norland Research, voiture-robot qui utilisait le port mini-Jack absent des derniers modèles.
Des possibilités parfaitement dans l'esprit avec lequel les derniers programmes scolaires traitent le numérique, notamment la spécialité ISN en Terminale S ou l'option ICN en Seconde.
Ce qui nous aurait particulièrement intéressé dans ce contexte, cela aurait justement été de réaliser un robot sur roues, comme le TI-Robot par Norland Research, voiture-robot qui utilisait le port mini-Jack absent des derniers modèles.
Réaliser un tel robot nécessite des servomoteurs, moteurs dont la position est contrôlable et vérifiable.
Plus précisément 2 servomoteurs ici, pour pouvoir au moins avancer/reculer et tourner.
Le TI-Innovator gère bien les servomoteurs Grove, mais avec une énorme contrainte.
Ces moteurs nécessitent 5 Volts, alors que la calculatrice ne fournit que 3 Volts à travers son port USB.
En pratique le cas est certes prévu. Il faut brancher une source d'alimentation USB supplémentaire sur le TI-Innovator, comme par exemple une batterie USB pour conserver la mobilité des projets.
Mais ce voltage externe n'est répercuté que sur un seul port de sortie, le port OUT 3 :
En conséquence, il n'est pas possible de brancher simultanément 2 servoteurs Grove.
Plus précisément 2 servomoteurs ici, pour pouvoir au moins avancer/reculer et tourner.
Le TI-Innovator gère bien les servomoteurs Grove, mais avec une énorme contrainte.
Ces moteurs nécessitent 5 Volts, alors que la calculatrice ne fournit que 3 Volts à travers son port USB.
En pratique le cas est certes prévu. Il faut brancher une source d'alimentation USB supplémentaire sur le TI-Innovator, comme par exemple une batterie USB pour conserver la mobilité des projets.
Mais ce voltage externe n'est répercuté que sur un seul port de sortie, le port OUT 3 :
En conséquence, il n'est pas possible de brancher simultanément 2 servoteurs Grove.
Une solution pourrait certes être l'utilisation du port BreadBoard pour le 2ème moteur (avec donc asymétrie du codage).
Une autre solution est d'utiliser le port BreadBoard pour les deux moteurs, et c'est ce que propose Norland Research avec son nouveau TI-Robot E3 qui vient de nous être adressé grâcieusement !
Une autre solution est d'utiliser le port BreadBoard pour les deux moteurs, et c'est ce que propose Norland Research avec son nouveau TI-Robot E3 qui vient de nous être adressé grâcieusement !
Découvrons-le dès maintenant ensemble :
Le TI-Robot E3 se compose donc de 3 étages et est à alimenter avec 6 piles AA. Il repose à l'avant sur 2 roues contrôlées chacune par un servomoteur, ainsi qu'à l'arrière sur une rotule multidirectionnelle.
Il comprend divers emplacements permettant d'enficher des briques lego, de quoi possiblement se construire des supports pour placer divers capteurs ou actionneurs compatibles TI-Innovator.
Regardons de plus près :
Sur l'étage central repose une carte électronique sur laquelle on distingue un interrupteur marche/arrêt à coté d'une diode témoin d'alimentation, une prise USB A femelle latérale, un connecteur 2x10 broches comme le port BreadBoard du TI-Innovator, ainsi qu'un connecteur 3x2 broches latéral déportant peut-être les broches inutilisées du connecteur BreadBoard.
Connectons donc maintenant l'interface TI-Innovator.
Elle s'enfiche sur le port remarqué sans aucune difficulté :
Nous remarquons que les autres ports du TI-Innovator restent libres d'accès.
Il ne reste plus qu'à rajouter la calculatrice, ici une TI-83 Premium CE, que l'on peut sécuriser avec 2 élastiques, et à la relier à l'interface TI-Innovator à l'aide du câble de communication mini-USB entre calculatrices :
Le câble pourra éventuellement être fixé sur le côté en le passant dans la découpe prévue à cet effet, pour éviter qu'il ne s'accroche quelque part et perturbe les mouvements du robot.
Il est maintenant temps de tester.
Les ports BB1 et BB3 contrôlent respectivement la marche avant de la roue droite et de la roue gauche.
Voici donc un programme censé faire avancer le robot, en lançant les 2 roues en marche avant à pleine vitesse :
Le TI-Robot E3 se compose donc de 3 étages et est à alimenter avec 6 piles AA. Il repose à l'avant sur 2 roues contrôlées chacune par un servomoteur, ainsi qu'à l'arrière sur une rotule multidirectionnelle.
Il comprend divers emplacements permettant d'enficher des briques lego, de quoi possiblement se construire des supports pour placer divers capteurs ou actionneurs compatibles TI-Innovator.
Regardons de plus près :
Sur l'étage central repose une carte électronique sur laquelle on distingue un interrupteur marche/arrêt à coté d'une diode témoin d'alimentation, une prise USB A femelle latérale, un connecteur 2x10 broches comme le port BreadBoard du TI-Innovator, ainsi qu'un connecteur 3x2 broches latéral déportant peut-être les broches inutilisées du connecteur BreadBoard.
Connectons donc maintenant l'interface TI-Innovator.
Elle s'enfiche sur le port remarqué sans aucune difficulté :
Nous remarquons que les autres ports du TI-Innovator restent libres d'accès.
Il ne reste plus qu'à rajouter la calculatrice, ici une TI-83 Premium CE, que l'on peut sécuriser avec 2 élastiques, et à la relier à l'interface TI-Innovator à l'aide du câble de communication mini-USB entre calculatrices :
Le câble pourra éventuellement être fixé sur le côté en le passant dans la découpe prévue à cet effet, pour éviter qu'il ne s'accroche quelque part et perturbe les mouvements du robot.
Il est maintenant temps de tester.
Les ports BB1 et BB3 contrôlent respectivement la marche avant de la roue droite et de la roue gauche.
Voici donc un programme censé faire avancer le robot, en lançant les 2 roues en marche avant à pleine vitesse :
- Code: Select all
Send("CONNECT DIGITAL.OUT 1 BB1
Send("CONNECT DIGITAL.OUT 3 BB3
Send("SET DIGITAL.OUT 1 1
Send("SET DIGITAL.OUT 3 1
Wait 5
Send("SET DIGITAL.OUT 1 0
Send("SET DIGITAL.OUT 3 0
En pratique, voici ce que l'on obtient :
Notre voiture-robot part donc sur la gauche.
Et c'est normal puisque l'exécution de ce code n'est pas instantané.
Sur TI-83 Premium CE, une ligne de code à interpréter non complexe nécessite dans les 0,3 seconde.
Donc avec ce code littéralement, la roue droite s'active en premier faisant tourner le robot à gauche, et ce n'est qu'au moins 0,3 seconde plus tard que la roue gauche s'active pour compenser et le faire aller tout droit.
Avec l'ancien TI-Robot E2 qui utilisait des commandes complètement différentes, il était possible de contrôler simultanément les 2 roues, mais cela ne semble plus être le cas ici.
L'écart de trajectoire n'est de façon évidente pas négligeable, que le but soit que le robot fasse de l'exploration spatiale ou du dessin, cela risque de donner n'importe quoi dans les deux cas.
Nous en appelons donc à ton aide : quelle(s) modification(s) ferais-tu au code ci-dessus pour corriger l'écart de trajectoire ?
Nous attendons ta réponse pour le prochain épisode !
Notre voiture-robot part donc sur la gauche.
Et c'est normal puisque l'exécution de ce code n'est pas instantané.
Sur TI-83 Premium CE, une ligne de code à interpréter non complexe nécessite dans les 0,3 seconde.
Donc avec ce code littéralement, la roue droite s'active en premier faisant tourner le robot à gauche, et ce n'est qu'au moins 0,3 seconde plus tard que la roue gauche s'active pour compenser et le faire aller tout droit.
Avec l'ancien TI-Robot E2 qui utilisait des commandes complètement différentes, il était possible de contrôler simultanément les 2 roues, mais cela ne semble plus être le cas ici.
L'écart de trajectoire n'est de façon évidente pas négligeable, que le but soit que le robot fasse de l'exploration spatiale ou du dessin, cela risque de donner n'importe quoi dans les deux cas.
Nous en appelons donc à ton aide : quelle(s) modification(s) ferais-tu au code ci-dessus pour corriger l'écart de trajectoire ?
Nous attendons ta réponse pour le prochain épisode !
Lien : http://innovatorrobot.com