Go Down

Topic: Flex Sensor + Servo moteur (Read 526 times) previous topic - next topic

CuLay

Bonjour à tous,

Je suis présentement entrain d'expérimenter un projet, mais je suis malheureusement en difficulté. J'essaye de controller un continuous rotation servo Parallax à l'aide d'un flex sensor.

Lorsque je plie mon sensor, le servo ne cesse de tourner, mais je voudrais qu'il suive la flextion du sensor et qu'il sarrete lorsque le sensor est à 90°.

J'utilise se programme suivi:

#include <Servo.h>

Servo myservo;   

int potpin = 0; 
int val;     

void setup()
{
  myservo.attach(9);   
}

void loop()
{
 
  {
  val = analogRead(potpin);           
  val = map(val, 1023, 0, 0, 90);     
  myservo.write(val);                   
  delay(15);                           
}

Je vous remercie d'avance pour toute aide!

Jean-François

Mets le code entre les balises stp
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

-Standby

Il faut que tu récupère la valeur du sensor quand il est a 90°(il faudra surement la lissé) ensuite tu crée une fonction pour que le servo s'arrête.
The Mind is like a parachute it works best when opened.

fdufnews

#3
Mar 16, 2013, 09:12 pm Last Edit: Mar 16, 2013, 09:38 pm by fdufnews Reason: 1
Code: [Select]
val = map(val, 1023, 0, 0, 90);
Cette ligne présuppose que le capteur après numérisation retourne une valeur comprise entre 0 et 1023 pour une flexion de 0 à 90°.
As-tu vérifié que c'est bien le cas?

Ensuite un servo à rotation continu est plutôt prévu pour faire la base roulante de petits robots ou de véhicules. Dans un servo un rotation continu, la consigne détermine la vitesse et le sens de rotation de l'axe du servo.
Si tu veux contrôler l'angle du servo avec la flexion de ton doigt il fait utiliser un servo classique. Dans un servo classique la consigne fixe l'angle de l'axe.

CuLay

#4
Mar 16, 2013, 10:02 pm Last Edit: Mar 16, 2013, 11:09 pm by CuLay Reason: 1
fdufnews

j'ai trouvé que mes valeurs pour lorsque que mon sensor est entre 0° et 90°  est de 880 et 160.

Pour mon servo, si je comprend bien, il est donc impossible de fixer une position exact...

Merci d'avoir répondu.

Go Up