Plateforme-PAPM-Code
Principe marche avant/arrière
Ce servo tourne constamment dans un sens ou dans l'autre à la place de se placer à un angle donné. Il est utilisé pour réaliser vos propres plateformes mobiles et petits robots "simple".
Vous pouvez utiliser vos codes, matériels ou librairies "servo" habituels pour contrôler ces servos.
- La position "0°" (impulsion de 1.5ms) correspond à l'arrêt,
Exécutez la ligne suivante sur Arduino: myservo.write(90); - La position "90°" (impulsion 2ms) correspond à la marche avant, plein régime,
Exécutez la ligne suivante sur Arduino: myservo.write(180); - La position "-90°" (impulsion 1ms) correspond à la marche arrière, plein régime.
Exécutez la ligne suivante sur Arduino: myservo.write(0);
Calibration
Les servos à rotation continue nécessiter une petite phase de calibration simple à réaliser (voir plus bas).
Cette phase de calibration permet de régler "la position d'arrêt" pour que le moteur ne tourne plus lorsque l'arrêt est demandé.
Envoyez l'instruction d'arrêt au servo et ajustez ensuite le potentiomètre (accessible dans le petit trou sur le côté) à l'aide d'un tournevis jusqu'au moment ou le servo moteur arrête de tourner et que la roue reste immobile
// --- Ma planche a pain mobile -------------------------------- // // Un servo normal se positionne sur un angle donné en fonction. // Un servo a rotation continue est modifié pour tourner plus ou moins vite // en fonction de l'instruction envoyée. // Un servo à rotation continue permet de créer facilement de petits robot mobiles // // Un projet www.mchobby.be (vente de kit et composant) // Meurisse D. - Licence CC-SA-BY // // http://mchobby.be/wiki/index.php?title=Plateforme-PAPM // #include <Servo.h> // creer des objets Servo pour le controle de Servo à Rotation // continue Servo servoGauche; // sur broche 9 Servo servoDroit; // sur broche 10 void setup() { servoGauche.attach(9); // attacher le servo gauche sur la pin 9 servoDroit.attach(10); // attacher le servo droit sur la pin 10 // arret servoGauche.write(90); servoDroit.write(90); } void loop() { // Calibrez vos servos moteurs pour qu'ils restent à l'arret }
Marche Avant
Les servos sont placez tête-bêche. Cela signifie que pour effectuer une marche avant, l'un des moteur doit fonctionner dans le sens avant... et l'autre dans le sens opposer.
- Le servo droit reçoit la commande -90° par l'instruction servoDroit.write( 0 )
- Le servo gauche reçoit la commande +90° par l'instruction servoGauche.write( 180 )
Voici un exemple pratique de mise en oeuvre
// --- Ma planche a pain mobile -------------------------------- // // Un servo normal se positionne sur un angle donné en fonction. // Un servo a rotation continue est modifié pour tourner plus ou moins vite // en fonction de l'instruction envoyée. // Un servo à rotation continue permet de créer facilement de petits robot mobiles // // Un projet www.mchobby.be (vente de kit et composant) // Meurisse D. - Licence CC-SA-BY // // http://mchobby.be/wiki/index.php?title=Plateforme-PAPM // #include <Servo.h> // creer des objets Servo pour le controle de Servo à Rotation // continue Servo servoGauche; // sur broche 9 Servo servoDroit; // sur broche 10 void setup() { servoGauche.attach(9); // attacher le servo gauche sur la pin 9 servoDroit.attach(10); // attacher le servo droit sur la pin 10 // arret servoGauche.write(90); servoDroit.write(90); } void loop() { // SI VOS MOTEUR ONT ETE CALIBRES A L ARRET... // --- Test de la "Marche avant" --- // Si le mobile recule.... c'est que les deux servo sont montés // dans le "mauvais sens". Le plus simple c'est encore d'inverser // les raccordements des servos sur les broches 9 et 10. servoDroit.write( 0 ); servoGauche.write( 180 ); // attendre 5 secondes delay( 5000 ); // Arret servoDroit.write( 90 ); servoGauche.write( 90 ); // arreter le programme while( true ); }
Exemple plus complet
Avancer tourner, reculer, ... voici un exemple un peu plus étendu.
// --- Ma planche a pain mobile -------------------------------- // // Un servo normal se positionne sur un angle donné en fonction. // Un servo a rotation continue est modifié pour tourner plus ou moins vite // en fonction de l'instruction envoyée. // Un servo à rotation continue permet de créer facilement de petits robot mobiles // // Un projet www.mchobby.be (vente de kit et composant) // Meurisse D. - Licence CC-SA-BY // // http://mchobby.be/wiki/index.php?title=Plateforme-PAPM // #include <Servo.h> // creer des objets Servo pour le controle de Servo à Rotation // continue Servo servoGauche; // sur broche 9 Servo servoDroit; // sur broche 10 void setup() { servoGauche.attach(9); // attacher le servo gauche sur la pin 9 servoDroit.attach(10); // attacher le servo droit sur la pin 10 // arret servoGauche.write(90); servoDroit.write(90); } void loop() { // SI VOS MOTEUR ONT ETE CALIBRES A L ARRET... // --- Test de la "Marche avant" --- // Si le mobile recule.... c'est que les deux servo sont montés // dans le "mauvais sens". Le plus simple c'est encore d'inverser // les raccordements des servos sur les broches 9 et 10. servoDroit.write( 0 ); // avant servoGauche.write( 180 );// avant // attendre 5 secondes delay( 5000 ); // Tourner à gauche servoDroit.write( 0 ); // avant servoGauche.write( 0 ); // arriere delay( 2000 ); // Marche Avant servoDroit.write( 0 ); servoGauche.write( 180 ); // attendre 5 secondes delay( 5000 ); // Tourner à droite servoDroit.write( 180 ); // arriere servoGauche.write( 180 );// avant delay( 3000 ); // Marche Arrière servoDroit.write( 180 ); // arriere servoGauche.write( 0 ); // arriere delay( 5000 ); // Arret servoDroit.write( 90 ); servoGauche.write( 90 ); // arreter le programme while( true ); }
Exemple en Vidéo
{{#Widget:Iframe |url=http://www.youtube.com/embed/3liKe_dBTI8 |width=420 |height=315 |border=0 }}
Projet réalisé par Meurisse D. pour MCHobby.be
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.