Bonjour à tous,
je dispose de ce code et j'aimerais savoir comment faire pour que la position initiale des servomoteurs soit de 90°, (sans que ce soit la position minimale ni maximale car le servomoteur doit pouvoir s'incliner à 30° ou 160 par exemple).
#include <Servo.h> // librairie arduino pour servomoteur
const int POS_MIN=550; // mise a zero pour le servomoteur 1 position minimale
const int POS_MAX=2330; // position maximale servomoteur 1
const int POS_MIN_2=550; // mise a zero pour le servomoteur 2 position minimale
const int POS_MAX_2=2330; // position maximale servomoteur 2
int angle_servo=0; //angle pour position minimale 1
int angle_servo_2=0; //angle pour position minimale 2
const int broche_servo=3; //broche selon branchement (3)pour le servo 1
const int Voie_0_2=0; //constante pour passage en analogique servo 1
const int broche_servo_2=5; //broche selon branchement (5)pour le servo 2
const int Voie_0_2=0; //constante pour passage en analogique servo 2
int mesure_brute=0;// résultat brut servo 1
float mesuref=0.0;// résultat décimal servo 1
int mesure_brute_2=0;// résultat brut servo 2
float mesuref_2=0.0;// résultat décimal servo 2
Servo mon_servo; // pour le control du servomoteur 1
Servo mon_servo_2; // pour le control du servomoteur 2
void setup() { // debut de la fonction setup()
mon_servo.attach(broche_servo, POS_MIN, POS_MAX); // broche commande servo 1
mon_servo_2.attach(broche_servo_2, POS_MIN_2, POS_MAX_2); // broche commande servo 2
pinMode(broche_servo, OUTPUT); //met la broche en sortie pour le servo 1
pinMode(broche_servo_2, OUTPUT); //met la broche en sortie pour le servo 2
}
void loop(){ // fonction loop() sans fin
// acquisition conversion analogique numérique
//sur broche analogique indiquée - résultat 10bits (0-1023)
mesure_brute=analogRead(Voie_0); // pour le servo 1
mesure_brute_2=analogRead(Voie_0_2); // pour le servo 2
angle_servo=map(mesure_brute,0,1023,0,180); // conversion en angle ° pour le servo 1
angle_servo_2=map(mesure_brute_2,0,1023,0,180); // conversion en angle ° pour le servo 2
mon_servo.write(angle_servo); // positionne le servo à l'angle voulu pour le servo 1
mon_servo_2.write(angle_servo_2); // positionne le servo à l'angle voulu pour le servo 2
delay (y); // pause entre 2 mesures et modif position servomoteur
}
J'aimerai que le servomoteur se mette en position initiale avant de se mettre à l'angle voulu et après le delay, se remette en position initiale.
Merci à vous