Bonjour
Je suis nouveau sur le forum. Je voulais faire un bateau autonome ( pour une piscine) pour ma fille et j'ai trouvé un article avec ce code. Si j'ai bien compris, le bateau avance seul, s'il détecte un objet il recule et repart.
Il tourne grâce à 2 moteurs sans gouvernail.
Par contre, peut-on me dire s'il se déplace toujours en ligne droite ou bien s'il se déplace aléatoirement ?
Code trouvé ici
Ceci pour la maquette de base
Voir le premier code dans la suite du post
''Bateau autonome Coller aux parois d'une piscine 2/2''
Avec ce que j'ai compris, j'ai ajouté une pompe à eau pour faire comme les bateaux pompiers.
Voir le deuxième code dans la suite du post
''Bateau autonome Coller aux parois d'une piscine 2/2''
En faisant ''Croquis/ Vérifier compiler'' sur la console, je n'ai pas eu d'erreur.
Ma question est la suivante
Tel que, le code a une seule fonction qui fait que le bateau avance et dès qu'il rencontre un obstacle, détecté par les ultra-sons, à 15 cm, il recule et repart ( aléatoirement ou en ligne droite ?)
Donc détection ultrason, bateau avance ou recule
Je voudrais ajouter une deuxième ''fonction'' qui plaque le bateau sur un coté.
Un détecteur sur le coté droit du bateau détecte le contact avec la parois et déclenche le moteur gauche pour plaquer le bateau sur la parois droite.
Donc contact droit et pas de détection ultrason, moteur gauche
Quand le bateau arrive dans un angle à gauche, le bateau tourne à gauche (moteur droit en fonction)
jusqu'à ce que le détecteur ultrason ne renvoie pas de signal
Donc contact droit ET détection ultrason à 5 cm , moteur droit
Puis quand le détecteur ultrason ne renvoie pas de signal, le bateau se recolle à la parois de droite.
Idem sur le coté gauche du bateau et même logique
Voir l'image ci-dessous
Je ne sais pas comment faire pour associer 2 conditions :
contact ET ultrason, plaquage aux parois de la piscine
contact SANS ultrason, déplacement aléatoire dans la piscine
Passer d'une fonction à l'autre
Comment modifier le code pour qu'il fasse ceci :
La première fonction est lancée , au bout de X minutes, à la fin détection par les ultra-sons d'une parois alors le bateau tourne pour venir se plaquer sur la parois de la piscine (aléatoirement la parois de droite ou de gauche).
Ensuite la deuxième fonction est déclenchée pendant Y minutes.
Puis la première fonction repart
Puis la seconde, etc... Le bateau se plaque une fois sur 2 à droite puis à gauche
Je cherche juste à faire ce programme pour le mettre sur un Arduino et donner à ma fille ce dernier tout prêt pour qu'elle puisse faire la maquette de bateau
Merci de votre aide

afin de bien voir ce que ton code doit faire et sous quelles conditions. Ensuite, tu pourras le coder plus facilement, voire même l'écrire comme une machine d'états, ce qui te donnera un code très propre et très lisible, voire même très facile à modifier (pour ajouter des fonctionnalités).

