TIPE PREPA code arduino acceleromètre+ servo
Bonjour,
Je suis étudiant en classe prépa (maths spé pour les intimes) et dans le cadre d'un projet pour les concours je dois réaliser un code qui récupère des données d'accélération selon l'axe y du capteur, les transforme en positions angulaire puis commande le servo moteur..
Cependant mon programme censé être une boucle ne tourne qu'une fois et je ne comprends pas.. si vous pouviez m'éclairer !
voila mon code : mon problème : je n'arrive pas à faire tourner mon code en boucle
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <Servo.h>
Servo s; // create servo object to control a servo
unsigned int A; // affichage de la position du moteur
unsigned int P;
unsigned int pos; //Variable moteur
int y; // y axis variable
unsigned int Yo; // y de réfenrence, voiture immobile pour effectuer ce qui
équivault à une tare
unsigned int Y;
void setup() {
Serial.begin(57600); // opens serial port, sets data rate to 57600 bps
s.attach(9); // attaches the servo on pin 9 to the servo object
Yo=analogRead(2);
Serial.print("Yo = ");
Serial.println(Yo);
}
void loop() {
{
y = analogRead(2); // read the first analog input pin
Serial.print("y= "); // print y adc value
Serial.println(y);
{
Y=y-Yo; // position angulaire "après tare"
P=Y+5 // determination de la position angulaire souhaitée (equation temporaire)
{
for( pos=A ; pos=P ; pos +=1 )
s.write(pos); // tell servo to go to position in variable 'pos'
delay(10); // waits Xms for the servo to reach the position
A=s.read();
Serial.print(" a= ");
Serial.println(A); // affichage de la position de A en fin de déplacement
}}}
delay(100);
} |