Erreur arduino

XxApolloxX13 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -  
XxApolloxX13 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Pour mon projet TPE de 1ere S j'ai fait un programme sur arduino, le seul hic, il est bourrer d'erreur. Etant un "debutant", je ne sais pas vraiment reconnaitre mes erreurs. J'en ai corriger quelques unes mais il en reste un paquet de ce que m'a dit mon prof dans la partie loop. Tenez voici le programme:

---------------------------------------------------------------------------

#include <Servo.h>

#define CapteurBroche 8

int AngleDoigt1;
int AngleDoigt2;
int AngleDoigt3;
int AngleDoigt4;

Servo monServo1;
Servo monServo2;
Servo monServo3;
Servo monServo4;

int PresencePiece;

void setup()
{
monServo1.attach(3);
monServo2.attach(4);
monServo3.attach(5);
monServo4.attach(6);

pinMode(CapteurBroche, INPUT);
}



void loop()
{
AngleDoigt1 = 45;
AngleDoigt2 = 90;
AngleDoigt3 = 0;

TournerDoigt1(AngleDoigt1);
TournerDoigt2(AngleDoigt2);
TournerDoigt3(AngleDoigt3);
TournerDoigt4(AngleDoigt3);

do
{
PresencePiece = digitalRead(CapteurBroche);
} while(PresencePiece == 0);



do
{
PresencePiece = digitalRead(CapteurBroche);
AngleDoigt1 = AngleDoigt1 + 1;
TournerDoigt1(AngleDoigt1);

} while ( !((PresencePiece == 1) || (AngleDoigt1 > 135)) ); // || = ou

if ( (AngleDoigt1<=50) && (AngleDoigt1>=70) )
else ( (AngleDoigt1<=75) && (AngleDoigt>=110) ); //&& = et
{
TournerDoigt2(AngleDoigt3);// cas vrai
TournerDoigt3(AngleDoigt2);// execution programme de distribution
delay(2000)
TournerDoigt3(AngleDoigt3);
TournerDoigt4(AngleDoigt2);
delay(2000)
TournerDoigt4(AngleDoigt3);
TournerDoigt2(AngleDoigt2);
break
}
else;
TournoiDoigt1(AngleDoigt3)
delay(1000)
TournoiDoigt(AngleDoigt1)
break;
}

void TournerDoigt1(int x) // x est remplacé par la valeur fournie au moment de l'appel de la fonction
{
monServo1.write(x);
}
void TournerDoigt2(int x)
{
monServo2.write(x);
}
void TournerDoigt3(int x)
{
monServo3.write(x);
}
void TournerDoigt4(int x)
{
monServo4.write(x);
}

-------------------------------------------------------------------------

Le projet est un distributeur automatique à 4 servomoteur qui ont chacun un rôle : le 1er analyser la pièce en la fesant monter et ainsi couper le capteur placer un peu au dessus/ l deuxieme prendre la piece ou la redonner/ le 3eme et 4 eme distribuer des balles de ping pong en les fesant tomber une à une .
Merci de votre aide

1 réponse

XxApolloxX13 Messages postés 99 Date d'inscription   Statut Membre Dernière intervention   2
 
#include <Servo.h>

#define CapteurBroche 8

int AngleDoigt1;
int AngleDoigt2;
int AngleDoigt3;
int AngleDoigt4;

Servo monServo1;
Servo monServo2;
Servo monServo3;
Servo monServo4;

int PresencePiece;

void setup()
{
monServo1.attach(3);
monServo2.attach(4);
monServo3.attach(5);
monServo4.attach(6);

pinMode(CapteurBroche, INPUT);
}


void TournerDoigt1(int x); // x est remplacé par la valeur fournie au moment de l'appel de la fonction
(
monServo1.write(x);
)
void TournerDoigt2(int x);
(
monServo2.write(x);
)
void TournerDoigt3(int x);
(
monServo3.write(x);
)
void TournerDoigt4(int x);
(
monServo4.write(x);
)



void loop()
{
AngleDoigt1 = 45;
AngleDoigt2 = 90;
AngleDoigt3 = 0;

TournerDoigt1(AngleDoigt1);
TournerDoigt2(AngleDoigt2);
TournerDoigt3(AngleDoigt3);
TournerDoigt4(AngleDoigt3);

do
{
PresencePiece = digitalRead(CapteurBroche);
} while(PresencePiece == 0);



do
{
PresencePiece = digitalRead(CapteurBroche);
AngleDoigt1 = AngleDoigt1 + 1;
TournerDoigt1(AngleDoigt1);

} while ( !((PresencePiece == 1) || (AngleDoigt1 > 135)) ); // || = ou

if ( (AngleDoigt1<=50) && (AngleDoigt1>=70) );
else ( (AngleDoigt1<=75) && (AngleDoigt>=110) ); //&& = et
{
TournerDoigt2(AngleDoigt3);// cas vrai
TournerDoigt3(AngleDoigt2);// execution programme de distribution
delay(2000);
TournerDoigt3(AngleDoigt3);
TournerDoigt4(AngleDoigt2);
delay(2000);
TournerDoigt4(AngleDoigt3);
TournerDoigt2(AngleDoigt2);
break
}
else;
TournoiDoigt1(AngleDoigt3);
delay(1000);
TournoiDoigt(AngleDoigt1);
break;
}

quelque correction apporté au programme
0