π
<-
Chat plein-écran
[^]

Lecture couleur avec TI-Innovator Rover, épisode 2

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Lecture couleur avec TI-Innovator Rover, épisode 2

Message non lude critor » 07 Mar 2018, 22:57

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: Tout sélectionner
Send("CONNECT RV
[...]
Send("READ RV.COLORINPUT.RED
Get(R
Send("READ RV.COLORINPUT.GREEN
Get(V
Send("READ RV.COLORINPUT.BLUE
Get(B
Send("READ RV.COLORINPUT.GRAY
Get(G
Send("READ RV.COLORINPUT
Get(C


Le robot étant commun aux
TI-Nspire CX
et
TI-83 Premium CE
, il n'est pas surprenant de constater que cette dernière commande ne renvoie pas des codes couleurs directement compréhensibles par la
TI-83 Premium CE
.
Toutefois, nous avons vu dans l'épisode précédent comment convertir ces codes en seulement 2 lignes :
Code: Tout sélectionner
{ROUGE,VERT,BLEU,BLEU CLR,MAGENTA,JAUNE,NOIR,BLANC,GRIS
Rep(C

Toutefois, on peut regretter que le robot ne reconnaisse via l'instruction READ RV.COLORINPUT que 9 couleurs différentes contre 15 couleurs gérées par la calculatrice :

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é

9322Par exemple, le robot ne reconnaît que deux teintes de bleu
(cyan et bleu)
, alors que la calculatrice est capable d'en afficher trois différentes
(bleu clair, bleu et bleu marine)
. Nous avons déjà associé le bleu clair au cyan dans l'épisode précédent. Mais il reste donc une teinte de bleue inutilisée.
On peut résoudre cela facilement avec une procédure complémentaire spécifique au cas où le robot détecte du bleu.
En ouvrant une capture d'écran avec un logiciel de dessin, on peut récupérer les coordonnées RVB et donc les quantités de bleu correspondant aux teintes de la calculatrice :
10:
000 000 255
(BLEU)

17:
000 000 132
(BLEU MRN)

18:
000 146 255
(BLEU CLR)

Dans le cas où le robot nous retourne du bleu, il nous suffit donc d'utiliser l'instruction READ RV.COLORINPUT.BLUE et de regarder de quelle valeur on est le plus proche :
Code: Tout sélectionner
If Rep=BLEU
Then
Send("READ RV.COLORINPUT.BLEU
Get(B
BLEU+7(B<.5(255+132
End

Et voilà, le robot détecte maintenant correctement les différentes teintes de bleu ! :bj:

9323Pire, le robot ne reconnaît qu'une seule teinte de gris, alors que la calculatrice est capable d'en afficher quatre différentes
(gris clair, gris moyen, gris et gris foncé)
. Nous avons déjà associé le bleu clair au cyan dans l'épisode précédent. Il reste donc trois teintes de gris inutilisées.
De même récupérons les niveaux de gris de la calculatrice à l'aide d'un logiciel de dessin :
21: 228
(GRIS CLR)

22: 196
(GRIS MOY)

23: 139
(GRIS)

24: 84
(GRIS FON)


Là avec 4 valeurs, il est plus compliqué de déterminer la plus proche. Mais grâce aux instructions gérant les listes, on va quand même te faire le coup d'y arriver sans utiliser la moindre boucle :
Code: Tout sélectionner
If Rep=GRIS
Then
Send("READ RV.COLORINPUT.GRAY
Get(G
{228,196,139,84→⌊T
abs(G-⌊T→⌊T
min(⌊T
BLANC+Σ(I(⌊T(I)=Rep),I,1,dim(⌊T
End

Et voilà, le robot détecte maintenant correctement les différentes teintes de gris ! :bj:

Nous sommes donc maintenant capables de détecter et afficher non plus 9, mais 13 couleurs différentes. :bj:
Mais nous n'atteignons donc pas encore les 15 couleurs affichables par la calculatrice. A suivre... ;)

Téléchargement
:
archives_voir.php?id=1380401
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 70%
 
Messages: 29509
Images: 6905
Inscription: 25 Oct 2008, 00:00
Localisation: Aix-Marseille
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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

Message non lude Zezombye » 08 Mar 2018, 14:51

On ne pourrait pas convertir en couleur TI-basic à partir des valeurs RGB directement ?
Avatar de l’utilisateur
ZezombyePremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 35.9%
 
Messages: 61
Inscription: 30 Sep 2016, 15:14
Genre: Non spécifié

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

Message non lude critor » 08 Mar 2018, 14:59

Bien pensé, c'est ce qui est en préparation pour gérer les couleurs manquantes, oui. :bj:

Mais j'ignore si ce sera pertinent pour des séries d'acquisitions en temps réel
(lire les couleurs tout en roulant par exemple)
.
Donc les astuces de code de l'article ne seraient pas forcément à jeter, ça dépendra du projet.
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 70%
 
Messages: 29509
Images: 6905
Inscription: 25 Oct 2008, 00:00
Localisation: Aix-Marseille
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti


Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Etherial et 4 invités

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
1557 utilisateurs:
>1357 invités
>195 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)