Bonjour,
Le confinement semble me ramollir mais je n'arrive pas à regler le pb.
Voici le code:
void loop(void) {
int quality = sensor.slope();
Serial.print("Sensor value: ");
Serial.println(sensor.getValue());
if (digitalRead(quality) > 400) {
Serial.println("High pollution! Force signal active.");
} else if (digitalRead(quality) > 350) {
Serial.println("High pollution!");
} else if (digitalRead(quality) > 250) {
Serial.println("Low pollution!");
} else if (digitalRead(quality) < 250) {
Serial.println("Fresh air.");
}
delay(1000);
}
Quelle que soit la valeur de quality, 'Fresh air' s'affiche. Savez-vous pourquoi?
Le signal du catpeur est branché sur SCL

kamill
2
Bonjour,
digitalRead() retourne LOW ou HIGH (0 ou 1). Est ce que tu as voulu mettre analogRead()?
iznobe
3
Hello ,
Si tu fais :
void loop(void) {
int quality = sensor.slope();
Serial.print("Sensor value: ");
Serial.println(sensor.getValue());
if (digitalRead(quality) > 400) Serial.println("High pollution! Force signal active.");
else if (digitalRead(quality) > 350) Serial.println("High pollution!");
else if (digitalRead(quality) > 250) Serial.println("Low pollution!");
else Serial.println("Fresh air.");
delay(1000);
}
ca marche ?
hum correction le code n ' est pas complet mais avec çà ca devrait le faire :
void loop(void) {
int quality = sensor.slope();
Serial.print("Sensor value: ");
Serial.println(sensor.getValue());
valeur = sensor.getValue();
if (valeur > 400) Serial.println("High pollution! Force signal active.");
else if (valeur > 350) Serial.println("High pollution!");
else if (valeur > 250) Serial.println("Low pollution!");
else Serial.println("Fresh air.");
delay(1000);
}
ou bien
void loop(void) {
int quality = sensor.slope();
Serial.print("Sensor value: ");
Serial.println(sensor.getValue());
if (quality > 400) Serial.println("High pollution! Force signal active.");
else if (quality > 350) Serial.println("High pollution!");
else if (quality > 250) Serial.println("Low pollution!");
else Serial.println("Fresh air.");
delay(1000);
}
Merci à tous, effectivement c'est bien analogRead et non digitalRead!
Merci bien !
kamill
5
Je te conseille de lire une seule fois la valeur et de changer le dernier else if en else comme dans le 2eme code de iznobe.