Menu
CoddyTech

Surveillance de la plante : Voyant d’état

Fait partie de la section Projets du Journey Arduino de Coddy. Leçon 18 sur 24.

Personne ne lit un pourcentage depuis l’autre bout de la pièce. Une lumière colorée se voit d’un coup d’œil : rouge quand la plante a besoin d’eau, verte quand tout va bien, bleue quand elle en a trop.

Le voyant d’état est une LED RGB : trois LED, rouge, verte et bleue, dans un seul boîtier, sur les broches 9, 10 et 6. Sa patte commune est reliée à la masse, donc un canal s’allume lorsque sa broche est HIGH. Une seule couleur à la fois signifie une broche HIGH et les deux autres LOW.

Trois plages, trois couleurs : la même structure if / else if / else que pour le capteur de stationnement, en commençant par le bas cette fois :

if (moisture < 30) {
  // sec : rouge
} else if (moisture <= 70) {
  // correct : vert
} else {
  // humide : bleu
}

Éteins d’abord les trois canaux. Sinon, le rouge de la fois précédente se mélange au nouveau vert, et la lumière devient jaune.

challenge icon

Défi

Facile

Ajoute le voyant d’état :

  • les broches 9 (red), 10 (green) et 6 (blue) sont des sorties
  • en dessous de 30 % : rouge uniquement
  • de 30 % à 70 % : vert uniquement
  • au-dessus de 70 % : bleu uniquement

Mets-le à jour après chaque lecture. Appuie sur Run, tourne le bouton, puis appuie sur Check.

Essayez vous-même

// Le bouton rotatif remplace un capteur d’humidité du sol
const int sensorPin = A0;

// L’humidité en pourcentage : 0 signifie complètement sec, 100 signifie complètement détrempé.
int readMoisture() {
  int reading = analogRead(sensorPin);
  return map(reading, 0, 1023, 0, 100);
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  int moisture = readMoisture();
  Serial.print("Moisture: ");
  Serial.print(moisture);
  Serial.println("%");
  delay(1000);
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Projets

Entraînez-vous par vous-même : Playground Arduino