top of page

Code

#include <Servo.h>

// Déclaration des broches des potentiomètres
const int potPin1 = A0;
const int potPin2 = A1;
const int potPin3 = A2;

// Déclaration des broches des servomoteurs
const int servoPin1 = 9;
const int servoPin2 = 10;
const int servoPin3 = 11;

// Création des objets Servo
Servo servo1;
Servo servo2;
Servo servo3;

// Variables pour le décalage temporel
unsigned long lastUpdateTime = 0;
const unsigned long updateInterval = 50; // Réglez cet intervalle en fonction de vos besoins (en millisecondes)

void setup() {
  // Attache les servomoteurs aux broches correspondantes
  servo1.attach(servoPin1);
  servo2.attach(servoPin2);
  servo3.attach(servoPin3);
}

void loop() {
  // Vérifie si le délai de mise à jour est écoulé
  unsigned long currentTime = millis();
  if (currentTime - lastUpdateTime >= updateInterval) {
    // Actualise les positions des servomoteurs
    updateServos();
    // Met à jour le temps de la dernière mise à jour
    lastUpdateTime = currentTime;
  }
}

void updateServos() {
  // Lecture des valeurs des potentiomètres
  int potValue1 = analogRead(potPin1);
  int potValue2 = analogRead(potPin2);
  int potValue3 = analogRead(potPin3);

  // Convertit les valeurs des potentiomètres en angles pour les servomoteurs (de 0 à 180 degrés)
  int angle1 = map(potValue1, 0, 1023, 0, 180);
  int angle2 = map(potValue2, 0, 1023, 0, 180);
  int angle3 = map(potValue3, 0, 1023, 0, 180);

  // Définit les angles des servomoteurs
  servo1.write(angle1);
  servo2.write(angle2);
  servo3.write(angle3);
}
 

bottom of page