Pages: [1]   Go Down
Author Topic: Flex Sensor + Servo moteur  (Read 462 times)
0 Members and 1 Guest are viewing this topic.
Mtl
Offline Offline
Newbie
*
Karma: 0
Posts: 2
gg
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mets le code entre les balises stp
Logged

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

Paris
Offline Offline
Full Member
***
Karma: 1
Posts: 180
Beyond the possible...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

The Mind is like a parachute it works best when opened.

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3511
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
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.
« Last Edit: March 16, 2013, 03:38:47 pm by fdufnews » Logged

Mtl
Offline Offline
Newbie
*
Karma: 0
Posts: 2
gg
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: March 16, 2013, 05:09:16 pm by CuLay » Logged

Pages: [1]   Go Up
Jump to: