36
4.1.1. Mikrokontroler Arduino UNO
Bagian ini merupakan pemroses keseluruhan dari sistem ini. Rutin yang
dikerjakan ditulis dalam bahasa c yang selanjutnya didownload pada memori internal
di dalamnya terdapat 32 Kbytes Flash Memory, 14 jalur digital I/O di mana 6 buah
diantaranya menyediakan fasilitas PWM, 8 jalur input analog, 2 Kbytes SRAM, dan
37
dilengkapi dengan EEPROM 1 Kbyte . Sementara clock speed mencapai 16 Mhz.
Microcontroller ini beroperasi pada tegangan DC 5 volt. Arus DC per pin I/O
adalah 40 mA. Dalam pengujian didapat hasil pengukuran seperti tabel di bawah ini :
38
4.1.2. Sensor Air
Pada rangkaian sensor Air terdapat tiga kaki sensor yang utama yaitu Vcc, Ground
dan Data. Adapun titik pengukuran yang diakukan pada titik Data adalah sebagai berikut:
39
Gambar pengukuran pada saat tidak ada air
4.1.3. LDR
40
Tabel 4.3. Data Pengukuran Rangkaian LDR
41
Gambar pengukuran pada saat ada cahaya
42
Gambar pada saat motor DC OFF
43
Gambar pada saat motor DC putaran maju
44
Gambar pada saat motor DC putaran mundur
45
4.1.5. Relay Lampu
46
Gambar pada saat lampu OFF
47
Gambar pada saat Fan ON
48
Gambar pada saat Fan OFF
49
Dalam pemrograman Arduino menggunakan software arduino IDE dapat
1. Header file
Header file adalah library file yang telah tersedia di dalam Arduino IDE. Library
nama header library dengan diapit tanda< >. Biasanya tampilan warnanya
adalah oranye.
Deklarasi dalam hal ini adalah pendaftaran penggunaan I/O. I/O yang digunakan
dalam proses pemrograman nantinya. Tanpa deklarasi ini maka pin yang dipanggil
dalam rutin program tidak akan dideteksi dan menampilkan pesan error.
3. Class
Class adalah sebuah rutin yang dapat bekerja pada waktu bersamaan dengan
jika kasus memerlukan operasi kerja yang bersifat multitasking (proses kerja lebih
4. Void setup
Pada bagian ini adalah adalah setting kondisi awal dari perangkat I/O yang telah
dideklarasi sebelumnya. Dan saat program dijalankan maka semua proses kerja
50
5. Void Loop
Bagian ini adalah yang menjadi inti utama dari program secara keseluruhan.
Setelah melalui eksekusi void setup maka void loop menjadi bagian yang akan
dieksekusi secara terus menerus berdasarkan kondisi program yang sudah dibuat.
6. Function
Function adalah bagian rutin yang dibuat untuk mempermudah dalam pembacaan
function dibuat maka function ini dapat dipanggil pada bagian void loop.
7. Comment
program. Sintaks penulisannya adalah // diikuti isi comment. Simbol ini hanya
dapat digunakan untuk comment dalam satu baris. Tetapi jika comment lebih dari
#define Ldr_Sense A0
#define Water_Sense 5 //active high
#define Limit_IN 7 //active low
#define Limit_OUT 6 //active low
#define DC_Motor_IN 8 //active low
#define DC_Motor_OUT 9 //active low
#define Fan 10 //active low
#define Lamp 11 //active low
Bagian ini adalah deklarasi dan penamaan pin I/O yang digunakan. Deklarasi
dimulai dari sensor hingga output. Jumlah baris dan kolom ditentukan di sini. Kemudian
51
void setup() {
// INPUT //
pinMode (Ldr_Sense,INPUT);
pinMode (Water_Sense,INPUT);
pinMode (Limit_IN,INPUT_PULLUP);
pinMode (Limit_OUT,INPUT_PULLUP);
// OUTPUT //
pinMode (DC_Motor_IN,OUTPUT);
digitalWrite(DC_Motor_IN,HIGH);
pinMode (DC_Motor_OUT,OUTPUT);
digitalWrite(DC_Motor_OUT,HIGH);
pinMode (Fan,OUTPUT);
digitalWrite(Fan,HIGH);
pinMode (Lamp,OUTPUT);
digitalWrite(Lamp,HIGH);
}
Rutin ini adalah pengkondisian pin input dan juga output. Termasuk nilai awal
void pemanasan()
{
if (digitalRead(Limit_IN) == LOW){
digitalWrite(DC_Motor_IN,HIGH);
digitalWrite(DC_Motor_OUT,HIGH);
digitalWrite(Fan,LOW); //ON
digitalWrite(Lamp,LOW); //ON
}
else{
digitalWrite(DC_Motor_IN,LOW);
digitalWrite(DC_Motor_OUT,HIGH);
}
}
void penjemuran()
{
if(digitalRead(Limit_OUT) == LOW){
digitalWrite(DC_Motor_IN,HIGH);
digitalWrite(DC_Motor_OUT,HIGH);
}
else {
digitalWrite(Fan,HIGH); //OFF
digitalWrite(Lamp,HIGH); //OFF
digitalWrite(DC_Motor_IN,HIGH);
digitalWrite(DC_Motor_OUT,LOW);
}
}
Rutin ini adalah fungsi yang dibuat yang nantinya akan dipanggil pada bagian
void loop. Terdiri dari 2 rutin yaitu mode pemanasan dan mode penjemuran.
52
Rutin utama dimulai dari void loop. Karena sintaks program yang cukup panjang
maka akan dikabarkan persub bagian.
void loop() {
Rutin utama dimulai dari baca kondisi sensor LDR secara ADC(bukan digital).
53