Lecture couleur avec TI-Innovator Rover, épisode 1
Posted: 05 Mar 2018, 21:21
Le TI-Innovator Rover, robot pilotable à partir d'une TI-83 Premium CE ou TI-Nspire CX munie d'une interface TI-Innovator Hub, dispose sur sa face inférieure d'un détecteur de couleur RVB (Rouge, Vert, Bleu - soit RGB en anglais).
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 :
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
Toutefois, si il s'agit d'utiliser la couleur détectée pour afficher sur l'écran, ce n'est pas chose aisée.
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 :
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é |
On peut résoudre le problème de l'affichage écran dans la couleur détectée de nombre de façons plus ou moins complexes.
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 :
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.
Précisons qu'une fois le TI-Innovator Rover connecté logiciellement, la diode RVB LED2 de l'interface TI-Innovator Rover n'est pas utilisable. Sans doute y a-t-il partage de quelques ressources.
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.
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