Bonjour,
J'ai un code qui fonctionne avec un cadre animé et je ne sais pas pourquoi
mon moteur pas à pas tourne toujours dans le même sens alors qu' il devrais
aller dans un sens puis dans l'autre .
le code
#include <Servo.h>
#include <Stepper.h>
Stepper moteur(200, 4, 6, 5, 7);
Servo castor,chambreGa,chambreFille,salle;
int NombreuDeBoucle = 0;
void setup() {
Serial.begin(9600); // ouvre le port série à 9600 bauds
pinMode(A4,OUTPUT); //sortie led pere noel
pinMode(A3,OUTPUT); //sortie led chambre garçon
pinMode(A1,OUTPUT); //sortie led chambre fille
pinMode(A2,OUTPUT); //sortie led salle
digitalWrite(A4, LOW);
digitalWrite(A3, LOW);
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
castor.attach(10); // servomoteur
castor.write(5);
chambreGa.attach(2); // servomoteur
chambreGa.write(110); // initialise a 15 degre
chambreFille.attach(3); // servomoteur
chambreFille.write(40); // initialise a 15 degre
moteur.setSpeed(9);
}
void loop() {
for (int servoCompteurcastor = 0; servoCompteurcastor < 20; servoCompteurcastor++)
servocastor();
for (int CompteurledPere = 0; CompteurledPere < 1; CompteurledPere++)
ledPere();
for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
moteurpap();
for (int servoCompteurchambreGa = 0; servoCompteurchambreGa < 1; servoCompteurchambreGa++)
servochambreGa();
for (int CompteurledGa = 0; CompteurledGa < 1; CompteurledGa++)
ledGa();
for (int servoCompteurchambreFille = 0; servoCompteurchambreFille < 1; servoCompteurchambreFille++)
servoChambreFille();
for (int CompteurledFille = 0; CompteurledFille < 1; CompteurledFille++)
ledFille();
for (int moteurpapCompteur = 0; moteurpapCompteur < 1; moteurpapCompteur++)
moteurpapRetour();
for (int CompteurledPereE = 0; CompteurledPereE < 1; CompteurledPereE++)
ledPere();
for (int CompteurledGaE = 0; CompteurledGaE < 1; CompteurledGaE++)
ledGaE();
for (int servoCompteurchambreGaR = 0; servoCompteurchambreGaR < 1; servoCompteurchambreGaR++)
servochambreGaR();
for (int CompteurledFilleE = 0; CompteurledFilleE < 1; CompteurledFilleE++)
ledFilleE();
for (int servoCompteurchambreFilleR = 0; servoCompteurchambreFilleR < 1; servoCompteurchambreFilleR++)
servoChambreFilleR();
for (int CompteurledSalle = 0; CompteurledSalle < 1; CompteurledSalle++)
ledSalle();
for (int CompteurledSalleE = 0; CompteurledSalleE < 1; CompteurledSalleE++)
ledSalleE();
}
void servocastor(void) {
Serial.println("servo animation en marche ");
castor.write(05); //servomoteur castor se positionne
delay(800);
castor.write(15); //servomoteur castor se positionne
delay(800);
}
void ledPere(void) {
Serial.println("led pere allumer ");
digitalWrite(A4, HIGH); // Allumer LED chambre garçon
delay(1500);
}
void moteurpap(void) {
Serial.println("Moteur pap aller ");
moteur.step(1800);
delay(3500);
}
void servochambreGa(void) {
Serial.println("servo chambreGa en marche ");
chambreGa.write(60); //servomoteur chambrega se positionne et ne bouge plus
delay(800);
}
void ledGa(void) {
Serial.println("led chambreGa allumer ");
digitalWrite(A3, HIGH); // Allumer LED chambre garçon
delay(1500);
}
void servoChambreFille(void){
Serial.println("servo chambrefille en marche ");
chambreFille.write(85); //servomoteur chambrefille se positionne et ne bouge plus
delay(800);
}
void ledFille(void){
Serial.println("led chambreFille allumer ");
digitalWrite(A1, HIGH); // Allumer LED chambre fille
delay(2500);
}
void moteurpapRetour(void) {
Serial.println("Moteur pap retour ");
moteur.step(-1800);
delay(3500);
}
void ledPereE(void) {
Serial.println("led chambreGa allumer ");
digitalWrite(A4, LOW); // Allumer LED pere
delay(800);
}
void ledFilleE(void){
Serial.println("led chambreFille etiend ");
digitalWrite(A1, LOW); // Eteindre LED chambre fille
delay(800);
}
void ledGaE(void){
Serial.println("led chambreGa eteind ");
digitalWrite(A3, LOW); // Etiendre LED chambre garçon
delay(800);
}
void servoChambreFilleR(void){
Serial.println("servo chambreFille retour ");
chambreFille.write(40); //servomoteur chambrefille se positionne et ne bouge plus
delay(800);
}
void servochambreGaR(void) {
Serial.println("servo chambreGa retour ");
chambreGa.write(110); //servomoteur chambrega se positionne a 90 et ne bouge plus
delay(800);
}
void ledSalle(void){
Serial.println("led salle allumer ");
digitalWrite(A2, HIGH); // Allumer LED de la salle
delay(4500);
}
void ledSalleE(void){
Serial.println("led salle eteind ");
digitalWrite(A2, LOW); // Etiendre LED de la salle
delay(800);
}
Merci