Proyek Smart Farming: Smart Hydroponics & Greenhouse Light Analyzer Berbasis ESP32-C3


Dalam sistem pertanian modern seperti hidroponik dan greenhouse (rumah kaca), cahaya adalah faktor paling krusial setelah nutrisi air. Tanaman tidak menyerap semua warna cahaya matahari untuk berfotosintesis. Mereka hanya menyerap spektrum warna spesifik yang dikenal sebagai PAR (Photosynthetically Active Radiation), dengan fokus utama pada Spektrum Merah (untuk merangsang pembungaan dan pembuahan/generatif) dan Spektrum Biru (untuk pertumbuhan daun dan batang/vegetatif).
Menggunakan lampu grow-light tiruan atau mengandalkan cahaya matahari alami tanpa pengukuran yang presisi sering kali membuat pertumbuhan tanaman tidak optimal. Proyek Smart Hydroponics / Greenhouse Light Analyzer ini hadir sebagai alat ukur analitis portabel pintar yang mampu membedakan kompatibilitas spektrum cahaya sekitar secara instan, membantu petani menentukan apakah kualitas cahaya sudah sesuai dengan fase pertumbuhan tanaman mereka.
1. Penjelasan Projek
Proyek ini berfokus pada pembuatan alat ukur genggam (handheld spectral analyzer) yang berfungsi memantau dan menganalisis kualitas pencahayaan pada area budidaya tanaman. Menggunakan sensor spektral multisaluran, alat ini memiliki kemampuan cerdas untuk:
- Memisahkan Spektrum Utama Tanaman: Alat akan menangkap gelombang cahaya spesifik yang setara dengan klorofil tanaman, yaitu mengakumulasikan sirkuit spektrum Merah (panjang gelombang $630\text{nm}$ & $680\text{nm}$) dan spektrum Biru ($480\text{nm}$ & $515\text{nm}$).
- Analisis Rasio Fase Otomatis: Perangkat secara cerdas menghitung perbandingan intensitas antara warna Merah dan Biru untuk memberikan kesimpulan status langsung di layar LCD TFT:
- Baik Vegetatif: Cocok untuk tanaman fase awal (persemaian/daun seperti selada, pakcoy).
- Baik Generatif: Cocok untuk tanaman fase pembuahan/pembungaan (seperti tomat, cabai, strawberry).
- Spektrum Seimbang: Kondisi cahaya stabil merata untuk segala fase.
- Audio Alert Indikator: Buzzer aktif akan memberikan sinyal suara konfirmasi setiap kali alat melakukan kalkulasi pemindaian spektrum cahaya baru di lapangan.
2. Penjelasan Produk & Komponen
Sistem penganalisis cahaya pertanian ini didukung oleh komponen-komponen ringkas berperforma tinggi berikut, kamu bisa klik nama komponenya untuk mendapatkan produknya:
- ESP32-C3 SuperMini: Otak utama sitem berukuran mikro berbasis arsitektur RISC-V yang hemat daya namun memiliki memori dan kecepatan clock yang sangat mumpuni untuk kalkulasi data spektral.
- Sensor Spektral AS7341: Sensor optik mutakhir 11-channel dari ams AG. Sensor ini mampu memilah panjang gelombang cahaya tampak dengan sangat presisi dalam satuan nanometer (nm), menggantikan fungsi alat spektrometer laboratorium yang mahal.
- LCD MCUDEV TFT 1.44″ (ST7735): Layar warna yang dikonfigurasikan dengan desain antarmuka (interface) bertema Smart Agriculture (Aksen Biru Tua & Hijau) dengan visualisasi data angka yang tajam dan presentable.
- Buzzer Aktif: Berfungsi sebagai indikator bip penanda sirkuit pemindaian spektrum sedang berjalan secara aktif.
- Body Case DIY: Berfungsi untuk melindungi komponen jika dibuat portable Opsional
3. Wiring Diagram (Skema Perkabelan)
Konfigurasi pin dioptimalkan agar sirkuit komunikasi data SPI pada layar dan I2C pada sensor spektral berjalan harmonis pada pin ESP32-C3 SuperMini yang terbatas:


| Komponen | Pin Komponen | Sambungkan ke ESP32-C3 | Fungsi / Keterangan |
| LCD TFT 1.44″ | VCC / GND | 3V3 / GND | Daya Utama Layar LCD |
| DI (MOSI) | GPIO 6 | Jalur Data Master SPI | |
| SC (CLK) | GPIO 4 | Jalur Clock SPI | |
| CS / RST / RS (DC) | GPIO 7 / GPIO 10 / GPIO 5 | Pin Kontrol Tampilan Grafis | |
| BLK | 3V3 | Lampu Latar LCD (Always On) | |
| Sensor AS7341 | VIN / GND | 3V3 / GND | Daya Sirkuit Utama Sensor |
| SDA | GPIO 1 | Jalur Data Serial I2C | |
| SCL | GPIO 2 | Jalur Clock Serial I2C | |
| Buzzer Aktif | Positif (+) / Negatif (-) | GPIO 8 / GND | Pemicu Alarm / Nada Bip Kontrol |
4. Kodingan Lengkap (Source Code Arduino IDE)
Berikut adalah kode program utuh dan final yang sudah disinkronkan dengan register panjang gelombang resmi milik library Adafruit_AS7341 (AS7341_CHANNEL_630nm_F7, dll.), serta dibekali arsitektur UI flicker-free:
#include <Wire.h>
#include <Adafruit_AS7341.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
// ==========================================
// CONFIGURASI PIN LCD TFT ST7735
// ==========================================
#define TFT_CS 7
#define TFT_RST 10
#define TFT_DC 5 // Pin RS / DC
#define TFT_MOSI 6 // Pin DI
#define TFT_SCLK 4 // Pin SC
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
#define ST77XX_GREY 0x8410
// ==========================================
// CONFIGURASI PIN SENSOR & BUZZER
// ==========================================
Adafruit_AS7341 as7341;
#define BUZZER_PIN 8 // Positif Buzzer di GPIO 8
uint16_t lastBgColor = ST77XX_BLACK;
void setup() {
Serial.begin(115200);
// Inisialisasi I2C kustom pada sisa kaki ESP32-C3 (SDA=1, SCL=2)
Wire.begin(1, 2);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
// Inisialisasi Layar TFT ST7735
tft.initR(INITR_144GREENTAB); // Ganti INITR_BLACKTAB jika warna layar terbalik
tft.setRotation(1); // Mode Landscape (Tidur)
tft.fillScreen(ST77XX_BLACK);
// Splash Screen Bertema Pertanian Pintar
tft.setTextColor(ST77XX_GREEN);
tft.setTextSize(1);
tft.setCursor(15, 45); tft.print("GROW-LIGHT ANALYZER");
tft.setCursor(15, 60); tft.print("Smart Agro OS v1.0");
// Indikator Suara Menyala
digitalWrite(BUZZER_PIN, HIGH); delay(150);
digitalWrite(BUZZER_PIN, LOW); delay(1350);
// Inisialisasi Sensor Spektral AS7341
if (!as7341.begin()) {
Serial.println("Sensor AS7341 tidak terdeteksi di jalur I2C!");
} else {
as7341.setATIME(100);
as7341.setASTEP(999);
as7341.setGain(AS7341_GAIN_256X);
}
tft.fillScreen(ST77XX_BLACK);
}
void loop() {
uint16_t readings[12];
uint16_t redSpectrum = 0;
uint16_t blueSpectrum = 0;
uint16_t totalLux = 0;
// 1. Membaca Seluruh Channel Spektrum Cahaya secara Simultan
if (as7341.readAllChannels(readings)) {
// Akumulasi Spektrum Merah Tanaman (F7 630nm + F8 680nm)
redSpectrum = readings[AS7341_CHANNEL_630nm_F7] + readings[AS7341_CHANNEL_680nm_F8];
// Akumulasi Spektrum Biru Tanaman (F3 480nm + F4 515nm)
blueSpectrum = readings[AS7341_CHANNEL_480nm_F3] + readings[AS7341_CHANNEL_515nm_F4];
// Total Kecerahan Putih Transparan (Clear Channel)
totalLux = readings[AS7341_CHANNEL_CLEAR];
}
// 2. Algoritma Klasifikasi Kesesuaian Spektrum untuk Fase Tanaman
String kondisiCahaya = "SEIMBANG / BALANCED";
uint16_t txtColor = ST77XX_WHITE;
// Menggunakan latar belakang Biru Tua (0x000F) khas dashboard laboratorium hidroponik
uint16_t bgColor = 0x000F;
if (redSpectrum > (blueSpectrum * 1.5)) {
kondisiCahaya = "BAIK GENERATIF (BUAH)";
} else if (blueSpectrum > (redSpectrum * 1.2)) {
kondisiCahaya = "BAIK VEGETATIF (DAUN)";
}
// Bunyi bip pendek lembut sebagai indikator pemindaian data sukses berjalan
digitalWrite(BUZZER_PIN, HIGH); delay(30);
digitalWrite(BUZZER_PIN, LOW);
// 3. Eksekusi Refresh Layar (Flicker-Free)
if (bgColor != lastBgColor) { tft.fillScreen(bgColor); lastBgColor = bgColor; }
tft.setTextColor(txtColor, bgColor);
tft.setTextWrap(false);
// ---- DESAIN ANTARMUKA PRESENTABLE SPECTRAL ANALYZER ----
// Header Atas
tft.setTextSize(1); tft.setCursor(6, 6);
tft.print("SPEKTRUM PAR TANAMAN");
tft.drawFastHLine(0, 18, 128, ST77XX_GREEN);
// Tampilan Grafik Angka Nilai Spektrum MERAH
tft.setCursor(6, 24); tft.setTextColor(ST77XX_RED, bgColor);
tft.print("RED (F7/F8) : ");
tft.setTextSize(2); tft.print(redSpectrum); tft.print(" ");
// Tampilan Grafik Angka Nilai Spektrum BIRU
tft.setTextSize(1); tft.setCursor(6, 44); tft.setTextColor(0x5DFF, bgColor); // Cyan/Biru Muda
tft.print("BLUE(F3/F4) : ");
tft.setTextSize(2); tft.print(blueSpectrum); tft.print(" ");
tft.drawFastHLine(0, 64, 128, ST77XX_WHITE);
// Tampilan Total Intensitas (CLEAR CHANNEL)
tft.setTextSize(1); tft.setTextColor(ST77XX_WHITE, bgColor);
tft.setCursor(6, 70); tft.print("TOTAL INTENSITAS CH: ");
tft.print(totalLux); tft.print(" Pts ");
tft.drawFastHLine(0, 84, 128, ST77XX_GREY);
// Kesimpulan Analisis Lapangan untuk Petani
tft.setCursor(6, 90); tft.setTextColor(ST77XX_YELLOW, bgColor);
tft.print("ANALISIS FASE:");
tft.setCursor(6, 104); tft.setTextSize(1);
tft.setTextColor(ST77XX_GREEN, bgColor);
String fKondisi = kondisiCahaya + " ";
tft.print(fKondisi.substring(0, 21));
// Bagian Paling Bawah
tft.drawFastHLine(0, 116, 128, ST77XX_GREY);
tft.setTextSize(1); tft.setTextColor(ST77XX_GREY, bgColor);
tft.setCursor(6, 121); tft.print("Scanning OS Active...");
delay(1500); // Waktu jeda pemindaian ulang data (1,5 detik)
}
5. Kesimpulan Proyek
Melalui pemanfaatan teknologi optik canggih pada sensor AS7341 yang dikendalikan oleh ESP32-C3 SuperMini, proyek Smart Hydroponics / Greenhouse Light Analyzer ini berhasil mendefinisikan peran krusial instrumentasi elektronik di sektor pertanian digital (Precision Agriculture).
Dengan kemampuan memetakan konsentrasi energi spektrum Merah dan Biru secara real-time, alat portabel ini memberikan kemudahan bagi para pegiat hidroponik skala rumahan maupun industri komersial greenhouse untuk memvalidasi efisiensi lampu grow-light mereka secara akurat. Langkah ini sangat efektif untuk meminimalkan kegagalan panen akibat kurangnya kualitas cahaya, sekaligus mendongkrak produktivitas panen secara optimal. Perangkat ini siap diproduksi dan dikembangkan lebih lanjut ke dalam ekosistem sistem otomasi pertanian berbasis IoT.












