Bonjour ,
Je suis débutant en programmation arduino et j'ai un problème avec mon programme.
Je n'ai peut-être pas utilisée les bons termes car je n'ai pas trouver d'exemple pour m'aider.
J'explique :
j'ai besoin de capter un signal venant d'un clavier opérateur pour allumer une strip de led 24v.
Donc si l'opérateur active l'option en question une led s'allume , j'ai relier cette led à l'entrée analogique A0 d'un NANO .
Si cette option est désactivée la strip de led 24VDC (OUTPUT D13) s'allume pour alerter l’opérateur.
Le problème est que ce signal est très faible et très instable à cause de la distance environ 10 mètres.
J'ai installé un câble shielded mais même avec cela ce n'est pas suffisant .
Ce que j'aimerait faire c'est d'analyser l'entrée A0 pendant , exemple 2 secondes,
Donc si A0 > 0.20Volt pendant 2000 mSeconde " digitalWrite(LisecStrip, LOW); "
SVP, soyer indulgent je suis débutant mais j'ai soif d'apprendre.
Merci
int port = A0; // lire la tention sur la led
int LisecStrip = 13; // signal sortie relay 24vdc
int valeur = 0; // valeur lu a A0
float vin = 0; // voltage si Gaz ON
void setup() {
// définit le port 13 en sortie
pinMode(LisecStrip, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Lit l’entrée analogique A0
valeur = analogRead(port);
// convertit l’entrée en volt
vin = (valeur * 5.0) / 1024.0;
Serial.print(vin);
Serial.print("Volt");
Serial.println();
if (vin > 0.20) { // GAZ ON
digitalWrite(LisecStrip, LOW);
Serial.println("Gas Active");
delay(1200);
}
else { // GAZ OFF
digitalWrite(LisecStrip, HIGH);
Serial.println("Gas Desactive");
delay(1200);
digitalWrite(LisecStrip, LOW);
}
delay(500);
}