J'aurais besoin d'un petit coup de main sur un projet en cours. Celui-ci consiste a faire marcher un bras robotisé ( le bras braccio ) à l'aide de plusieurs joystick ( deux pour être plus précis ). Pour le moment j'ai réussi avec un seul joystick avec le code ci-dessous :
#include<Servo.h>
Servo servo1;
Servo servo2;
int joyX = 0;
int joyY = 1;
int joyVal;
void setup() {
// put your setup code here, to run once:
servo1.attach(3);
servo2.attach(5);
}
void loop() {
// put your main code here, to run repeatedly:
joyVal = analogRead(joyX);
joyVal = map ( joyVal, 0, 1023, 0,180);
servo1.write(joyVal);
joyVal = analogRead(joyY);
joyVal = map ( joyVal, 0, 1023, 0,180);
servo2.write(joyVal);
delay(15);
}
A priori aucun problème pour en utiliser 2 : tu dupliques les instructions...
Mais là ce que tu as fait c'est appliquer la consigne du joystick selon l'axe X au servo 1 et celle de l'axe Y au servo 2. Est-ce bien ce que tu cherches à faire ?
Avant de coder, il faut bien savoir à quoi servent les joysticks. Chaque joystick doit commander un servo ? Peux-tu en dire plus ? Es-tu sûr d'avoir réellement besoin de joysticks ?
lesept:
Je suppose que tu utilises un joystick comme celui-ci ?
A priori aucun problème pour en utiliser 2 : tu dupliques les instructions...
Mais là ce que tu as fait c'est appliquer la consigne du joystick selon l'axe X au servo 1 et celle de l'axe Y au servo 2. Est-ce bien ce que tu cherches à faire ?
Avant de coder, il faut bien savoir à quoi servent les joysticks. Chaque joystick doit commander un servo ? Peux-tu en dire plus ? Es-tu sûr d'avoir réellement besoin de joysticks ?
Bonjour, tout d'abord merci d'avoir répondu !
Alors oui j'ai exactement ce joystick là ! En effet mon joystick prends les valeurs du servo 1 sur l'axe X et celles du servo 2 sur l'axe Y, et c'est ce que j'attends , et mon but est de prendre un second joystick afin de rajouter 2 autres servo différent et que le principe reste le même pour l'axe X et Y ! De ce fait j'ai dupliqué comme tu l'as dit, mais aucunes valeurs ne sort, même au 1 er joystick qui fonctionne correctement tout seul
Oui j'en ai besoin car je souhaite piloter mon robot ( Robot Braccio ) par le biais de plusieurs joysticks justement
Rebonjour, je viens de trouver la faille ( toute bête ),
Il s'agissait en fait, que je renvoyer la même valeur sur les deux joysticks, j'ai donc changer le " joyVal " par " joyVal2 " pour les joystick V et W, et en plaçant une autre batterie à part pour les moteurs ( sachant qu'ils ont besoin d'une certaine puissance ) et qu'avec la même alimentation pour les joysticks le robot a du mal !
Voici le nouveau code ( qui fonctionne ) :
#include<Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
int joyX = 0;
int joyY = 1;
int joyW = 2; // ici je suppose que ce soit la sortie analogique A2
int joyV = 3;
int joyVal;
int joyVal2;
void setup() {
// put your setup code here, to run once:
servo1.attach(3);
servo2.attach(5);
servo3.attach(10);
servo4.attach(11);
}
void loop() {
// put your main code here, to run repeatedly:
joyVal = analogRead(joyX);
joyVal = map ( joyVal, 0, 1023, 0,180);
servo1.write(joyVal);
joyVal = analogRead(joyY);
joyVal = map ( joyVal, 0, 1023, 0,180);
servo2.write(joyVal);
joyVal2 = analogRead(joyW);
joyVal2 = map ( joyVal2, 0, 1023, 0,180);
servo3.write(joyVal2);
joyVal2 = analogRead(joyV);
joyVal2 = map ( joyVal2, 0, 1023, 0,180);
servo4.write(joyVal2);
delay(15);
}