programmation robot nettoyeur de toit

bonjour, je suis actuellement en terminale scientifique et je prépare un projet en science de l’ingénieur. Je suis actuellement en train de faire la programmation du robot que nous avons a préparer avec une carte arduino . Mon projet consiste en un robot nettoyeur de toit autonome, il suit le faitage du toit et déploie des bras qui projettent un produit sur le toit.

J’ai donc besoin de votre aide pour la programmation n’étant pas très a l’aise avec arduino. Je suis en train de faire la programmation pour la partie déplacement du robot. J’ai donc fait un algorigramme expliquant grossièrement le fonctionnement du système que j’ai attaché au post.

Le robot fonctionne donc ainsi :
On appuie sur un interrupteur (capteur TOR) pour mettre le système en marche.
Le système est munie d’un capteur a effet hall qui permet de calculer la distance que le robot aura parcouru ainsi qu’un autre interrupteur (capteur TOR aussi) monté avec une roue jockey qui permettra de détecter la fin du toit (la roue jockey tombe dans le vide et appuie sur le bouton).
Donc le robot parcours le toit et projette le produit jusqu’a ce que le réservoir contenant le produit soit vide.
Dans ce cas le robot s’arrête et ne projette plus de produit, puis fait demi-tour jusqu’au début du toit (grâce au capteur à effet hall) afin de remplir le réservoir et reviens à sa dernière position (encore grâce au capteur à effet hall) pour reprendre la projection.
Le robot répète ce processus jusqu’à ce que le robot arrive au bout du toit (la roue jockey tombe dans le vide comme expliqué précédemment) et reviens au bout du toit.
Le robot ne bouge pas et fonctionne jusqu’à ce qu’on l’éteigne au moyen de l’interrupteur qui met en marche le système.

j’ai donc déjà écrit l’initialisation du capteur a effet hall et des deux interrupteurs mais je ne sais pas exactement comment poursuivre et écrire le début du programme.

voilà désolé pour le pavé et je vous remercie d’avance pour l’aide

bonjour, projet sympa, mais tu te complique la vie et vas dans le mur avec ta roue jockey à mon avis. si la roue jockey reste bloquée, tu fais comment? j'aurais mis un détecteur IR style HC-SR04 sur la roue jockey. si la distance varie de X cm en plus,le robot s'arrête de lui même.

autre chose, pourquoi faire demi tour? pourquoi ne pas faire marche arrière simplement, ca évite le patinage des roues et la perte de donnée distance. le demi tour peut provoquer le basculement du robot aussi, faut le prendre en compte et il va passer sur le produit. un autre capteur à l'arrière avec une diode émettrice, une réceptrice sur le robot. plus l'intensité est grande plus tu es proche, au delà d'un seuil, tu est arrivé et le robot s'arrête.

si ton robot patine sur le toit, tu perds tout en distance avec ton système, surtout si le toit est glissant.

autre solution, le robot déroule un ruban quand il avance et au retour avec un suiveur de ligne peut se guider tout seul. ;)

je me suis mal exprimé désolé, mon robot ne fait pas demi-tour mais revient en marche arrière et donc le capteur décrémente jusqu’à la position de départ ;) et pour la roue jockey j'avais pensé a mettre une roue juste derrière de façon a ne pas la bloqué lorsque le robot arrive au bout du toit et revient en marche arrière :) malheureusement maintenant il est trop tard pour commander de nouvelles pièces électroniques je dois faire mon système comme je l'ai expliqué précédemment mais je te remercie néanmoins des conseils que tu m'a apporté ;)

Quelques remarques sur l'algorigramme:

  • tu mets en marches avant de tester la roue jockey, ce n'est pas sûr.
  • tant que le réservoir n'est pas vide tu boucles sans tester la roue jockey. Que ce passe-t-il si tu arrives au bout du toit avant de vider le réservoir?
  • il y a des incohérences, on voit apparaitre d et C dans certaines étapes mais on ne voit pas d'où elles sortent. Si ces variables sont importantes elles devraient apparaitre ailleurs

Un algorigramme doit refléter le comportement attendu et envisager toutes les situations que le système peut rencontrer. S'il est clair et précis ton programme sera bon tout de suite (ou au moins rapidement) du point de vue du comportement.

+1