Voici un sujet intéressant qui se développe, je n'ai pas trop le temps en ce moment mais voici quelques idées en vrac :
La télécommande NXT est intelligente, aussi pour piloter un robot à conduite différentielle il est possible d'avoir une commande avec un "manche" de gaz et un manche de direction (ou un joystick). Le programme calculera alors la répartition de puissance entre les moteurs.
Le 'retour de force' de Semtou est très intéressant, je voulais le faire depuis un moment mais j'ai commencé par régler les problèmes de Bluetooth. Dans le cas d'un NXT robot et un NXT télécommande on peut imaginer que la commande devient plus sure si le robot rencontre un obstacle.
Avec un NXT comme télécommande on peut commander un paquet de moteurs. si un IR link utilise un port moteur, il reste deux commandes proportionnelles pour 2 moteurs et 4 entrées 'capteur de contact' pour choisir le canal par exemple.
Avec 3 entrées capteur de contact on peut imaginer une roue codeuse à 8 positions (000, 001, ... 111), le 4éme capteur servant à valider, puis les 2 moteurs à actionner.
Les entrées avec des capteurs de lumière peuvent servir de voyants, je pense que l'écran du NXT est à proscrire car trop peu lisible. Le son peut aussi servir de retour d'information.
Avec notre télécommande intelligente, on peut déclencher une action par une impulsion (par exemple activer un compresseur pendant une minute) et continuer à utiliser la télécommande pour d'autres fonctions pendant ce temps. Cela implique une programmation multi-thread (ah le gros mot, j'explique un peu) :
Je ne crois pas que Roboléo ait expliqué ce fonctionnement* : Le multi-thread c'est du multi-tâche dans le même programme.
Votre ordinateur peut faire 2 choses à la fois : recevoir un e-mail et saisir un texte dans word.
Un même programme peut faire 2 choses à la fois : recevoir un e-mail et en écrire un.
Dans le NXT-G il est possible d'ouvrir plusieurs suites de blocs en parallèles, qui vont se dérouler en même temps. Une suite de blocs attend qu'un capteur soit appuyé, il déclenche le moteur, attend 60 secondes puis arrête le moteur et revient à son état initial (attente du capteur). Une autre suite de bloc envoie en boucle les valeurs des commandes aux moteurs. ...
*mais il y a quand même ce bout de programme qui l'utilise pour illustrer :
