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
Plus précisément 2 servomoteurs ici, pour pouvoir au moins avancer/reculer et tourner.

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
Mais ce voltage externe n'est répercuté que sur un seul port de sortie, le port
En conséquence, il n'est pas possible de brancher simultanément 2 servoteurs
Une autre solution est d'utiliser le port

Le
Il comprend divers emplacements permettant d'enficher des briques lego, de quoi possiblement se construire des supports pour placer divers capteurs ou actionneurs compatibles
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
Connectons donc maintenant l'interface
Elle s'enfiche sur le port remarqué sans aucune difficulté :
Nous remarquons que les autres ports du
Il ne reste plus qu'à rajouter la calculatrice, ici une
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: Tout sélectionner
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
Notre voiture-robot part donc sur la gauche.
Et c'est normal puisque l'exécution de ce code n'est pas instantané.
Sur
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.
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 ?

