Une porte ouverte vers une multitude de projets, que ce soit transformer le robot en scanner, lui faire suivre des formes, ou encore le commander rien qu'en disposant des carrés de couleur sur son chemin, chacune associée à une comportement distinct.
Une fois le robot correctement connecté matériellement puis logiciellement, son utilisation est très simple :
- Code: Select all
Send("CONNECT RV
[...]
Send("READ RV.COLORINPUT.RED
Get(R
Send("READ RV.COLORINPUT.GREEN
Get(G
Send("READ RV.COLORINPUT.BLUE
Get(B
Send("READ RV.COLORINPUT
Get(C
Le TI-Basic est limité à une palette de 15 couleurs et n'a donc que faire des valeurs des composantes rouge-vert-bleu.
Il faudrait donc se rabattre sur la valeur alors retournée dans C mais c'est loin d'être évident puisque les codes couleur diffèrent complètement entre le TI-Innovator Rover et le langage TI-Basic de la TI-83 Premium CE, aussi bien en ordre qu'en valeurs :
TI-Innovator Rover | TI-Basic TI-83 Premium CE |
1=Rouge 2=Vert 3=Bleu 4=Cyan 5=Magenta 6=Jaune 7=Noir 8=Blanc 9=Gris | 10=Bleu 11=Rouge 12=Noir 13=Magenta 14=Vert 15=Orange 16=Marron 17=Bleu marine 18=Bleu clair 19=Jaune 20=Blanc 21=Gris clair 22=Gris moyen 23=Gris 24=Gris foncé |
Mais en remarquant que les codes du TI-Innovator Rover sont consécutifs à partir de 1, on peut utiliser une simple liste pour convertir en 2 lignes sans la moindre boucle :
- Code: Select all
{ROUGE,VERT,BLEU,BLEU CLR,MAGENTA,JAUNE,NOIR,BLANC,GRIS
Rep(C
Le TI-Innovator Rover dispose en prime d'une diode RVB à l'avant gauche de sa face supérieure.
Contrairement à l'écran, on peut cette fois-ci l'éclairer directement dans la couleur détectée :
- Code: Select all
Send("SET RV.COLOR eval(R) eval(G) eval(B
Nul besoin de courir pile au-dessus du robot pour voir la couleur de la diode sans compter qu'elle va t'éblouir et que tu risques donc de n'y voir rien d'autre que du blanc.
Par contre la couronne circulaire blanche qui l'entoure prendra la couleur diffusée et sera à la différence visible même de biais sans générer le moindre inconfort.
La diode LED2 est certes partiellement masquée une fois l'interface insérée dans le robot, mais elle est quand même visible par derrière, et aurait donc pu être programmée par exemple en tant que feu de recul. C'est dommage.
Téléchargement : archives_voir.php?id=1380401