controle semoir pneumatique

bonjour à tous

Je suis entrain de monter un contrôle sur un petit semoir pneumatique pour le boulot.
Ça fonctionne j’ai le uno en cabine avec juste 2 del qui clignotent lorsque les graines circulent dans les tuyaux .

J’ai fait un code simple qui fonctionne, puis j’ai essayé d’y ajouté un compteur d’hectares , avec la fonction millis , démarrer un compteur lorsque les led clignotent et le couper lorsqu’elles ne clignotent plus depuis au moins 4sec (je ne suis plus entrain de semer). Après je pourrait en déduire la surface semée en sachant que je roule toujours à 5kmh.

Mais pour l’instant je patauge !

Si ça peut marcher comme ça , ça m’évite de rajouter un capteur devant la roue du tracteur.

Je joins le code qui fonctionne pour le clignotement des del et dans lequel j’ai rajouté millis sans succès.

Si vous avez des idées …

const int ledgauche = 13;
const int leddroite = 12;

const int dikeyjohngauche = A0;
const int dikeyjohndroite = A1;


void setup () {

Serial.begin(9600);

pinMode(ledgauche, OUTPUT);
pinMode(leddroite, OUTPUT);

pinMode(dikeyjohngauche, INPUT);
pinMode(dikeyjohndroite, INPUT);



}

void loop() {
              static unsigned dureeAllumage=0;
              static unsigned debutAllumage=millis();
              static unsigned dureecompteur=0;
              static unsigned debutcompteur=millis();
              
int signalgauche = analogRead(dikeyjohngauche);
int signaldroite = analogRead(dikeyjohndroite);



if (signalgauche < 1000) {

digitalWrite(ledgauche, HIGH);

delay(100);

digitalWrite(ledgauche, LOW);

delay(10);

//Serial.println(" * * * * * * * * * * * * * * * ");

           debutAllumage=millis();

}

if (signalgauche > 1020) {

dureeAllumage=millis()-debutAllumage;

Serial.println( dureeAllumage );
}


if (dureeAllumage < 4000){
dureecompteur=millis()-debutcompteur;
Serial.println("dureecompteur");

Serial.println(dureecompteur);

  
}



else {


digitalWrite(ledgauche, LOW);

delay(10);

//Serial.println("ALARM DEACTIVATED");

}
//Serial.println( signalgauche );
//delay(10);







if (signaldroite < 1000) {

digitalWrite(leddroite, HIGH);

delay(100);

digitalWrite(leddroite, LOW);

delay(10);

//Serial.println(" * * * * * * * * * * * * * * * ");

}

else {


digitalWrite(leddroite, LOW);

delay(10);

//Serial.println("ALARM DEACTIVATED");

}
//Serial.println( signaldroite );
//delay(10);






}

controleur_semis_millis.ino (1.54 KB)

Bonsoir
Vous pouvez re-expliquer ce qu’il y a de connecté en A0 et A1 et ce que les valeurs lue veulent dire ?