|
Alut à tous,
Je suis en train de réaliser un MOC avec l'EV3 qui nécessite (selon mon CDC) la double utilisation du capteur Infra, dans un même programme mais pas avec sur la même ligne de départ : - récepteur de la télécommande pour faire tourner les moteurs. - capteur de proximité pour l'arrêt des moteurs. Le soucis que j'ai est que le récepteur ne réagi pas tjs à la télécommande et en mode proximité il a des hallucinations (il réagi même dirigé vers le vide). J'espère être asses clair. Si quelqu'un pouvait me dire si ce comportement est normal, à savoir on ne peut pas l'utiliser de deux façons différentes dans un même programme, ou bien y a t-il une astuce pour y remédier ? Je suppose que ce sera le même cas pour proximité/balise ou balise/télécommande. Merci pour vos réponses Ne pas prévoir, c'est déjà gémir. Léonard de Vinci
|
|
Pour la télécommande j'avais eu le même problème: lorsque je faisais certaines combinaisons avec la télécommande pour avancer, tourner à droite ou à gauche, eh bien, je ne pouvais pas en enchaîner 2 combinaisons identiques d'affiler (ex: avancer 1 sec. + avancer 1 sec. = impossible )
Après, pour la proximité, je n'ai pas encore essayé Voilà A+ K/AFOL un jour, K/AFOL toujours ! 2° de France en robotique !!
Ma collection Brickset - Ma chaîne Youtube - Mon site en construction |
|
Je pense que le souci que tu as est plus lié à la prog qu'au matériel, non ?
De mon côté, je parle bien d'un capteur utilisé pour 2 de ses compétences en même temps. Le prog est correct à ce niveau. Ne pas prévoir, c'est déjà gémir. Léonard de Vinci
|
|
Je remonte un peu ce post, j'ai moi même voulu programmer en utilisant le capteur infrarouge avec ses modes télécommande et capteur de proximité en parallèle (EV3STORM, l'objectif était d'éviter les murs, même avec un pilote en bas âge...) , le fonctionnement est très hasardeux : le robot réagit aux actions sur la télécommandes avec plus de latence, ce n'est plus utilisable, et le mode proximité renvoi des résultats très aléatoires, qui ne tiennent plus compte de la proximité réelle de quoi que ce soit.
Le programme est constitué d'une boucle infinie avec interrogation de la télécommande et réalisation de l'action correspondante, et d'une seconde boucle parallèle avec détection de proximité, qui stoppe les moteurs et fait faire un quart de tour sur lui même au robot. Du genre à avoir le dernier mot et a vouloir comprendre tout sur tout, j'ai donc creusé la question. En cherchant dans les différents documents lego, et notamment dans le 'hardware developper kit', ca semble logique et difficile à contourner : le capteur infrarouge en mode récepteur de télécommande est capable de renvoyer une info relative a ce qu'il reçois toutes les 200ms en moyenne. En mode proximité, il émet lui même un signal infrarouge et mesure la réflexion de celui ci pour déterminer sa proximité avec un objet, ce mode est capable de renvoyer un résultat toutes les 50ms. Le problème c'est qu'en mode proximité, il est perturbé par toute émission infrarouge, et notamment par celles de la télécommande, comme j'ai pu le vérifié en mode 'oscilloscope' via le logiciel version éducation. Ce point la se contourne facilement en faisant un programme qui moyenne plusieurs mesures successives, seulement pendant ce temps, le robot ne peut plus réagir aux demandes de la télécommande, vu que le capteur est occupé. Je ne m'avoue pas encore vaincu, mais pour que les deux modes puissent fonctionner en parallèle, il doit falloir réussir à caller des mesures de proximité pendant que le moteur fait l'action relative à l'état précédent de la télécommande, et avant nouvelle interrogation de la télécommande pour l'action suivante. mais j'ai peur d'avoir soit un manque de réactivité si je moyenne trop de mesures pendant la rotation des moteurs, ou un manque de fiabilité de l'info proximité si je ne fait que trois ou quatre mesures. Si quelqu'un a réussi...? je pense que l'utilisation d'un capteur ultrasons en parallèle au capteur infrarouge reste la plus simple des solution quand les deux besoins (télécommande + proximité) se cumulent. |
|
Eh ben chapeau pour ta réponse très précise !
Franchement, je ne serai pas allé jusque là ! Nous savons donc là qu'il semblerait que ce soit possible mais alors.... Mon simulateur de ski étant démonté, snif, encore plus sans faire les plans..., je ne pense pas qu'avec ta réponse j'aurais poussé le bouchon à ce point. Je trouve que ce point est dommage pour l'EV3 car il bloque des possibilités. Encore Ne pas prévoir, c'est déjà gémir. Léonard de Vinci
|
|
Ca dépend pour quelles fonctions : pour deux télécommandes, surement, un en télécommande, un en proximité, surement, bien que les perturbations liées aux émissions infrarouges seront les mêmes, on gagnerais l'avantage de ne pas interroger le même pour deux modes différents dans le même programme.
Ceci dit, le capteur infrarouge en mode proximité est très imprécis, en réalité, il agit comme un capteur de réflexion vis a vis des infrarouge, ce qui donne une imprécision énorme quand a sont utilisation en capteur de proximité. Le capteur ultrason reste la meilleure solution. Je n'abandonne cependant pas, j'ai pondu un programme avec interrogation du capteur en proximité pendant que les moteurs tournent, reste à voir s'il fonctionne... |
|
Le mieux reste de se procurer un capteur ultrason, beaucoup plus précis et allant jusqu’à 2.5m, il est disponible sur le shop lego.
|
Retourner vers De la théorie à la pratique
Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités