Sensor LDR atau sensor cahaya merupakan slah satu jenis resistor yang nilai resistansinya berubah sesuai dengan intenitas cahaya yang mengenainya. Tanaman hidroponik umumnya memiliki paranet diatas nya yang difungsikan untuk mengatur intensitas cahaya matahari yang diperlukan tanaman, namun pengoperasian nya masih secara manual. Kali ini kita akan mencoba mengotomatisasi paranet pada tanaman hidroponik.
[membership level=”0,1,2,4″]
1. Alat / Bahan
- Arduino IDE Download
- Library: Servo Download
- Arduino UNO 1 Buah
- Sensor LDR 1 Buah
- Servo 1 Buah
- Resistor 220 ohm 1 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Membuat Paranet Otomatis Untuk Hidroponik
Keterangan:
- 5V – VCC Servo, VCC LDR
- GND – GND Servo, kaki resistor
- D9 – Pin Data Servo
- A5 – Kaki resistor – kaki LDR
[/membership]
3. Langkah Kerja
- Siapkan alat dan juga bahan
- kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian pada gambar
- ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- kemudian Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Lakukan proses uploading program
4. Sketch Program
Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!
/* Program Membuat Paranet Otomatis Untuk Hidroponik dibuat oleh Indobot */ #include <Servo.h> //Library servo Servo myservo; //Deklarasi nama servo #define LDR 0 //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; void setup() { Serial.begin(9600); //Mulai komunikasi serial myservo.attach(9); //Servo pada pin D9 pinMode(LDR, OUTPUT); //Setting I/O } void loop() { baca_LDR(); //Jalankan prosedur baca LDR Serial.print("Intensitas Cahaya : "); Serial.print(ldrLux); Serial.println(" lux"); if(ldrLux < 50){ //Jika cahaya < 50 lux, maka myservo.write(0); //Buka servo } else if(ldrLux > 400){ //Jika cahaya > 400 lux, maka myservo.write(90); //Tutup servo } delay(200); } //-------------Prosedur baca LDR-------------// void baca_LDR(){ ldrRawData = analogRead(LDR); 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); }
Kesimpulan:
Program bekerja ketika sensor mulai mendeteksi cahaya. Ketika cahaya berlebih terdeteksi, servo akan bergerak untuk menutup paranet, sebaliknya jika cahaya kurang servo akan bergerak membuka paranet.
[/membership]
Ingin mengadakan pelatihan Arduino atau bahkan IoT (Internet of Things) bersama Indobot?