Pour terminer cet atelier sur la robotique (année scolaire 2000-2001), en s'inspirant d'un robot nettoyeur de piscine, les enfants ont été amenés à contruire sur la base déjà existante, un robot avec des pare-chocs sur le devant et sur l'arrière comme le montre la photo ci-dessous.
Les pare-chocs installés ont pour objectif de répondre à une fonction "touch" du programme RCX afin d'entamer une action précise réalisée par le robot seul.
Voici donc les détails des deux pare-chocs en position libérée et en position appuyée sur la capteur de pression
Ensuite les deux capteurs de pression sont reliés aux ports correspondant du RCX, comme le montrent les deux clichés suivants:
Une fois ce matériel monté et adapté au robot, la consigne concernant les actions à programmer en code RCX pour faire agir le robot a été la suivante:
Le robot posé dans une pièce carrée doit être capable de trouver seul la porte de sortie, quelque soit l'endroit où peut se trouver positionnée cette porte de sortie.

Les barres droites (avant et arrière) réagissent et induisent des actions sur le premier bloc de programmation "touch" (il est indiqué en effet le bouton 1, les ronds 2 et 3 restant colorés en blanc).
Les barres gauches (avant et arrière) réagissent et induisent des actions sur le second bloc de programmation "touch" (il est indiqué en effet le bouton 3, les ronds 1 et 2 restant colorés en blanc).
Pour permettre au robot de sortir de la pièce quand il se trouve en face de la sortie (il ne rencontre aucun obstacle alors et les contacts de pression ne rendent rien au RCX si ce n'est le "release" qui lui est intentionnellement vide) et d'arrêter son chemin, l'idée d'un capteur de lumière a été choisie. Raison pour laquelle le bloc "light" apparaît.
Pour que le robot utilise ce bloc "light" il suffit de placer une surface de couleur différente juste derrière la sortie de la pièce.
L'action dictée par la première partie du programme indique qu'une vitesse des moteurs a été choisie (lente pour épargner les pare-chocs un peu fragiles tout de même) et que ces moteurs sont actionnés. Aucune fonction d'arrêt n'apparait dans cette branche ainsi que dans les deux blocs "touch", les travaux réalisés auparavant ayant bien montré nettement que certaines actions (off en particuliers) interviennent sur les actions en cours sur d'autres parties du programme.
Le "Off" n'apparaît que sur le bloc "light" puisque le robot doit alors s'arrêter.
Le contenu des blocs jaunes "my commands", permet au robot de tourner sur lui-même après avoir fait une petite marche arrière. On remarquera que ce qui précède ce bloc "my command" est une marche arrière sur les deux moteurs reliés à A et C (roues gauches et droites respectivement) et qu'ensuite dans le bloc jaune seulement les moteurs reliés au port C inversent le sens de rotation, permettant ainsi au robot de tourner plus facilement et sur une plus courte distance (en fonction de ce que les enfants avaient découvert pour le concours robotique, à savoir, pour tourner plus facilement, le robot doit avoir les roues d'une côté qui tournent dans l'autre sens que celui des roues opposées)).
La fonction "reverse C", remettant le sens des 4 roues dans la même direction et permet au robot d'avancer à nouveau à la recherche d'un nouvel obstacle.
Dès que le robot ne touche plus le mur, les contacteurs sont relachés, le programme attaché au "press" se réalise en entier et le robot peut donc continuer sa recherche de la porte ouverte.

