Kirim Data Dengan Cahaya

Kirim Data Dengan Cahaya

Alat / Bahan

  • Arduino IDE
  • Library: Blynk
  • Library: ESP8266
  • NodeMCU ESP8266
  • Sensor LDR
  • Resistor 10K
  • Relay 1 Channel
  • Lampu 220V
  • Project Board
  • Kabel Jumper
  • Smartphone

/* Program Pengendali Cahaya untuk Tanaman dengan Smartphone dibuat oleh Indobot */

#include //Library ESP8266

#include //Library Blynk

char auth[] = “HoP9z23_PbWp-iEyMBYFGnnALYBvvcXS”; //Token
char ssid[] = “Wifi.id”; //Nama wifi
char pass[] = “alam oye”; //Password wifi
BlynkTimer timer;

#define LDR A0 //LDR pada pin A0

#define MAX_ADC_READING 1023

#define ADC_REF_VOLTAGE 5.0

#define REF_RESISTANCE 10000

#define LUX_CALC_SCALAR 125235178.3654270

#define LUX_CALC_EXPONENT -1.604568157

int ldrRawData;
float resistorVoltage, ldrVoltage;
float ldrResistance;
float ldrLux;

unsigned long TSekarang;
unsigned long TAkhir;

void setup() {
Blynk.begin(auth, ssid, pass); //Inisialisasi token, wifi dan password
timer.setInterval(1000L, sendSensor); //Kirim data sensor
Serial.begin(9600);
}
void loop() {
Blynk.run(); //Jalankan pembacaan Blynk
timer.run();
hitung_cahaya(); //Hitung nilai Lux
if(ldrLux < 200){ TSekarang = millis(); if(TSekarang – TAkhir > 10000){ //Kirim notifikasi setiap 10 detik
Blynk.notify(“Tumbuhan Kekurangan Cahaya. Nyalakan Cahaya Buatan…!!!”);
TAkhir = TSekarang;
}
}
Serial.println(ldrLux);
}
void sendSensor(){ //Kirim data sensor
Blynk.virtualWrite(V0,ldrLux);
}
void hitung_cahaya(){
ldrRawData = analogRead(LDR); //Baca sensor
//————Konversi dari data analog ke nilai lux————//
resistorVoltage = (float)ldrRawData / MAX_ADC_READING * ADC_REF_VOLTAGE;
ldrVoltage = ADC_REF_VOLTAGE – resistorVoltage;
ldrResistance = ldrVoltage / resistorVoltage * REF_RESISTANCE;
ldrLux = LUX_CALC_SCALAR * pow(ldrResistance, LUX_CALC_EXPONENT);
}

jika ada kendala bisa diskusi di : 085369237896 (mas fajar)