Capteur IR Tsop 382 (Projet)

Bien le bonjour,

Je suis actuellement en train de faire un projet de robot mini-golfeur et mon groupe et moi-même aurions une petite question à poser car nous utilisons un arduino UNO r2 afin de contrôler un robot (Processeur Cyclone).

Le but du projet est de faire parcourir le robot dans un petit labyrinthe de façon autonome jusqu'à ce qu'il trouve le trou pour la balle.
Nous utilisons le matériel suivant :
2 Ultrasons (un à l'avant du robot et le 2ème à droite afin de détecter les murs) HC-SR04
1 capteur couleur (Color Light Sensor Evaluation Board) pour indiquer au robot quand il trouve le trou
1 IR TSOP 382 pour détecter si il a la balle.

Tous ces capteurs nous enverrais des données par la suite à analyser sur MatLab.

La question que l'on se pose après quelques temps de recherche est : est-ce que le IR TSOP est-il bien adapté pour notre projet. Nous avons trouver quelques librairies mais seulement à faire fonctionner avec un Remote. Nous voulions utiliser le IR TSOP afin de détecter la couleur de la balle (jaune) et de dire au robot qu'il avait bien la balle afin de lancer un chronomètre.

Auriez-vous quelques idées qui pourraient éclairer notre chemin ?

Je vous en remercie d'avance.

Le TSOP 382 est un récepteur infrarouge pour télécommande. Il ne remplit pas la fonction souhaitée.
Par contre vous utilisez un capteur de couleur pour trouver le trou pourquoi ne pas utiliser un second capteur de ce type pour détecter la présence de la balle? En plus cela ferait une librairie de moins à gérer.

C'est bien ce que l'on pensait mais on espérait quand même en faire quelque chose.

Malheureusement, le capteur de couleur que l'on utilise ne fonctionne qu'avec bleu, vert, rouge.

Avez-vous un autre capteur qui pourrait nous aider à détecter la présence de la balle ?

Bonjour
Si il détecte des valeurs de bleu et de vert, il détecte du jaune, composé de vert et de bleu. Il faudrait faire des essais pour voir les valeurs correspondantes.
A+

Isalinde:
Malheureusement, le capteur de couleur que l'on utilise ne fonctionne qu'avec bleu, vert, rouge.

Rouge, vert et bleu ce sont des couleurs primaires.
On peut faire (théoriquement) toutes les couleurs à partir de ces 3 composantes.

Euh, petit rectification, normalement les couleurs primaires sont rouge, jaune et bleu (en tout cas en art), ce dont tu parles fdufnews sont les couleurs en synthèse que l'on utilise pour les imprimantes et le numérique. (petite parenthèse de culture générale fermée ^^')

Le capteur de couleur est plat et n'est pas utilisable car la balle va bouger. Il ne la détectera pas à chaque coup. De plus, pour pouvoir capter le jaune, il faut qu'on trouve une certaine tolérance de toutes les couleurs, ce qui nous rajoute beaucoup de travail pour pouvoir définir la couleur jaune de la balle et de ne pas interférer avec les autres jaunes aux alentours.

N'y aurait-il pas un autre capteur un peu plus simple pour cela ?

Isalinde:
Le capteur de couleur est plat et n'est pas utilisable car la balle va bouger. Il ne la détectera pas à chaque coup. De plus, pour pouvoir capter le jaune, il faut qu'on trouve une certaine tolérance de toutes les couleurs, ce qui nous rajoute beaucoup de travail pour pouvoir définir la couleur jaune de la balle et de ne pas interférer avec les autres jaunes aux alentours.

En fait il y a une chose que je n'ai pas très bien comprise : est-ce qu'il y a plusieurs balles disponibles et que le robot doit absolument en trouver une qui est jaune, ou bien il n'y a qu'une seule balle (auquel cas sa couleur n'a que peu d'importance) ?

De même, afin de déterminer plus précisément quel est le (ou les) capteur le plus adapté à la tâche, il faudrait savoir ce que votre robot fait avec cette balle : est-ce que par exemple il la prend pour la mettre dans un panier, ou bien se contente-t-il de la pousser devant lui ?

Isalinde:
1 capteur couleur (Color Light Sensor Evaluation Board) pour indiquer au robot quand il trouve le trou

Tu n'as pas donné de modèle pour ce capteur donc c'est difficile à dire, mais je doute qu'un capteur de couleur soit le plus indiqué pour ça. La très grande majorité de ceux-ci fonctionnent en contact ou quasi-contact avec l'objet de la mesure. Si ce n'est pas le cas ce qu'ils renvoient correspond à la couleur de la lumière ambiante... Il y a peut-être moyen de s'en sortir en travaillant sur la luminosité reçu, mais ça me parait limite.

Un capteur de proximité infrarouge à faible portée serait sans doute plus pratique.

Il faudrait aussi déterminer si le robot ne peut arriver sur le trou que « par l'avant » ou si il peut être décalé sur un côté, ce qui obligerait à mettre plusieurs capteurs, histoire de limiter le risque de louper le trou, ou pire qu'une des roues ne tombe dedans...

Isalinde:
2 Ultrasons (un à l'avant du robot et le 2ème à droite afin de détecter les murs) HC-SR04

Pourquoi seulement devant et à droite, y'a rien à gauche ? :slight_smile:

haifger:

Isalinde:
Le capteur de couleur est plat et n'est pas utilisable car la balle va bouger. Il ne la détectera pas à chaque coup. De plus, pour pouvoir capter le jaune, il faut qu'on trouve une certaine tolérance de toutes les couleurs, ce qui nous rajoute beaucoup de travail pour pouvoir définir la couleur jaune de la balle et de ne pas interférer avec les autres jaunes aux alentours.

En fait il y a une chose que je n'ai pas très bien comprise : est-ce qu'il y a plusieurs balles disponibles et que le robot doit absolument en trouver une qui est jaune, ou bien il n'y a qu'une seule balle (auquel cas sa couleur n'a que peu d'importance) ?

En fait il n'y a qu'une seule balle disponible et de couleur jaune. C'est la seule qu'on a à disposition, donc on doit faire avec. Donc sur le coup, la couleur de la balle a bien aucune importance. On utilise juste le capteur couleur pour prévenir le robot qu'il est au trou et qu'il s'arrête (une sorte de fonction stop : si le robot à la balle et est au trou -> alors il s'arrête)

haifger:
De même, afin de déterminer plus précisément quel est le (ou les) capteur le plus adapté à la tâche, il faudrait savoir ce que votre robot fait avec cette balle : est-ce que par exemple il la prend pour la mettre dans un panier, ou bien se contente-t-il de la pousser devant lui ?

Isalinde:
1 capteur couleur (Color Light Sensor Evaluation Board) pour indiquer au robot quand il trouve le trou

Tu n'as pas donné de modèle pour ce capteur donc c'est difficile à dire, mais je doute qu'un capteur de couleur soit le plus indiqué pour ça. La très grande majorité de ceux-ci fonctionnent en contact ou quasi-contact avec l'objet de la mesure. Si ce n'est pas le cas ce qu'ils renvoient correspond à la couleur de la lumière ambiante... Il y a peut-être moyen de s'en sortir en travaillant sur la luminosité reçu, mais ça me parait limite.

Ce capteur se trouve simplement sur le côté du robot. On a réussi à le faire correctement fonctionner dès qu'il détecte du rouge. Sur le coup, on a plus trop envie de changer (il nous reste 2 semaines pour finir le projet maintenant)

haifger:
Un capteur de proximité infrarouge à faible portée serait sans doute plus pratique.

Il faudrait aussi déterminer si le robot ne peut arriver sur le trou que « par l'avant » ou si il peut être décalé sur un côté, ce qui obligerait à mettre plusieurs capteurs, histoire de limiter le risque de louper le trou, ou pire qu'une des roues ne tombe dedans...

Il ne peut que par l'avant. Le trou a été fait pour se trouver en haut à droite d'une table faite pour un labyrinthe. Il n'y a pas assez de place pour que la roue tombe dedans en fait, le robot étant assez gros et prennant une bonne largeur d'un couloir du labyrinthe.

haifger:

Isalinde:
2 Ultrasons (un à l'avant du robot et le 2ème à droite afin de détecter les murs) HC-SR04

Pourquoi seulement devant et à droite, y'a rien à gauche ? :slight_smile:

En faisant une petite table de Karnaugh, on a remarqué que c'était redondant dès qu'il y avait un capteur sur chaque roue, et donc peu importe s'il y avait un mur à gauche, le robot suivra toujours celui de droite (solution facile certes, mais faire un robot autonome en 3 semaines, on va pas se creuser la tête pour qu'il analyse tout sur le moment, sinon ça nous rajoute trop de travail d'un coup)

Exemple :

A = Capteur Gauche
B = Capteur Droit
C = Capteur Avant ---> avec le principe que le robot suit le mur de droite

00 = avancer
01 = avancer et tourner droite
10 = tourne sur soi-même

A B C l l S1 S2
0 0 0 l l 0 1
0 0 1 l l 0 1
0 1 0 l l 0 0
0 1 1 l l 1 0
1 0 0 l l 0 1
1 0 1 l l 0 1
1 1 0 l l 0 0
1 1 1 l l 1 0

Si on fait notre simplification :

S1 = ¬ABC + ABC = BC (A + ¬A) = BC * 1 = B*C

S2 = ¬A¬B (¬C + C) + A¬B (¬C + C)
= ¬A¬B1 + A¬B1 = ¬A¬B + A¬B = ¬B* (¬A + A) = ¬B * 1 = ¬B

On voit bien que A ne sert ni dans S1, ni dans S2 --> il n'est dont pas indispensable.

Bonjour,

Je remonte le sujet simplement pour dire que notre problème a été résolu en changeant de capteur IR avec un capteur IR de distance.

Nous avons juste des soucis avec les ultrasons maintenant, mais on devrait s'en sortir comme des grandes.Merci pour toutes les personnes qui ont répondu au sujet.