Bonjour à tous.
Pour un projet scolaire je voudrai faire tourner trois servomoteurs, représentant les trois principales articulations d’une jambe : la hanche, le genou et le mollet. J’ai donc fait le code et les branchements. Lorsqu’un servomoteur est branché, il marche parfaitement, mais dès que j’en branche un deuxième, les deux servomoteurs commencent à faire n’importe quoi : on dirait qu’ils se remettent en position initiale à chaque fois. Ci-dessous, je vous mets mon code, puisque je pense que c’est de là que vient le problème (les servomoteurs ont été testés individuellement et fonctionnent, et la carte Arduino Uno aussi) :
#include <Servo.h>
Servo TPE_un;
Servo TPE_deux;
Servo TPE_trois;
int pos_un = 90;
int pos_deux = 90;
int pos_trois = 90;
void setup()
{
TPE_un.attach(9);
TPE_un.write(pos_un);
for(pos_un = 50; pos_un <= 100; pos_un++)
{
TPE_un.write(pos_un);
delay(10);
}
TPE_deux.attach(10);
TPE_deux.write(pos_deux);
for(pos_deux = 0; pos_deux <= 60; pos_deux++)
{
TPE_deux.write(pos_deux);
delay(10);
}
TPE_trois.attach(11);
TPE_trois.write(pos_trois);
for(pos_trois = 0; pos_trois <= 90; pos_trois++)
{
TPE_trois.write(pos_trois);
delay(10);
}
}
void loop()
{
int pos = 180;
for(pos = 180; pos >= 0; pos--)
{
pos_un = pos/(180/100);
pos_deux = pos/3;
pos_trois = pos/2;
TPE_un.write(pos_un);
TPE_deux.write(pos_deux);
TPE_trois.write(pos_trois);
delay(10);
}
pos = 0;
for(pos = 0; pos <= 180; pos++)
{
pos_un = pos/(180/100);
pos_deux = pos/3;
pos_trois = pos/2;
TPE_un.write(pos_un);
TPE_deux.write(pos_deux);
TPE_trois.write(pos_trois);
delay(10);
}
}