🎯 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:
Komponent | Opis | Koszt |
---|---|---|
ESP32 | Mikrokontroler z Wi-Fi | 20–30 zł |
Czujnik BH1750 | Precyzyjny czujnik światła (lux) | 5–10 zł |
Ekran OLED (I2C) | Do wyświetlania natężenia i statusu | 10–15 zł |
LED sygnalizacyjna | Wskaźnik: zbyt ciemno / jasno | 2–5 zł |
(opcjonalnie) przekaźnik | Do sterowania oświetleniem growboxa / LED | 10 zł |
📷 Schemat połączeń:
- BH1750 → ESP32 (I2C)
- SDA → GPIO 21
- SCL → GPIO 22
- VCC → 3.3V
- GND → GND
- OLED (I2C) – identyczne połączenie
- LED → GPIO 25 przez rezystor (220 Ω)
- (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
- Dane wejściowe:
- poziom lux
- godzina
- typ rośliny (np. „ziółka”, „pomidor”, „kaktus”)
- Wejdź na Edge Impulse
- Stwórz projekt „Growbox AI” i klasy:
- „za mało światła”
- „w sam raz”
- „za dużo światła”
- Wgraj dane i wytrenuj model
- Wgraj do ESP32
Kod:
cppKopiujEdytujif (AI_output == "za mało światła") {
digitalWrite(LED_PIN, HIGH);
}
💡 Krok 4: Automatyczne sterowanie światłem (opcjonalne)
- Dodaj przekaźnik do GPIO 27.
- 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)
- Konfiguracja z IFTTT:
- Zdarzenie
niedoswietlenie
- Zdarzenie
- 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.