Voila je souhaiter faire un robot a partir de l'arduino UNO r3 donc mon projet est bien avancer sauf qu'il me manque une partie du code qui me permettra de faire la différence entre la distance a gauche puis a droite (en prenant compte du servomoteur )
si quelqu'un pourrait m'aider svp
merci d'avance
Si personne ne répond c'est probablement parce qu'ils non pas la solution ou que ton problème est mal poser
Coco62131:
sauf qu'il me manque une partie du code qui me permettra de faire la différence entre la distance a gauche puis a droite (en prenant compte du servomoteur )
Je penche plus pour la deuxième raison cité plus haut, car cette différence te servira a faire quoi ?
J'ai lu ton code, et il y a des choses que je ne comprends pas trop (ex: scandroit = myServo = 180 && cm => je ne vois pas l'utilité).
Visiblement ton robot avance, et lorsqu'il détecte un obstacle à moins de 10cm, il s'arrête.
Vu le code, ton robot ne doit pas trop rouler droit. Je ne voit pas l'utilité de ton petit mode radar dans ton "If", car tu ne lance pas de mesure.
Voici quelques petits conseils pour faire évoluer ton projet, avec le peu d'information à notre disposition:
=> Tu devrais créer une fonction de mesure avec ton SRF04. Tu pourras ainsi l'appeler à chaque fois que tu auras besoin.
=> Tu devrais utiliser les PWM pour contrôler tes moteurs [analogWrite (pin, rapport-cyclique);]. Tu n'as pas de mesure sur tes vitesses de rotation donc tu ne pourras pas mettre en place d'asservissement, mais avec quelques tests tu pourras déterminer des valeurs de commande qui devraient faire avancer ton robot à peux près droit.
Si tu programmes une fonction de télémétrie, tu pourras charger tes mesures dans des variables en fonction de la position du servo. Et les comparer pour choisir une trajectoire.