Servo moteur et potentiomètre

je souhaite faire en sorte que l'orsque le potentiometre est a plus de 90 les servo bouge et inversement l'orsque il est a moins de 90 mais ca ne fonctionne pas j ai besoin d aide voici le programme pour l instant

#include <Servo.h>
Servo myServo1;
Servo myServo2;
void setup() {
    
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  digitalWrite(3,HIGH);
  digitalWrite(5,HIGH);

  myServo1.attach(10);
  myServo2.attach(11);
  myServo1.write(90);
  myServo2.write(0);
  pinMode(A1,INPUT);
}



void loop() {
  int val = analogRead(A1);
  if (val > 90) {
    myServo1.write(90);
    myServo2.write(0);
  }
  if (val < 90) {
    myServo1.write(0);
    myServo2.write(90);
  }

}

ne faite pas attention au pin 3 et 5 ce sont juste des led

cette fonction retourne une valeur entre 0 at 1023 (10 bit ADC) si ton potentiometre est brancher sure +5V . peux tu donc maintenant voir ou est que to probleme peut etre...?

Peut tu décrire le comportement et tes branchements, car je ne vois pas pourquoi ton servos 1 ne reviendrais pas à 0 en dessous 90*Vref/1024

moi je fais quelque chose comme ça :

monServo.attach(pinmonServo); //on lie l'objet monServo au pin de commande
}
void loop()
{
int valeurPotar=analogRead(pinPotar); // on lit la valeur du potentiomètre
int angle=map(valeurPotar, 0,1023,0,180); //on transforme la valeur analogique lue en valeur //d'angle entre 0 et 180°
monServo.write(angle); //on met le bras du servomoteur à la position angle
}

Je ne vois pas de conversion de lecture en angle dans ton code

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.