Il est également possible de ne pas utiliser de switch tous simplement en utilisant le feedback du servo moteur. Il suffit pour ça d'ajouter un 4eme fils au servo moteur.
Le principe est simple c'est celui du pont diviseur et dans un servo moteur il est déjà présent ... c'est le potentiomètre que nous allons utiliser.
La bidouille est toute aussi simple:
1°) ce 4eme fils de feedback se soude sur la pin centrale du potentiomètre.
Ensuite nous devons connaitre les valeurs de gauche et de droite ce que nous utiliseront dans le sketch Arduino plus bas pour ça:
2°) utilise une batterie de 5 volts et la connecter au fil rouge et noir du servo moteur
3°) avec un multimètre mesurer les valeurs de gauche et de droit (en tournant le potentiomètre). Cette mesure est faire entre la pin centrale du potentiomètre et de neutre (fils noir) de la prise servo.
4°) les 2 valeurs mesurées, dessouder les 2 fils temporaire du servo moteur (ne conserver que celui du centre qui deviens notre feedback)
Arrivé a ce point le servo moteur peux être remonté en aménageant un passage pour notre câble de feedback.
La partie Arduino peux commencer.
Connexion des câbles servo moteur:
Rouge +5volts
Noir GND
Jaune Pin digital Arduino (la 9 par exemple)
Notre fils de feedback à une pin Analogique Arduino (la 5 par exemple).
Le sketch Arduino :
Code : Tout sélectionner
// Include de la librairie servo
#include <Servo.h>
// Déclaration d'un objet servo
Servo servo;
// déclaration des pins et varaibles
int feedbackPin = 5;
int position = 0;
int valeurMini = 191; // par exemple Arduino nous donnera 191 en position mini et 1011 en position maxi du servo (voir plus bas)
int valeurMax = 1011;
void setup()
{
Serial.begin(9600);
} // Fin setup()
void loop()
{
// Lecture de la position du servo
position = analogRead(feedbackPin);
//
} // Fin loop()
Voilà c'est simple nous avons la position du servo moteur [yahoo.gif]
Ensuite ne reste plus qu'a demander à Arduino de faire bouger le moteur en fonction d'une voie radio commandée par un inter (position Basse les bras de l'Inspire se baissent, position Haute il montent. Pour ça il suffit de lire la valeur PWM de cette voie radio.
Ensuite comme tu connais les valeurs maxi et mini (mesure du point 3) du potentiomètre et la valeur position (feedback), il suffit de faire monter ou descendre le servo moteur temps que l'une des valeurs (position Haute ou Basse) n'est pas atteinte.
Et le tour est joué, plus besoin de switch = un Pb en moins.
Ensuite au lieu de bidouiller le servo moteur il est aussi possible d'en prendre un directement équipé du feedback, mais ces dernier (pour un fils de plus) sont plus cher..