Contrôle d'un servomoteur via une télécommande.

Bonjour,

Pour un projet de prépa et pour nous initier à Arduino, on nous a confié comme projet la création d’une voiture télécommandée.
La télécommande en question est Arduino Esplora, j’ai utilisé le code suivant et chaque direction (avec le joystick) a une valeur qui lui assigné, -512 pour la droite par exemple.

#include <Esplora.h>

void setup()
{
Serial.begin(9600);
} 

void loop()
{
int value = Esplora.readJoystickX();
Serial.println(value);

delay(1000);
}

Maintenant je veux créer des variables et quand la variable atteint la dite valeur, cela oriente le servo moteur dans cette direction.
Le problème c’est que je ne sais pas comment créer un lien entre une nouvelle variable et les valeurs données par Esplora.readJoystickX.

J’ai essayé avec une boucle for

for (Esplora.readJoystickX=-512; position <= 180; position++)

Mais cela ne fonctionne pas du tout.

Je suis maintenant avec le code suivant :

#include <Esplora.h>
#include <Servo.h>
Servo myServo;
int position;
int x;
int y;

void setup()
{
Serial.begin(9600);
myServo.attach(11);
} 

void loop()
{
int  value = Esplora.readJoystickX();
Serial.println(value);

delay(1000);

for (int x=-512; position <= 180; position++) {
  myServo.write(position);
}
for (int y=511; position >= 0; position--) {
  myServo.write(position);
}

Sauf que comme dit précédemment il n’y a aucun lien entre les valeurs de Esplora.readJoystickX et mes variables x et y.

Sachant que là, le servomoteur est directement connecté sur la télécommande, par la suite je devrais faire la même chose mais via bluetooth.

Merci d’avance pour ceux qui prendront le temps de m’aider !

Je m’y colle …

Avant de lancer des lignes de code sur une page blanche il faut réfléchir à ce que doit fait ton programme en langage clair :
si j’appuie sur le bouton droit, je tourne le servo à droite (un peu ? à fond ??)
si je relache le bouton, je fais quoi (je garde l’angle, reviens tout droit ?)
si je maintient l’appui ?

Ensuite organiser le programme :
lecture de l’esplora … (quel bouton appuyé ? bouton relaché ?, appui court ? appui long ? double appui ??)
traduire ça en commande avec des variables qui vont bien (un angle par exemple, ca va bien avec les servos)
si j’appuie à droite, augmente, ou vaut 180° directement ?
si j’appui longtemps, l’angle continue d’augmenter … jusqu’à une valeur max ?
si je relache le bouton droite, l’angle reste à sa dernière valeur ? il revient à 90 ° ??
à la fin tu envoie la commande au servo en fonction de l’angle que tu aura déterminé plus haut …

A toi