Monitor poziomu światła do fotosyntezy – z AI i ESP32


🎯 Cel projektu:

Zbudujesz inteligentny system do pomiaru natężenia światła, który poinformuje Cię, czy Twoje rośliny mają odpowiednie warunki do fotosyntezy. System wykorzystuje czujnik światła + AI, by dopasować wymagania świetlne do rodzaju rośliny, pory dnia i lokalizacji.


🧰 Poziom trudności:

🔧 Początkujący – Średnio zaawansowany


⏱️ Czas wykonania:

ok. 1–2 godziny (wraz z kalibracją AI)


🛠️ Lista komponentów:

KomponentOpisKoszt
ESP32Mikrokontroler z Wi-Fi20–30 zł
Czujnik BH1750Precyzyjny czujnik światła (lux)5–10 zł
Ekran OLED (I2C)Do wyświetlania natężenia i statusu10–15 zł
LED sygnalizacyjnaWskaźnik: zbyt ciemno / jasno2–5 zł
(opcjonalnie) przekaźnikDo sterowania oświetleniem growboxa / LED10 zł

📷 Schemat połączeń:

  1. BH1750 → ESP32 (I2C)
    • SDA → GPIO 21
    • SCL → GPIO 22
    • VCC → 3.3V
    • GND → GND
  2. OLED (I2C) – identyczne połączenie
  3. LED → GPIO 25 przez rezystor (220 Ω)
  4. (opcjonalnie) przekaźnik → GPIO 27

🌞 Krok 1: Odczyt danych z czujnika BH1750

Instalacja biblioteki BH1750 w Arduino IDE.

Kod testowy:

cppKopiujEdytuj#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup() {
  Serial.begin(115200);
  Wire.begin();
  lightMeter.begin();
}

void loop() {
  float lux = lightMeter.readLightLevel();
  Serial.print("Natężenie światła: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000);
}

Dla porównania:

  • pełne słońce = 100 000 lx
  • pokój dzienny = 300–600 lx
  • growbox LED = 10 000–30 000 lx
  • ciemność < 10 lx

📟 Krok 2: Wyświetlanie na ekranie OLED

Biblioteka: Adafruit_SSD1306

Fragment kodu:

cppKopiujEdytujdisplay.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 10);
display.print("Lux:");
display.setCursor(0, 30);
display.print(lux);
display.display();

🧠 Krok 3: AI do oceny warunków światła

  1. Dane wejściowe:
    • poziom lux
    • godzina
    • typ rośliny (np. „ziółka”, „pomidor”, „kaktus”)
  2. Wejdź na Edge Impulse
  3. Stwórz projekt „Growbox AI” i klasy:
    • „za mało światła”
    • „w sam raz”
    • „za dużo światła”
  4. Wgraj dane i wytrenuj model
  5. Wgraj do ESP32

Kod:

cppKopiujEdytujif (AI_output == "za mało światła") {
  digitalWrite(LED_PIN, HIGH);
}

💡 Krok 4: Automatyczne sterowanie światłem (opcjonalne)

  1. Dodaj przekaźnik do GPIO 27.
  2. Po wykryciu niskiego poziomu światła:
cppKopiujEdytujdigitalWrite(RELAY_PIN, HIGH); // Włącz LED growboxa

Można ustawić też tryb nocny i zabezpieczenie przed prześwietleniem.


📲 Krok 5: Powiadomienia (opcjonalnie)

  1. Konfiguracja z IFTTT:
    • Zdarzenie niedoswietlenie
  2. ESP32 wysyła HTTP GET:
cppKopiujEdytujhttp.begin("https://maker.ifttt.com/trigger/niedoswietlenie/with/key/TWÓJ_KLUCZ");
http.GET();

🌧️ Krok 6: Montaż i lokalizacja

  • Czujnik BH1750 umieść w okolicy liści rośliny (nie zasłaniaj)
  • Ekran OLED i ESP zamknij w obudowie
  • Upewnij się, że czujnik nie łapie światła z zewnątrz (np. światło z okna)

Efekt końcowy:

  • System automatycznie ocenia warunki oświetleniowe
  • Informuje Cię, czy rośliny mają za mało, za dużo światła
  • Możesz automatycznie włączyć LED-y lub otrzymać alert
  • AI uczy się wzorców i optymalizuje światło w czasie

📘 To świetny projekt dla każdego, kto hoduje rośliny – od ziół na parapecie po pełnowymiarowy growbox. Dzięki AI Twoje rośliny zawsze będą miały idealne warunki.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry