Bonjour,
débutant en arduino, je commence à faire un programme de base pour le pilotage d'un moteur pas à pas.
Voici le code
int temps = 20;
// variables pour interrupteur
const int interMontee = 7;
const int interDescente = 9;
// Variables des port moteur
const int pin1 = 2;
const int pin2 = 3;
const int pin3 = 4;
void setup()
{
interSetup();
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
}
void loop()
{
interVoid(interMontee, monteeDP());
interVoid(interDescente, descenteDP());
}
void descenteDP() // DP pour demis pas
{
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
delay(temps);
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
delay(temps);
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
delay(temps);
}
void monteeDP() // DP pour demis pas
{
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
delay(temps);
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
delay(temps);
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
delay(temps);
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
delay(temps);
}
//Pour le void setup
void interSetup()
{
pinMode(interDescente, INPUT_PULLUP);
pinMode(interMontee, INPUT_PULLUP);
}
//pour le void loop
void interVoid(const int inter, void methode()) //inter pour le choix de l'inter: interMontee ou interDescente
{
boolean valDep = digitalRead(inter);
if(valDep == 0)
{
methode();
}
}
et voici le message d'erreur que l'IDE me renvoi
simple.ino: In function ‘void loop()’:
simple.ino:25:36: error: ‘interVoid’ was not declared in this scope
je ne comprend pas du tout pourquoi, j'ai pourtant l'impression que l'écriture est correcte.
Pourriez vous m'aider ?