Page 1 of 1

Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 05 Mar 2018, 21:21
by critor
92989299Le 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. :bj:

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 :

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é

9300On 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 : :bj:
Code: Select all
{ROUGE,VERT,BLEU,BLEU CLR,MAGENTA,JAUNE,NOIR,BLANC,GRIS
Rep(C


93019299
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. :bj:

7313Pré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. :(

Téléchargement : archives_voir.php?id=1380401

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 11:46
by puppy65
Ca alors... Le TI-Basic de la TI-83 Premium CE comprend encore Send() et Get()... :p

critor wrote:Le TI-Basic est limité à une palette de 15 couleurs et n'a donc que faire des composantes rouge-vert-bleu.


C'est vrai mais il me semble que les images Pic utilisables en TI-Basic peuvent contenir plus de 15 couleurs, non ?

Enfin je pense que pour passer du TI-Innovator au C (pour les couleurs) il suffit juste d'être un peu bon en maths :)

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 11:53
by critor
puppy65 wrote:Ca alors... Le TI-Basic de la TI-83 Premium CE comprend encore Send() et Get()... :p

critor wrote:Le TI-Basic est limité à une palette de 15 couleurs et n'a donc que faire des composantes rouge-vert-bleu.


C'est vrai mais il me semble que les images Pic utilisables en TI-Basic peuvent contenir plus de 15 couleurs, non ?


Euh, non.
Peut-être confonds-tu les variables Pic et Image.

Mais dans tous les cas je ne vois pas ce que cela changerait, vu que tu ne disposes que d'une seule instruction sans aucun paramètre pour l'affichage des variables Pic et Image, et qu'en plus tu es limité à 10 variables de chaque type.

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 12:10
by puppy65
Ah oui sur la TI-83PCE il y a aussi les fonds d'écran, j'avais oublié :)

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 16:09
by Wistaro
Intéressant.
Je serais curieux de voir quel capteur est implémenté pour la détection des couleurs.
Y'a-a-til les schémas/nomenclature quelque part? :p

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 16:21
by critor

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 16:35
by randlog
Excuses moi c'est pas grand chose mais là, "Précisons qu'une fois le TI-Innovator Rover connecté logiciellement, la diode RVB LED2 de l'interface TI-Innovator Rover. Sans doute y a-t-il partage de quelques ressources."
Il ne manquerait pas quelques mots ? ;)

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 16:50
by critor
J'ai corrigé. Et la question n'est pas de t'excuser, bien au contraire merci à toi. :)

Re: Lecture couleur avec TI-Innovator Rover, épisode 1

Unread postPosted: 06 Mar 2018, 18:26
by Wistaro
critor wrote:Tu l'as sur la photo, TCS34725 :
9298
https://cdn-shop.adafruit.com/datasheets/TCS34725.pdf


Ah, merci.

D'après la doc, c'est un composant qui utilise le principe du filtre IR sélectif pour déterminer la couleur, couplé à un comparateur.

https://en.m.wikipedia.org/wiki/Infrared_cut-off_filter

Je connaissais pas du tout :)