Optimalisasi Intensitas Cahaya Pada Tana
Optimalisasi Intensitas Cahaya Pada Tanaman
Dengan Sensor Cahaya dan Arduino
1711600161
1711600179
1711600245
1711600260
1711601029
Moch. Sofiyan
Fuadi Imran
Sigit Yudha Aryadi
Cici Emilia Sukmawati
Budi Muhammad
Abstrak
Pertumbuhan populasi manusia terus meningkat tiap tahunnya. Pertumbuhan ini dibarengi dengan semakin
meluasnya pemukiman untuk tempat tinggal terutama di daerah perkotaan. Hutan dan lahan pertanian menjadi
korban dari pertumbuhan populasi yang tidak terkendali tersebut. Kondisi lahan pertanian yang semakin sempit di
Indonesia, serta musim yang tidak menentu menjadikan metode urban farming dapat menjadi solusi bagi pertanian
Indonesia. Dengan ditambahkan pengaturan otomatis menggunakan perangkat Arduino dapat mempermudah dalam
bercocok tanam metode urban farming. Dilakukan proses pembangunan sensor cahaya menggunakan perangkat
keras arduino yang sudah diinputkan bahasan pemrograman arduino agar dapat memproses inputan sinyal cahaya
yang diterima oleh sensor LDR, sehingga mampu untuk menggerakkan motor servo. Hasil evaluasi penelitian ini
yaitu, menghasilkan sebuah alat yang mampu untuk mendeteksi keberadaan cahaya, motor servo dapat bergerak
mengikuti arah sumber cahaya. Hasil pergerakan motor servo tersebut dapat memberikan intensitas cahaya yang
mencukupi untuk tumbuhan dalam melakukan proses fotosintesis.
I.
Pendahuluan
Pertumbuhan populasi manusia terus meningkat tiap tahunnya. Pertumbuhan ini dibarengi
dengan semakin meluasnya pemukiman untuk tempat tinggal terutama di daerah perkotaan.
Hutan dan lahan pertanian menjadi korban dari pertumbuhan populasi yang tidak terkendali
tersebut. Banyak lahan pertanian yang kini sudah berubah menjadi bangunan pemukiman
maupun keperluan industri. Perlu adanya inovasi untuk mempertahankan kondisi keberadaan
lahan untuk bercocok tanam. Sebagai contoh di perkotaan masyarakat bisa melakukan urban
farming untuk mendukung hasil pertaniannya.
Pada tanaman, diketahui bahwa energi sinar yang digunakan tumbuhan untuk fotosintesis
hanya 0,5-2% dari jumlah energy yang tersedia. Energi yang diberikan itu tergantung kepada
kualitas (panjang gelombang), intensitas (banyaknya sinar per 1 cm2 per detik) dan waktu.
Setiap tanaman menyerap cahaya yang berbeda-beda tergantung dari membran grana yang
terdapat pada tumbuhan. Hasil tanaman yang baik diperoleh melalui perlakuan yang tepat pada
tanaman. Salah satu perlakuan bagi tumbuhan yaitu dengan pengaturan intensitas cahaya yang
didapat karena berhubungan erat dengan aktivitas fotosintesis tanaman. Pengaturan cahaya pada
tanaman dapat dilakukan dengan mengubah-ubah intensitas dan warna cahaya yang digunakan
sehingga cahaya yang didapat tanaman akan sesuai dengan panjang gelombang yang dapat
diterima tanaman.
Pengaturan cahaya secara otomatis dapat dilakukan menggunakan perangkat Arduino.
Arduino merupakan suatu papan elektronik yang mengandung mikrokontoller di dalamnya dan
dapat diprogram menggunakan bahasa Processing. Perangkat Arduino merupakan perangkat
keras open source, perangkat keras open source dapat dikembangkan dengan penambahan
komponen dan secara umum pengembangnya akan berbeda di seluruh dunia. Serta software
Arduino dapat diunduh, dipakai, dikembangkan, diubah, bahkan dijual kembali. Jenis Arduino
yang digunakan adalah Arduino UNO, perangkat ini memiliki pin input/output.
Kondisi lahan pertanian yang semakin sempit di Indonesia, serta musim yang tidak
menentu menjadikan metode urban farming dapat menjadi solusi bagi pertanian Indonesia.
Dengan
ditambahkan
pengaturan
otomatis
menggunakan
perangkat
Arduino
dapat
mempermudah dalam bercocok tanam metode urban farming.
II.
Studi Pustaka
Penggunaan naungan pada tanaman digunakan untuk mengurangi intensitas cahaya yang
berlebih, namun naungan akan tetap mengurangi intensitas cahaya meskipun cuaca sedang
mendung sehingga tanaman berada pada kondisi terlalu teduh atau kurang cahaya matahari. Oleh
karena itu dibuatlah suatu alat yang dapat mencari sumber cahaya untuk menambah intensitas
cahaya itu sendiri. Dengan membuat alat pengendali intensitas cahaya otomatis dengan desain
sendiri, sehingga cahaya yang menyinari tanaman bisa diatur dengan mencari sumber cahaya
yang ada. (Hasil et al., n.d.)
Sebaran intensitas cahaya di dalam penelitian ini masih belum merata. Untuk itu perlu
dilakukan pengondisian. Cahaya matahari yang digunakan untuk perbandingan sumber cahaya
dengan LED masih terlalu besar dan penggunaan sistem masih belum optimal.(Program, Fisika,
Program, & Fisika, n.d.).
III. Rancangan
Perancangan pembuatan sensor cahaya membutuhkan beberapa barang yang diperlukan,
sebelumnya kami membuat perancangan pengkabelan antara alat-alat yang digunakan. Berikut
alat-alat yang digunakan.
A.
Arduino Uno
Arduino uno adalah pengendali mikro single-board yang bersifat open-source diturunkan
dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang.
Gambar 3. 1 Papan Arduino UNO
Perangkat keras arduino uno memiliki Atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri.
B.
Sensor Light Dependent Resistor (LDR)
Resistor
peka
cahaya
(Light
Dependent
Resistor/LDR)
memanfaatkan
bahan
semikonduktor yang karakteristik listriknya berubah-ubah sesuai dengan cahaya yang diterima.
Bahan yang digunakan adalah Kadmium Sulfida (CdS) dan Kadmium Selenida (CdSe). Bahanbahan ini paling sensitif terhadap cahaya dalam spektrum tampak, dengan puncaknya sekitar 0,6
µm untuk CdS dan 0,75 µm untuk CdSe. Sebuah LDR CdS yang typikal memiliki resistansi
sekitar 1 MΩ dalam kondisi gelap gulita dan kurang dari 1 KΩ ketika ditempatkan dibawah
sumber cahaya terang (Mike Tooley, 2003).
Gambar 3. 2 Light Dependent Resistor
LDR adalah suatu bentuk komponen yang mempunyai perubahan resistansi yang besarnya
tergantung pada cahaya. Karakteristik LDR terdiri dari dua macam yaitu Laju Recovery dan
Respon Spektral:
1.
Laju Recovery
Bila sebuah LDR dibawa dari suatu ruangan dengan level kekuatan cahaya tertentu kedalam
suatu ruangan yang gelap, maka bisa kita amati bahwa nilai resistansi dari LDR tidak akan
segera berubah resistansinya pada keadaan ruangan gelap tersebut. Namun LDR tersebut hanya
akan bisa mencapai harga di kegelapan setelah mengalami selang waktu tertentu. Laju recovery
merupakan suatu ukuaran praktis dan suatu kenaikan nilai resistansi dalam waktu tertentu. Harga
ini ditulis dalam K /detik, untuk LDR type arus harganya lebih besar dari 200 K /detik (selama
20 menit pertama mulai dari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi pada
arah sebaliknya, yaitu pindah dari tempat gelap ke tempat terang yang memerlukan waktu kurang
dari 10 ms untuk mencapai resistansi yang sesuai dengan level cahaya 400 lux.
2.
Respon Spectral
LDR tidak mempunyai sensitivitas yang sama untuk setiap panjang gelombang cahaya yang
jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu
tembaga, alumunium, baja, emas, dan perak. Dari kelima bahan tersebut tembaga merupakan
penghantar yang paling banyak digunakan karena mempunyai daya hantar yang baik (TEDC,
1998).
C.
Kabel jamper
Kabel jumper digunakan untuk menghubungkan antara arduino dan komponen-komponen
lainnya.
Gambar 3. 2 Kabel Jumper
D.
Breadboard
Breadboard sejenis papan rangkaian yang umum digunakan untuk menghubungkan
rangkaian elektronika dalam hal ini peralatan untuk membangun radar.
Gambar 3. 3 Breadboard
sebelum rangkaian elektronika tersebut dicetak pada papan rangkaian tercetak (PCB) bisa
menggunakan papan breadboard.
E.
Servo Motor
Motor servo adalah sebuah motor DC dengan sistem umpan balik tertutup di mana posisi
rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.
Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol.
Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari
sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel
motor servo.
Gambar 3. 4 Servo Motor
F.
Desain Skematik Rangkaian
Dalam project ini digunakan Arduino Uno ATmega328, sensor LDR dan
motor servo (dengan kemampuan rotasi 0 sampai 180 derajat) dengan
desain seperti berikut.
Gambar 3.6 Perancangan Alat
Pemanfaatan sensor LDR dengan metode pengukuran tegangan DC
memanfaatkan ADC dari ATMega328 berupa tegangan (multimeter).
Menggunakan metode pembagi tegangan R1 (berupa potensiometer
multiturn 10KΩ) dan R2 (yaitu sensor LDR dengan resistansi saat
terang sekitar 0Ω dan saat gelap mencapai 5KΩ). Karena LDR sebagai
R2 (lihar gambar 6) maka ketika LDR (light dependent resistor)
mendapatkan cahaya makin besar cahaya yang didapat, maka
tegangan keluaran semakin mengecil sesuai dengan skematik dan
persamaan pada gambar 6.
Gambar 6 Skematik rangkaian sensor LDR dan rumus pembagi
tegangan
Untuk sumber tegangan LDR (5V) menggunakan pin D2 dan D3 dan
didefinisikan pin tersebut sebagai luaran dan selalu bernilai HIGH (5v)
didefinisikan dibagian fungsi setup(), sebaiknya tidak menggunakan
pin D0 dan D1 jika untuk komunikasi data serial (untuk monitor
tegangan luaran misalnya).
Untuk motor servo seperti pada gambar 7 pin data input (pulsa PWM)
dihubungkan ke pin D8 dan untuk tegangan 5V melalui dari pin
tegangan catu 5V, sangat dilarang menggunakan pin digital sebagai
tegangan catu yang mengkonsumsi arus besar bahkan untuk motor
DC atau servo, karena dapat menghasilkan induksi listrik yang bisa
merusak pin digital MCU.
G.
Rancangan Program
Dikarenakan digunakan dua sensor LDR sebagai fungsi differensial yang
akan mengukur mana intensitas yang paling besar dan MCU akan
mengukur selisihnya untuk dieksekusi melalui motor servo sebagai
penggerak dudukan tanaman hidroponik yang juga sejajar dengan sensor
LDR. Saat salah satu intensitas cahaya LDR lebih besar (tegangan input
akan lebih kecil) maka motor servo akan bergerak ke posisi yang
berintensitas lebih besar. Setiap siklus loop motor servo bergerak setiap
derajat (dengan faktor penambahan 1 derajat setiap loop). Saat tercapai
intensitas kedua sensor bernilai sama maka motor servo akan terhenti
dan tidak bergerak. Untuk dicapai nilai luaran (dari pengukuran ADC0 dan
ADC1 agar sama maka bisa dikalibrasi melalui potensio R1 dan R2 juga
melalui faktor penambah atau pengurang dari program Arduino.
Berikut adalah listing lengkap dari program Arduino:
#define MAX_RESAMPLING 10 // resampling ADC
#define SERVO_PIN 22 // pin data input untuk servo
#define DEFAULTPOS 90 // sudut awal / posisi vertikal 0 derajat
#define DELAYSERVO 15 // delay default setiap siklus pulsa PWM
#define SUDUT_AWAL 90 // sudut awal di set ke 90 derajat
#define LANGKAH_ROTASI 5 // sudut rotasi setiap langkah per 5 derajat
#include
Servo myservo;
// servo object untuk kontrol servo
int pos = 0;
// variable store posisi servo
// kalibrasi offset pengukuran ADC1 & 2 (dari LDR1 &2)
int offsetV1 = 20;
int offsetV2 = 0;
// ADC 10 bit = 1023 step = atau resolusi per step 5000mV / 1023 = 4,88 mV
(dgn Vref default = 5V)
int tolerance1 = 100; // toleransi faktor 100 atau 100 * 4,88 mV = 488 mV
selisih antara intensitas dari 2 LDR
static String LDR = "LDR"; // untuk print out tegangan yg terbaca
static String LDRCAL = "LDR CALIBRATED"; // untuk print out tegangan yg sudah
terkalibrasi
void setup() {
Serial.begin(9600);
//pinMode(11,OUTPUT);
pinMode(52,OUTPUT);
pinMode(53,OUTPUT);
digitalWrite(52,HIGH);
digitalWrite(53,HIGH);
myservo.attach(SERVO_PIN); // penempatan pin untuk data motor servo
delay(100); // tundaan 100ms menunggu posisi servo mencapai sudut awal
resetPos();
}
// loop subroutine:
void loop() {
// read the input on analog pin 0:
int ldrValue1=0;
int ldrValue2=0;
for (int i=1;i ldrValue2) {
pos+=LANGKAH_ROTASI;
moveServo(pos);
}
if (ldrValue2 > ldrValue1) {
pos-=LANGKAH_ROTASI;
moveServo(pos);
}
}
}
void resetPos() {
for (int p = 0; p
Dengan Sensor Cahaya dan Arduino
1711600161
1711600179
1711600245
1711600260
1711601029
Moch. Sofiyan
Fuadi Imran
Sigit Yudha Aryadi
Cici Emilia Sukmawati
Budi Muhammad
Abstrak
Pertumbuhan populasi manusia terus meningkat tiap tahunnya. Pertumbuhan ini dibarengi dengan semakin
meluasnya pemukiman untuk tempat tinggal terutama di daerah perkotaan. Hutan dan lahan pertanian menjadi
korban dari pertumbuhan populasi yang tidak terkendali tersebut. Kondisi lahan pertanian yang semakin sempit di
Indonesia, serta musim yang tidak menentu menjadikan metode urban farming dapat menjadi solusi bagi pertanian
Indonesia. Dengan ditambahkan pengaturan otomatis menggunakan perangkat Arduino dapat mempermudah dalam
bercocok tanam metode urban farming. Dilakukan proses pembangunan sensor cahaya menggunakan perangkat
keras arduino yang sudah diinputkan bahasan pemrograman arduino agar dapat memproses inputan sinyal cahaya
yang diterima oleh sensor LDR, sehingga mampu untuk menggerakkan motor servo. Hasil evaluasi penelitian ini
yaitu, menghasilkan sebuah alat yang mampu untuk mendeteksi keberadaan cahaya, motor servo dapat bergerak
mengikuti arah sumber cahaya. Hasil pergerakan motor servo tersebut dapat memberikan intensitas cahaya yang
mencukupi untuk tumbuhan dalam melakukan proses fotosintesis.
I.
Pendahuluan
Pertumbuhan populasi manusia terus meningkat tiap tahunnya. Pertumbuhan ini dibarengi
dengan semakin meluasnya pemukiman untuk tempat tinggal terutama di daerah perkotaan.
Hutan dan lahan pertanian menjadi korban dari pertumbuhan populasi yang tidak terkendali
tersebut. Banyak lahan pertanian yang kini sudah berubah menjadi bangunan pemukiman
maupun keperluan industri. Perlu adanya inovasi untuk mempertahankan kondisi keberadaan
lahan untuk bercocok tanam. Sebagai contoh di perkotaan masyarakat bisa melakukan urban
farming untuk mendukung hasil pertaniannya.
Pada tanaman, diketahui bahwa energi sinar yang digunakan tumbuhan untuk fotosintesis
hanya 0,5-2% dari jumlah energy yang tersedia. Energi yang diberikan itu tergantung kepada
kualitas (panjang gelombang), intensitas (banyaknya sinar per 1 cm2 per detik) dan waktu.
Setiap tanaman menyerap cahaya yang berbeda-beda tergantung dari membran grana yang
terdapat pada tumbuhan. Hasil tanaman yang baik diperoleh melalui perlakuan yang tepat pada
tanaman. Salah satu perlakuan bagi tumbuhan yaitu dengan pengaturan intensitas cahaya yang
didapat karena berhubungan erat dengan aktivitas fotosintesis tanaman. Pengaturan cahaya pada
tanaman dapat dilakukan dengan mengubah-ubah intensitas dan warna cahaya yang digunakan
sehingga cahaya yang didapat tanaman akan sesuai dengan panjang gelombang yang dapat
diterima tanaman.
Pengaturan cahaya secara otomatis dapat dilakukan menggunakan perangkat Arduino.
Arduino merupakan suatu papan elektronik yang mengandung mikrokontoller di dalamnya dan
dapat diprogram menggunakan bahasa Processing. Perangkat Arduino merupakan perangkat
keras open source, perangkat keras open source dapat dikembangkan dengan penambahan
komponen dan secara umum pengembangnya akan berbeda di seluruh dunia. Serta software
Arduino dapat diunduh, dipakai, dikembangkan, diubah, bahkan dijual kembali. Jenis Arduino
yang digunakan adalah Arduino UNO, perangkat ini memiliki pin input/output.
Kondisi lahan pertanian yang semakin sempit di Indonesia, serta musim yang tidak
menentu menjadikan metode urban farming dapat menjadi solusi bagi pertanian Indonesia.
Dengan
ditambahkan
pengaturan
otomatis
menggunakan
perangkat
Arduino
dapat
mempermudah dalam bercocok tanam metode urban farming.
II.
Studi Pustaka
Penggunaan naungan pada tanaman digunakan untuk mengurangi intensitas cahaya yang
berlebih, namun naungan akan tetap mengurangi intensitas cahaya meskipun cuaca sedang
mendung sehingga tanaman berada pada kondisi terlalu teduh atau kurang cahaya matahari. Oleh
karena itu dibuatlah suatu alat yang dapat mencari sumber cahaya untuk menambah intensitas
cahaya itu sendiri. Dengan membuat alat pengendali intensitas cahaya otomatis dengan desain
sendiri, sehingga cahaya yang menyinari tanaman bisa diatur dengan mencari sumber cahaya
yang ada. (Hasil et al., n.d.)
Sebaran intensitas cahaya di dalam penelitian ini masih belum merata. Untuk itu perlu
dilakukan pengondisian. Cahaya matahari yang digunakan untuk perbandingan sumber cahaya
dengan LED masih terlalu besar dan penggunaan sistem masih belum optimal.(Program, Fisika,
Program, & Fisika, n.d.).
III. Rancangan
Perancangan pembuatan sensor cahaya membutuhkan beberapa barang yang diperlukan,
sebelumnya kami membuat perancangan pengkabelan antara alat-alat yang digunakan. Berikut
alat-alat yang digunakan.
A.
Arduino Uno
Arduino uno adalah pengendali mikro single-board yang bersifat open-source diturunkan
dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang.
Gambar 3. 1 Papan Arduino UNO
Perangkat keras arduino uno memiliki Atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri.
B.
Sensor Light Dependent Resistor (LDR)
Resistor
peka
cahaya
(Light
Dependent
Resistor/LDR)
memanfaatkan
bahan
semikonduktor yang karakteristik listriknya berubah-ubah sesuai dengan cahaya yang diterima.
Bahan yang digunakan adalah Kadmium Sulfida (CdS) dan Kadmium Selenida (CdSe). Bahanbahan ini paling sensitif terhadap cahaya dalam spektrum tampak, dengan puncaknya sekitar 0,6
µm untuk CdS dan 0,75 µm untuk CdSe. Sebuah LDR CdS yang typikal memiliki resistansi
sekitar 1 MΩ dalam kondisi gelap gulita dan kurang dari 1 KΩ ketika ditempatkan dibawah
sumber cahaya terang (Mike Tooley, 2003).
Gambar 3. 2 Light Dependent Resistor
LDR adalah suatu bentuk komponen yang mempunyai perubahan resistansi yang besarnya
tergantung pada cahaya. Karakteristik LDR terdiri dari dua macam yaitu Laju Recovery dan
Respon Spektral:
1.
Laju Recovery
Bila sebuah LDR dibawa dari suatu ruangan dengan level kekuatan cahaya tertentu kedalam
suatu ruangan yang gelap, maka bisa kita amati bahwa nilai resistansi dari LDR tidak akan
segera berubah resistansinya pada keadaan ruangan gelap tersebut. Namun LDR tersebut hanya
akan bisa mencapai harga di kegelapan setelah mengalami selang waktu tertentu. Laju recovery
merupakan suatu ukuaran praktis dan suatu kenaikan nilai resistansi dalam waktu tertentu. Harga
ini ditulis dalam K /detik, untuk LDR type arus harganya lebih besar dari 200 K /detik (selama
20 menit pertama mulai dari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi pada
arah sebaliknya, yaitu pindah dari tempat gelap ke tempat terang yang memerlukan waktu kurang
dari 10 ms untuk mencapai resistansi yang sesuai dengan level cahaya 400 lux.
2.
Respon Spectral
LDR tidak mempunyai sensitivitas yang sama untuk setiap panjang gelombang cahaya yang
jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu
tembaga, alumunium, baja, emas, dan perak. Dari kelima bahan tersebut tembaga merupakan
penghantar yang paling banyak digunakan karena mempunyai daya hantar yang baik (TEDC,
1998).
C.
Kabel jamper
Kabel jumper digunakan untuk menghubungkan antara arduino dan komponen-komponen
lainnya.
Gambar 3. 2 Kabel Jumper
D.
Breadboard
Breadboard sejenis papan rangkaian yang umum digunakan untuk menghubungkan
rangkaian elektronika dalam hal ini peralatan untuk membangun radar.
Gambar 3. 3 Breadboard
sebelum rangkaian elektronika tersebut dicetak pada papan rangkaian tercetak (PCB) bisa
menggunakan papan breadboard.
E.
Servo Motor
Motor servo adalah sebuah motor DC dengan sistem umpan balik tertutup di mana posisi
rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.
Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol.
Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari
sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel
motor servo.
Gambar 3. 4 Servo Motor
F.
Desain Skematik Rangkaian
Dalam project ini digunakan Arduino Uno ATmega328, sensor LDR dan
motor servo (dengan kemampuan rotasi 0 sampai 180 derajat) dengan
desain seperti berikut.
Gambar 3.6 Perancangan Alat
Pemanfaatan sensor LDR dengan metode pengukuran tegangan DC
memanfaatkan ADC dari ATMega328 berupa tegangan (multimeter).
Menggunakan metode pembagi tegangan R1 (berupa potensiometer
multiturn 10KΩ) dan R2 (yaitu sensor LDR dengan resistansi saat
terang sekitar 0Ω dan saat gelap mencapai 5KΩ). Karena LDR sebagai
R2 (lihar gambar 6) maka ketika LDR (light dependent resistor)
mendapatkan cahaya makin besar cahaya yang didapat, maka
tegangan keluaran semakin mengecil sesuai dengan skematik dan
persamaan pada gambar 6.
Gambar 6 Skematik rangkaian sensor LDR dan rumus pembagi
tegangan
Untuk sumber tegangan LDR (5V) menggunakan pin D2 dan D3 dan
didefinisikan pin tersebut sebagai luaran dan selalu bernilai HIGH (5v)
didefinisikan dibagian fungsi setup(), sebaiknya tidak menggunakan
pin D0 dan D1 jika untuk komunikasi data serial (untuk monitor
tegangan luaran misalnya).
Untuk motor servo seperti pada gambar 7 pin data input (pulsa PWM)
dihubungkan ke pin D8 dan untuk tegangan 5V melalui dari pin
tegangan catu 5V, sangat dilarang menggunakan pin digital sebagai
tegangan catu yang mengkonsumsi arus besar bahkan untuk motor
DC atau servo, karena dapat menghasilkan induksi listrik yang bisa
merusak pin digital MCU.
G.
Rancangan Program
Dikarenakan digunakan dua sensor LDR sebagai fungsi differensial yang
akan mengukur mana intensitas yang paling besar dan MCU akan
mengukur selisihnya untuk dieksekusi melalui motor servo sebagai
penggerak dudukan tanaman hidroponik yang juga sejajar dengan sensor
LDR. Saat salah satu intensitas cahaya LDR lebih besar (tegangan input
akan lebih kecil) maka motor servo akan bergerak ke posisi yang
berintensitas lebih besar. Setiap siklus loop motor servo bergerak setiap
derajat (dengan faktor penambahan 1 derajat setiap loop). Saat tercapai
intensitas kedua sensor bernilai sama maka motor servo akan terhenti
dan tidak bergerak. Untuk dicapai nilai luaran (dari pengukuran ADC0 dan
ADC1 agar sama maka bisa dikalibrasi melalui potensio R1 dan R2 juga
melalui faktor penambah atau pengurang dari program Arduino.
Berikut adalah listing lengkap dari program Arduino:
#define MAX_RESAMPLING 10 // resampling ADC
#define SERVO_PIN 22 // pin data input untuk servo
#define DEFAULTPOS 90 // sudut awal / posisi vertikal 0 derajat
#define DELAYSERVO 15 // delay default setiap siklus pulsa PWM
#define SUDUT_AWAL 90 // sudut awal di set ke 90 derajat
#define LANGKAH_ROTASI 5 // sudut rotasi setiap langkah per 5 derajat
#include
Servo myservo;
// servo object untuk kontrol servo
int pos = 0;
// variable store posisi servo
// kalibrasi offset pengukuran ADC1 & 2 (dari LDR1 &2)
int offsetV1 = 20;
int offsetV2 = 0;
// ADC 10 bit = 1023 step = atau resolusi per step 5000mV / 1023 = 4,88 mV
(dgn Vref default = 5V)
int tolerance1 = 100; // toleransi faktor 100 atau 100 * 4,88 mV = 488 mV
selisih antara intensitas dari 2 LDR
static String LDR = "LDR"; // untuk print out tegangan yg terbaca
static String LDRCAL = "LDR CALIBRATED"; // untuk print out tegangan yg sudah
terkalibrasi
void setup() {
Serial.begin(9600);
//pinMode(11,OUTPUT);
pinMode(52,OUTPUT);
pinMode(53,OUTPUT);
digitalWrite(52,HIGH);
digitalWrite(53,HIGH);
myservo.attach(SERVO_PIN); // penempatan pin untuk data motor servo
delay(100); // tundaan 100ms menunggu posisi servo mencapai sudut awal
resetPos();
}
// loop subroutine:
void loop() {
// read the input on analog pin 0:
int ldrValue1=0;
int ldrValue2=0;
for (int i=1;i ldrValue2) {
pos+=LANGKAH_ROTASI;
moveServo(pos);
}
if (ldrValue2 > ldrValue1) {
pos-=LANGKAH_ROTASI;
moveServo(pos);
}
}
}
void resetPos() {
for (int p = 0; p