Menu
CoddyTech

Monitor rośliny: lampka stanu

Część sekcji Projekty ścieżki Arduino w Coddy. Lekcja 18 z 24.

Nikt nie odczytuje wartości procentowej z drugiego końca pokoju. Kolorowe światło widać od razu: czerwone, gdy roślina potrzebuje wody, zielone, gdy wszystko jest w porządku, niebieskie, gdy ma jej za dużo.

Kontrolka stanu to dioda RGB LED: trzy diody — czerwona, zielona i niebieska — w jednej obudowie, podłączone do pinów 9, 10 i 6. Jej wspólna nóżka jest podłączona do masy, więc kanał świeci, gdy na jego pinie jest HIGH. Jeden kolor naraz oznacza, że jeden pin ma stan HIGH, a dwa pozostałe LOW.

Trzy zakresy, trzy kolory: ten sam układ if / else if / else co w czujniku parkowania, tym razem zaczynając od dolnego zakresu:

if (moisture < 30) {
  // sucho: czerwony
} else if (moisture <= 70) {
  // odpowiednio: zielony
} else {
  // mokro: niebieski
}

Najpierw wyłącz wszystkie trzy kanały. W przeciwnym razie pozostała z poprzedniego ustawienia czerwień zmiesza się z nową zielenią i światło stanie się żółte.

challenge icon

Wyzwanie

Łatwy

Dodaj lampkę statusu:

  • piny 9 (red), 10 (green) i 6 (blue) są wyjściami
  • poniżej 30%: tylko red
  • od 30% do 70%: tylko green
  • powyżej 70%: tylko blue

Aktualizuj ją po każdym odczycie. Naciśnij Run, przekręć pokrętło, a następnie naciśnij Check.

Spróbuj swoich sił

// Pokrętło zastępuje czujnik wilgotności gleby
const int sensorPin = A0;

// Wilgotność w procentach: 0 oznacza całkowicie suchą glebę, a 100 — całkowicie mokrą.
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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Arduino