|
/*
|
|
Controlling a servo position using a potentiometer (variable resistor)
|
|
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
|
|
|
|
modified on 8 Nov 2013
|
|
by Scott Fitzgerald
|
|
http://www.arduino.cc/en/Tutorial/Knob
|
|
*/
|
|
|
|
#include <Servo.h>
|
|
|
|
Servo myservo1; // création de l'objet myservo1
|
|
Servo myservo2; // création de l'objet myservo2
|
|
|
|
int pin_servo1 = 6; // Pin 6 sur lequel est branché le servo1 sur l'Arduino si vous utilisez un ESP32 remplacez le 6 par 4 et si vous utilisez un ESP8266 remplacez le 6 par 2
|
|
int pin_servo2 = 7; // Pin 7 sur lequel est branché le servo2 sur l'Arduino si vous utilisez un ESP32 remplacez le 6 par 4 et si vous utilisez un ESP8266 remplacez le 6 par 2
|
|
|
|
int pos = 0; // variable permettant de conserver la position du servo
|
|
int angle_initial = 0; //angle initial
|
|
int angle_final = 180; //angle final
|
|
int increment = 1; //incrément entre chaque position
|
|
bool angle_actuel = false;//Envoi sur le port série la position courante du servomoteur
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
while(!Serial){;}
|
|
myservo1.attach(pin_servo1); // attache le servo1 au pin spécifié sur l'objet myservo1
|
|
myservo2.attach(pin_servo2); // attache le servo2 au pin spécifié sur l'objet myservo2
|
|
}
|
|
|
|
void loop() {
|
|
for (pos = angle_initial; pos <= angle_final; pos += increment) { // Déplace le servo de 0 à 180 degréespar pas de 1 degrée
|
|
myservo1.write(pos); // Demande au servo de se déplacer à cette position angulaire
|
|
myservo2.write(pos); // Demande au servo de se déplacer à cette position angulaire
|
|
delay(30); // Attend 30ms entre chaque changement de position
|
|
if (angle_actuel) {
|
|
Serial.println(myservo1.read());
|
|
Serial.println(myservo2.read());
|
|
}
|
|
}
|
|
for (pos = angle_final; pos >= angle_initial; pos -= increment) { // Fait le chemin inverse
|
|
myservo1.write(pos);
|
|
myservo2.write(pos);
|
|
delay(30);
|
|
if (angle_actuel) {
|
|
Serial.println(myservo1.read());
|
|
Serial.println(myservo2.read());
|
|
}
|
|
}
|
|
}
|