Perancangan Sistem Pengairan Tanaman Otomatis Menggunakan Grove Moisture Sensor Sen0100 Berbasis Arduino Leonardo dan Monitoring Melalui Wifi
7
BAB 2
LANDASAN TEORI
Dalam Bab ini penulis akan membahas tentang komponen- komponen
yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas
sesuai fungsinya pada masing- masing unitnya.
2.1.
Pengenalan Tanah
Tanah adalah lapisan permukaan bumi yang secara fisik berfungsi sebagai
tempat tumbuh dan berkembangnya perakaran penopang tegak tumbuhnya
tanaman dan menyuplai kebutuhan air dan udara. Tanah terbentuk dari proses
pelapukan batuan yang dibantu oleh organisme membentuk tekstur unik yang
menutupi permukaan bumi. Proses pembentukan tanah ini akan membentuk
lapisan-lapisan yang menutupi seluruh permukaan bumi.
Lapisan-lapisan yang terbentuk memiliki tekstur yang berbeda dan setiap
lapisan akan mencerminkan proses-proses fisika, kimia dan biologi yang telah
terjadi selama proses pembentukannya. Hans Jenny (1899-1992), seorang pakar
tanah asal Swiss yang bekerja di Amerika Serikat, menyebutkan bahwa tanah
terbentuk dari bahan induk yang telah mengalami modifikasi/pelapukan akibat
dinamika faktor iklim, organisme (termasuk manusia), dan relief permukaan bumi
(topografi) seiring dengan berjalannya waktu.
Universitas Sumatera Utara
8
2.1.1
Tanah Kompos
Tanah kompos adalah hasil dekomposisi bahan-bahan organik (tanaman,
sisa bangkai binatang) yang diurai oleh mikroorganisme di dalam tanah.
Prosesnya disebut juga pengomposan. Proses dekomposisi ini dapat dipengaruhi
oleh berbagai faktor. Misalnya penambahan mikroorganisme pengurai dan
penyesuaian lingkungan yang dilakukan dengan tujuan untuk mempercepat proses
penguraian/dekomposisi. Hal ini tentunya dilakukan atas campur tangan manusia,
bentuk fisik tanah kompos dapat dilihat pada Gambar 2.1.
Manfaat tanah kompos bagi pertanian, yaitu :
1. Meningkatkan kesuburan tanah
2. Memperbaiki struktur dan karakteristik tanah
3. Meningkatkan kapasitas penyerapan air oleh tanah
4. Meningkatkan aktivitas mikroba tanah
5. Meningkatkan kualitas hasil panen (rasa, nilai gizi, dan jumlah panen)
6. Menyediakan hormon dan vitamin bagi tanaman
7. Menekan pertumbuhan/serangan penyakit tanaman
8. Meningkatkan retensi/ketersediaan hara di dalam tanah.
Gambar 2.1 Tanah Kompos
Universitas Sumatera Utara
9
2.1.2
Kelembaban Tanah
Kelembaban tanah adalah air yang mengisi sebagian atau seluruh pori –
pori tanah yang berada di atas water table (Jamulya dan Suratman, 1993). Definisi
yang lain menyebutkan bahwa kelembaban tanah menyatakan jumlah air yang
tersimpan di antara pori – pori tanah. kelembaban tanah sangat dinamis, hal ini
disebabkan oleh penguapan melalui permukaan tanah, transpirasi dan perkolasi
(Suyono dan Sudarmadil, 1997). Kelembaban tanah memiliki peranan yang
penting bagi pemerintah untuk mengetahui informasi seperti potensi aliran
permukaan dan pengendali banjir, kegagalan erosi tanah dan kemiringan lereng,
manajemen sumber daya air, geoteknik, dan kualitas air. Kelembaban tanah
merupakan salah satu variabel kunci pada perubahan dari air dan energi panas di
antara permukaan dan atmosfer melalui evaporasi dan transpirasi (Arnold, 1999).
Untuk mengetahui kadar kelembaban tanah dapat digunakan banyak
macam teknik, diantaranya dapat dilakukan secara langsung melalui pengukuran
perbedaan berat tanah (disebut metode gravimetri) dan secara tidak langsung
melalui pengukuran sifat-sifat lain yang berhubungan erat dengan air tanah
(Gardner, 1986). Metode langsung secara gravimetri memiliki akurasi yang
sangat tinggi namun membutuhkan waktu dan tenaga yang sangat besar.
Kebutuhan akan metode yang cepat dalam memonitor fluktuasi kadar air tanah
menjadi sangat mendesak sebagai jawaban atas tingginya waktu dan tenaga yang
dibutuhkan oleh metode gravimetri.
Dua metode penetapan kadar air tanah secara tidak langsung yang sudah
banyak dikenal adalah melalui pengukuran sebaran neutron dan pengukuran
waktu hantaran listrik di dalam tanah (time domain reflectrometry, TDR). Prinsip
Universitas Sumatera Utara
10
kerja kedua metode tersebut adalah pengukuran dinamika sebaran neutron atau
waktu hantaran listrik di dalam tanah akibat adanya sejumlah air (Nadler et al.,
1991). Kendala yang dihadapi dalam memanfaatkan neutron probe dan TDR
untuk memonitor fluktuasi kadar air tanah adalah harga kedua alat tersebut yang
sangat mahal. Oleh sebab itu, perlu dilakukan penelitian tentang sifat-sifat tanah
lain yang dapat diukur sebagai penduga kadar air tanah.
Penelitian yang dilakukan Hermawan et al. (2000) menemukan adanya
hubungan yang erat antara sifat-sifat dielektrik tanah seperti konduktivitas,
kapasitansi dan impendensi listrik pada suatu media berpori dengan kadar air.
Kontribusi air tanah terhadap keragaman air tanah terhadap keragaman nilai
impendensi listrik, misalnya jauh lebih besar dibandingkan kontribusi dari
kepadatan tanah yang sebenarnya menjadi aspek utama dari penelitian tersebut.
Air tanah cenderung meningkat dan sebaliknya udara di dalam pori cenderung
menghambat laju konduktivitas listrik di dalam tanah, laju konduktivitas menurun
dengan semakin rendahnya kadar air tanah (Kittel,1991). Fenomena tersebut
sejalan dengan teori hubungan dielektrik dan air tanah yang dikembangkan
Friendman (1997).
2.2.
Irigasi
Irigasi adalah usaha penyediaan dan pengaturan air untuk menunjang
pertanian. Semua proses kehidupan di dalam tanah merupakan tempat media
pertumbuhan tanaman hanya dapat terjadi apabila ada air. Proses utama yang
menciptakan kesuburan tanah atau sebaliknya yang mendorong degradasi tanah
hanya dapat berlangsung apabila terdapat air.
Universitas Sumatera Utara
11
Irigasi berarti mengalirkan air secara buatan dari sumber air yang tersedia
kepada sebidang lahan untuk memenuhi kebutuhan tanaman. Dengan demikian
tujuan irigasi adalah mengalirkan air secara teratur sesuai kebutuhan tanaman
pada saat persediaan lengas tanah tidak mencukupi untuk mendukung
pertumbuhan tanaman, sehingga tanaman bisa tumbuh secara normal. Pemberian
air irigasi yang efisien selain dipengaruhi oleh tatacara aplikasi, juga ditentukan
oleh kebutuhan air guna mencapai kondisi air tersedia yang dibutuhkan tanaman.
2.3 Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah
chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil
RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan
kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai
masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus
dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis
data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk
mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.
Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem
elektronik
yang
sebelumnya
banyak
memerlukan
komponen-komponen
pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya
terpusat serta dikendalikan oleh mikrokontroler ini.
Arduino merupakan kit mikrokontroler yang bersifat Open-Source baik
perangkat keras maupun perangkat lunaknya. Perangkat keras yang diprogram
menggunakan bahasa pemrogaman berbasis Wiring menyerupai C++ dengan
Universitas Sumatera Utara
12
beberapa penyederhanaan dan modifikasi. Untuk perangkat lunak IDE yang
dibangun berbasis Proccessing. Arduino ditemukan dan dikembangkan pertama
kali di Ivrea, italia oleh Massimo Banzi dan David Cuertilles.
Ide terciptanya Arduino didasari dari mahalnya komponen perangkat keras
elektronik yang tersedia. Hal ini menjadi penghambat utama para mahasiswa dan
pelajar dalam bereksplorasi. Selain harga yang murah, kemudahan dan
fleksibilitas penggunaan menjadi pertimbangan oleh pengguna-pengguna Arduino
masa kini. Pengguna tidak lagi terkendala waktu untuk mendalami elektronika
dan mikrokontroler. Pengguna juga tidak akan disulitkan dalam merancang suatu
sistem eletktronika karena banyak komunitas yang menyediakan tutorial proyek
berbasis Arduino secara gratis di dunia maya.
Munculnya Arduino menjadikannya sebagai tren teknologi yang
revolusioner. Arduino terbuka untuk semua orang yang ingin mengembangkan
suatu sistem interaktif berbasis mikrokontroler, baik untuk kalangan mahasiswa,
pelajar, profesional bahkan pemula sekalipun.
Pengguna dapat memiliki Arduino sesuai kebutuhannnya karena Arduino
dibuat dalam beberapa jenis diantaranya yaitu Arduino Diecimila, Duemilanove,
UNO, Lenardo, Mega, Nano, Due, Yun dan berbagai jenis Arduino lainnya.
2.3.1 Arduino Leonardo
Arduino Leonardo adalah papan mikrokontroler berbasis ATmega32u4,
seperti yang tampak pada Gambar 2.2. Arduino Leonardo memiliki 20 digital pin
input/output (yang mana 7 pin dapat digunakan sebagai output PWM dan 12 pin
sebagai input analog), 16 MHz kristal osilator, koneksi micro USB, jack power
Universitas Sumatera Utara
13
suplai tegangan, header ICSP, dan tombol reset. Ini semua yang diperlukan untuk
mendukung mikrokontroler. Cukup dengan menghubungkannya ke komputer
melalui kabel USB atau power dihubungkan dengan adaptor AC-DC atau baterai
untuk mulai mengaktifkannya.
Leonardo berbeda dari semua papan Arduino yang lainnya karena
ATmega32u4 secara terintegrasi (built-in) telah memiliki komunikasi USB,
sehingga tidak lagi membutuhkan prosesor sekunder (tanpa chip ATmega16U2
sebagai konverter USB-to-serial).
Hal ini memungkinkan Arduino Leonardo yang terhubung ke komputer
digunakan sebagai mouse dan keyboard, selain bisa digunakan sebagai virtual
(CDC) serial/COM port. Adapun spesifikasi singkat mengenai Arduino Leonardo
adalah sebagai berikut :
1. Mikrokontroler
: ATmega32U4
2. Kapasitas memori program / Flash Memory : 32 KB (4 KB sudah
digunakan untuk bootloader)
3. Kapasitas SRAM
: 2,5 KB
4. Kapasitas NVRAM/ EEPROM: 1 KB (dapat diakses menggunakan
pustaka EEPROM)
5. Kecepatan detak
: 16 MHz
6. Tegangan Operasional
: 5V (TTL)
7. Tegangan Catu Daya
: 7 - 12 Volt
(sekurang-kurangnya 6V, maksimum 20V)
8. Jumlah pin digital I/O
: 20 pin
9. Jumlah pin PWM
: 7 kanal
Universitas Sumatera Utara
14
10. Jumlah pin masukan analog (ADC)
: 12 kanal
11. Maksimum arus per pin
: 40 mA
12. Maksimum arus yang dapat ditarik dari pin 3v3
: 50 mA
Gambar 2.2 Arduino Leonardo
Arduino Leonardo dalam penelitian ini telah dikemas dalam satu papan
modul bernama WiDO bersamaan dengan modul WiFi seperti yang ditunjukkan
oleh Gambar 2.3 sehingga papan modul ini memudahkan proses integrasi modul
WiFi dengan Mikrokontroller Arduino.
Gambar 2.3 Papan Modul WiDO
Universitas Sumatera Utara
15
2.3.2 Pemetaan Pin Arduino Leonardo
Mikrokontroler yang digunakan pada Arduino Leonardo ini adalah
Mikrokontroler ATMega32U4. Mikrokontroler ini menjadi komponen utama dari
sistem minimum Arduino Leonardo. Setiap pin mikrokontroler ATMega32U4
dipetakan sesuai dengan kebutuhan standarArduino pada umumnya. Pemetaan pin
(pin mapping) ATMega32U4 dapat dilihat pada Gambar 2.3 dan Tabel 2.1.
Tabel 2.1 Daftar Pin Arduino Leonardo
Nomor Pin
Nama Pin
Pemetaan Nama Pin
1
PE6 (INT.6/AIN0)
Digital pin 7
2
UVcc
+5V
3
D-
RD-
4
D+
RD+
5
UGnd
UGND
6
UCap
UCAP
7
VUSB
VBus
8
(SS/PCINT0) PB0
RXLED
9
(PCINT1/SCLK) PB1
SCK
10
(PDI/PCINT2/MOSI) PB2
MOSI
11
(PDO/PCINT3/MISO) PB3
MISO
(PCINT7/OCA0/OC1C/#RTS)
Digital pin 11
12
PB7
(PWM)
13
RESET
RESET
14
Vcc
+5V
15
GND
GND
16
XTAL2
XTAL2
17
XTAL1
XTAL1
Digital pin 3
18
(OC0B/SCL/INT0) PD0
(SCL)(PWM)
Universitas Sumatera Utara
16
Nomor Pin
Nama Pin
Pemetaan Nama Pin
19
(SDA/INT1) PD1
Digital pin 2 (SDA)
20
(RX D1/AIN1/INT2) PD2
Digital pin 0 (RX)
21
(TXD1/INT3) PD3
Digital pin 1 (TX)
22
(XCK1/#CTS) PD5
TXLED
23
GND1
GND
24
AVCC
AVCC
25
(ICP1/ADC8) PD4
Digital pin 4
26
(T1/#OC4D/ADC9) PD6
Digital pin 12
27
(T0/OC4D/ADC10) PD7
Digital Pin 6 (PWM)
28
(ADC11/PCINT4) PB4
Digital pin 8
(PCINT5/OC1A/#OC4B/ADC12)
29
PB5
Digital Pin 9 (PWM)
(PCINT6/OC1B/OC4B/ADC13)
30
PB6
Digital Pin 10 (PWM)
31
(OC3A/#0C4A) PC6
Digital Pin 5 (PWM)
32
(ICP3/CLK0/)C4A) PC7
Digital Pin 13 (PWM)
33
(#HWB) PE2
HWB
34
Vcc1
+5V
35
GND2
GND
36
(ADC7/TDI) PF7
Analog In 0
37
(ADC6/TDO) PF6
Analog In 1
38
(ADC5/TMS) PF5
Analog In 2
39
(ADC4/TCK) PF4
Analog In 3
40
(ADC1) PF1
Analog In 4
41
(ADC0) PF0
Analog In 5
42
AREF
AEF
43
GND3
GND
44
AVCC1
AVCC
Universitas Sumatera Utara
17
Gambar 2.4 Pemetaan Pin Arduino Leonardo
2.3.3
Memori
ATmega32u4 memiliki memori sebesar 32 KB (4 KB digunakan untuk
bootloader). Juga memiliki 2,5 KB SRAM dan 1 KB EEPROM (yang dapat
dibaca dan ditulis dengan perpustakaan EEPROM).
Universitas Sumatera Utara
18
2.3.4 Pin Input dan Output
Pada Arduino Leonardo, 20 pin digital I/O dapat digunakan sebagai input
atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Mereka beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau
menerima maksimum 40 mA dan memiliki resistor pull-up internal sebesar 20-50
kOhm yang terputus secara default. Selain itu, beberapa pin memiliki fungsi
khusus, yaitu:
1. Serial : Pin 0 (RX) dan pin 1 (TX). Digunakan untuk menerima (RX) dan
mengirimkan (TX) data serial TTL menggunakan hardware ATmega32U4
yang memiliki kemampuan serial didalamnya. Perhatikan bahwa pada
Leonardo, kelas Serial mengacu pada komunikasi USB (CDC); untuk TTL
serial pada pin 0 dan 1, menggunakan kelas Serial 1.
2. TWI : Pin 2 (SDA) dan pin 3 (SCL). Dukungan komunikasi TWI
menggunakan perpustakaan Wire.
3. Eksternal Interupsi : Pin 3 (interrupt 0), pin 2 (interrupt 1), pin 0 (interrupt
2), pin 1 (interrupt 3) dan pin 7 (interrupt 4). Pin ini dapat dikonfigurasi
untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau
menurun, atau merubah nilai.
4. PWM : Pin 3, 5, 6, 9, 10, 11, dan 13. Menyediakan 8-bit output PWM
dengan fungsi analogWrite().
5. SPI : Pin pada header ICSP ini mendukung komunikasi SPI menggunakan
perpustakaan SPI. Perhatikan bahwa pin SPI tidak terhubung ke salah satu
pun pin digital I/O karena yang terhubung langsung hanya pada Arduino
Uno, Mereka hanya menyediakan konektor ICSP.
Universitas Sumatera Utara
19
Ini berarti bahwa jika Anda memiliki shield yang menggunakan SPI, tetapi
tidak terdapat 6 pin konektor ICSP yang terhubung ke 6 pin ICSP header
Leonardo, maka shield tidak akan bekerja.
6. LED : Pin 13. Tersedia secara built-in pada papan Arduino ATmega2560.
LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka
LED menyala (ON), dan ketika pin diset bernilai LOW, maka LED padam
(OFF).
7. Input Analog : Pin A0-A5, Pin A6 - A11 (pada pin digital 4, 6, 8, 9, 10,
dan 12). Leonardo memiliki 12 input analog, berlabel A0 sampai A11,
yang semuanya juga dapat digunakan sebagai digital I/O. Pin A0-A5
terdapat di lokasi yang sama seperti pada Arduino Uno; Pin input A6-A11
masing-masing ada pada digital I/O pin 4, 6, 8, 9, 10, dan 12. Masingmasing pin menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda).
Secara default pin ini dapat diukur/diatur dari mulai Ground sampai
dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan
tertinggi atau terendah mereka menggunakan pin AREF dan fungsi
analogReference().
Masih ada beberapa pin lainnya pada Arduino Leonardo, yaitu:
1. AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi
analogReference().
2. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang)
mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol
reset pada shield yang menghalangi papan utama Arduino.
Universitas Sumatera Utara
20
2.3.5. Sumber Daya
Arduino Leonardo dapat diaktifkan melalui koneksi USB mikro atau
dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Sumber daya
Eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor
dapat dihubungkan dengan mencolokkan steker 2.1 mm denan pusat-positif ke
jack power pada papan. Sumber tegangan dari baterai dapat dihubungkan ke
header pin Gnd dan Vin pin sebagai konektor sumber daya tegangan papan.
Papan Arduino Leonardo dapat beroperasi dengan pasokan daya eksternal
6 Volt sampai 20 volt. Jika diberi tegangan kurang dari 7 Volt, maka, pin 5 Volt
mungkin akan menghasilkan tegangan kurang dari 5 Volt dan ini akan membuat
papan menjadi tidak stabil. Jika sumber tegangan menggunakan lebih dari 12
Volt, regulator tegangan akan mengalami panas berlebihan dan bisa merusak
papan. Rentang sumber tegangan yang dianjurkan adalah 7 Volt sampai 12 Volt.
Pin tegangan yang tersedia pada papan Arduino Leonardo adalah sebagai berikut:
1. VIN
: Adalah input tegangan untuk papan Arduino ketika menggunakan
sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi
USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan
tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui
jack power, kita bisa mengakses/mengambil tegangan melalui pin ini.
2. 5V
: Tegangan listrik ter-regulator yang digunakan untuk daya
mikrokontroler dan komponen lainnya pada papan Arduino. Tegangan
Universitas Sumatera Utara
21
dapat menggunakan pin VIN melalui regulator on-board, atau dipasok oleh
USB atau power suplai lain dengan besar tegangan 5V ter-regulator.
3. 3V3
: Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini
dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus
maksimum yang dihasilkan adalah 50 mA.
4. GND : Pin Ground atau Massa.
5. IOREF: Pin ini pada papan Arduino berfungsi untuk memberikan referensi
tegangan yang beroperasi pada mikrokontroler (atau VCC untuk papan).
Pin ini bertegangan 5V pada Leonardo.
2.3.6. Arduino IDE
Arduino leonardo dapat diprogram dengan perangkat lunak Arduino. IDE
Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java.
Pada Gambar 2.4 IDE Arduino terdiri dari:
1. Editor program, sebuah window yang memungkinkan pengguna menulis
dan mengeditprogram dalam bahasa processing.
2. Compiler, sebuah modul yang mengubah kode program (bahasa
processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler
tidak akan bisa memahami bahasa processing. Yang bisa dipahami oleh
mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan
dalam hal ini.
3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam
memory didalam papan Arduino.
Universitas Sumatera Utara
22
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata
“sketch” digunakan secara bergantian dengan “kode program” dimana keduanya
memiliki arti yang sama.
Gambar 2.5 Tampilan Arduino IDE
2.4.
Komunikasi Serial
Kemampuan untuk bisa melakukan komunikasi data antara 2 atau lebih
peralatan elektronik adalah hal yang sangat penting yang harus dimiliki oleh
sebuah mikrokontroler. Dan yang lebih penting lagi, kemampuan komunikasi
tersebut tidak boleh sampai mengurangi fungsi dari mikrokontroler itu sendiri.
Ada 2 jenis komunikasi data yang bisa dilakukan oleh mikrokontroler, yaitu
komunikasi parallel dan komunikasi serial. Komunikasi parallel memiliki
kelebihan dari sisi kecepatan transfer data, namun efisiensi penggunaan pin dari
mikrokontroler juga menjadi berkurang.
Saat ini ada banyak jenis kemampuan komunikasi serial yang dimiliki oleh
mikrokontrole, terutama oleh mikrokontroler arduino. Arduino Leonardo,
memiliki 4 buah port komunikasi serial yang bisa digunakan oleh user. Semua
Universitas Sumatera Utara
23
port komunikasi serial ini bisa digunakan secara independen, artinya bisa
digunakan satu per satu ataupun digunakan keseluruhan secara bersama.
Komunikasi serial yang dimiliki oleh arduino bisa kita manfaatkan untuk
berkomunikasi dengan Personal Computer, Bluetooth Modul, Wifi atau bahkan
dengan Arduino yang lain. Yang perlu menjadi catatan utama adalah, jika port
dari arduino mikrokontroler sudah difungsikan sebagai sarana komunikasi serial,
maka port tersebut tidak dapat difungsikan sebagai port input/output digital.Ada 5
Fungsi utama dalam proses komunikasi serial oleh Arduino :
1. Fungsi Transmit Data –> lebih dikenal dengan fungsi Tx
2. Fungsi Receiving Data –> lebih dikenal dengan fungsi Rx
3. Fungsi Grounding System Komunikasi Serial –> Atau GND
4. Kecepatan Transfer Data –> lebih dikenal dengan Baudrate.
5. Format Data –> biasa digunakan 8 bit data, No Parity, dan 1 bit untuk stop
bit
Sebelum menjalankan perintah pengiriman data, maka pengguna
diharuskan untuk melakukan setting dari baudrate. Karena baudrate yang berbeda
antara 2 peralatan komunikasi, akan menyebabkan sistem menerima data yang
salah. Secara default hampir keseluruhan mikrokontroler menggunakan format
komunikasi serial dengan data 8 bit data, No Parity, dan 1 bit untuk stop
bit.Software Arduino, menyediakan perintah khusus untuk prosess setting
baudrate yaitu :Serial.begin(9600);maka software Arduino akan menterjemahkan
perintah tersebut menjadi :
1. Baudrate komunikasi serial adalah 9600 bps
2. 8 bit data, No Parity, 1 bit stop
Universitas Sumatera Utara
24
2.4.1. Perintah Mengirim Data
Ada 3 jenis perintah untuk proses pengiriman data dalam Arduino yaitu :
1. print();
2.
println();
3.
write();
Perintah print() dan println() hampir sama fungsi, hanya saja perintah
prinln() dilengkapi dengan carriage return dan baris baru pada akhir pengiriman
atau yang lebih dikenal dengan linefeed dan new line command. Sedangkan
perintah write() sudah hampir tidak pernah digunakan. Anda dapat menambahkan
parameter didalam kurung dari masing-masing perintah tersebut, seperti data yang
akan dikirim ataupun isi dari variable data yang akan dikirim melalui port serial.
2.4.2. Perintah Menerima Data
Untuk menerima data/mengambil data yang ada di Buffer serial dari
Arduino, bisa menggunakan 2 perintah berikut :
1. read();
2.
readbytes();
Perintah read() biasa digunakan jika data yang akan diambil bertipe data
string, sedangkan perintah readbyte digunakan jika data bertipe bilangan dengan
tipe data byte. Anda bisa menambahkan variable data dalam perintah ini untuk
mengidentifikasi serial port yang akan baca datanya.
Universitas Sumatera Utara
25
2.4.3. Perintah Recheck Data
Selain perintah mengirim dan menerima data, Arduino juga menyediakan
perintah untuk recheck apakah data yang diinginkan siap diambil di Buffer serial
ataukah tidak. Perintah tersebut antara lain adalah :
1. available();
2. find();
2.5.
Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar
ANSI ( American National Standards Institute ), yang digunakan sebagai
referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam
beberapa literature, bahasa C digolongkan bahasa level menengah karena bahasa
C mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah.
Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. Pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. Bahasa C++ mendukung konsep pemrograman
berorientasu objek dan pemrograman berbasis windows.
Sampai
sekarang
bahasa
C++
terus
brkembang
dan
hasil
perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C
dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan
disebut dengan fungsi saja.
Universitas Sumatera Utara
26
Hal ini karena di C++ sebuah prosedur pada dasanyaadalah sebuah fungsi yang
tidak memiliki tipe data kembalian (void). Hingga kini bahasa ini masih populer
dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan
dari PC hingga main frame.
Arduino sendiri menggunakan bahasa C, walaupun banyak sekali terdapat
bahasa pemrograman tingkat tinggi (high level language) seperti pascal,
basic,cobol, dan lainnya.Para programer profesional masih tetap memilih bahasa
C sebagai bahasa yang lebih unggul, berikut alasan-alasannya:
1. Bahasa C merupakan bahasa yang powerful dan fleksibel yang telah
terbukti dapat menyelesaikan program-program besar seperti pembuatan
sistem operasi, pengolah Gambar (seperti pembuatan game) dan juga
pembuatan kompilator bahasa pemrograman baru.
2. Bahasa C merupakan bahasa yang porTabel sehingga dapat dijalankan di
beberapa sistem operasi yang berbeda. Sebagai contoh program yang kita
tulis dalam sistem operasi windows dapat kita kompilasi didalam sistem
operasi linux dengan sedikit ataupun tanpa perubahan sama sekali.
3. Bahasa C merupakan bahasa yang sangat populer dan banyak digunakan
oleh programer berpengalaman sehingga kemungkinan besar library
pemrograman telah banyak disediakan oelh pihak luar/lain dan dapat
diperoleh dengan mudah.
4. Bahasa C merupakan bahasa yang bersifat modular, yaitu tersusun atas
rutin-rutin tertentu yang dinamakan dengan fungsi (function) dan fungsi-
Universitas Sumatera Utara
27
fungsi tersebut dapat digunakan kembali untuk pembuatan programprogram lainnya tanpa harus menulis ulang implementasinya.
5. Bahasa C merupakan bahasa tingkat menengah (middle level language)
sehingga mudah untuk melakukan interface (pembuatan program antar
muka) ke perangkat keras.
6. Struktur penulisan program dalam bahasa C harus memiliki fungsi utama,
yang bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada
saat proses eksekusi program. Artinya apabila ada fungsi lain selain fungsi
utama, maka fungsi lain tersebut baru akan dipanggil pada saat digunakan.
Kekurangan Bahasa C, yaitu :
1. Banyaknya operator serta fleksibilitas penulisan program kadangkadang
membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.5.1. Struktur Bahasa C
Program bahasa C tersusun atas sejumlah blok fungsi.
1. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan
suatu proses tertentu.
2. Tidak ada perbedaan antara prosedur dan fungsi.
3. Setiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
4. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
5. Setiap statemen diakhiri dengan semicolon (titik koma).
Universitas Sumatera Utara
28
2.5.2. Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable fungsi,
label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan
bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :
1. Karakter pertama tidak boleh menggunakan angka.
2. Karakter kedua dapat berupa huruf, angka, atau garis bawah.
3. Tidak boleh menggunakan spasi. Bersifat Case Sensitive, yaitu huruf
kapital dan huruf kecil dianggap berbeda.
4. Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static,
bit, long, case, do, switch dll.
2.5.3. Tipe Data
Macam-macam tipe data pada bahasa C seperti yang terlihat pada Tabel
2.2, yaitu :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada
sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya
data yang dapat disimpan pada variabel yang bertipe data char adalah -127
- 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada
Universitas Sumatera Utara
29
dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya
disimpan pada variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung
bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan
terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita
simpan. Contohnya seperti berikut, kiata akan melakukan operasi
penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel
c. Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar
dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita
menggunakan tipe data unsigned int. Namun berbeda halnya jika saya
ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan
negatif maka selayaknya digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan
double. Double lebih memiliki panjang data yang lebih banyak
dibandingkan float. Tipe data double dapat digunakan jika kita
membutuhkan variabel yang dapat menampung tipe data berkoma yang
bernilai besar.
Universitas Sumatera Utara
30
Tabel 2.2 Tipe Data
Tipe
Lebar
Jangkauan Nilai
int
16 bit
-32768 s/d 32767
unsigned int
16 bit
0 s/d 65535
long int
32 bit
-2147483648 s/d 2147483649
unsigned long int
32 bit
0 s/d 4294967296
float
32 bit
3.4E-38 s/d 3.4E+38
double
64 bit
1.7E-308 s/d 1.7E+308
char
8 bit
-128 s/d 127
unsigned char
8 bit
0
s/d 255
2.5.4. Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
2.5.5. Identifier
Universitas Sumatera Utara
31
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh
pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,
nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll).
Identifier punya ketentuan sebagai berikut :
1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang
diperhatikan hanya 32 karakter pertama saja).
2.
Case sensitive: membedakan huruf besar dan huruf kecilnya.
3.
Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh
angka.
4. Tidak boleh mengandung spasi atau blank.
5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.
Bahasa C merupakan bahasa prosedural yang menerapkan konsep runtutan
(program dieksekusi per baris dari atas ke bawah secara berurutan), apabila
fungsi-fungsi lain tersebut dituliskan dibawah fungsi utama, maka harus
menuliskan bagian prototipe (prototype), hal ini dimaksudkan untuk mengenalkan
terlebih dahulu kepada kompiler daftar fungsi yang akan digunakan di dalam
program. Namun apabila fungsi-fungsi lain berada diatas atau sebelum fungsi
utama, maka bagian prototipe tidak perlu dituliskan diatas. (Djuandi, Feri.
(2011).Selain itu dalam bahasa C juga dikenal file header, biasa ditulis dengan
ekstensi h(*.h), adalah file bantuan yang yang digunakan untuk menyimpan
daftar-daftar fungsi yang akan digunakan dalam program.
Universitas Sumatera Utara
32
2.6.
Grove Moisture Sensor SEN0100
Sensor kelembaban tanah merupakan sensor yang mampu mendeteksi
intensitas air di dalam tanah (moisture). Seperti tampak padaGambar 2.5sensor ini
terdiri dua probe untuk melewatkan arus melalui tanah, kemudian membaca
resistansinya untuk mendapatkan nilai tingkat kelembaban. Semakin banyak air
membuat tanah lebih mudah menghantarkan listrik (resistansi kecil), sedangkan
tanah yang kering sangat sulit menghantarkan listrik (resistansi besar). Kedua
probe ini merupakan media yang akan menghantarkan tegangan analog yang
nilainya relatif kecil.
Gambar 2.6 Grove Moisture Sensor SEN0100
Sensor kelembaban ini dapat digunakan untuk mendeteksi kelembaban
tanah atau kandungan air di dalam tanah di sekitar sensor. Sensor ini sangat
mudah digunakan yaitu dengan memasukkan ke dalam tanah pada kedalaman 1-5
cm dan kemudian membaca data hasil pengukuran sensor. Spesifikasi sensor ini
dilihat pada Tabel 2.3.
Tabel 2.3 Spesifikasi Grove Moisture Sensor SEN0100
Item
Parameter
Tegangan
-
Min Khas Maks Satuan
3.3
~
5
V
Universitas Sumatera Utara
33
Arus
-
0
~
35
mA
Nilai Output
Sensor di tanah kering
0
~
300
/
~
700
/
~
950
/
Sensor di dalam tanah lembab 300
Sensor dalam air
2.7.
700
LCD (Liquid Crystal Display)
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai
banyak digunakan. Penampil LCD seperti yang tampak pada Gambar 2.6, mulai
dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang
sudah berpuluh-puluh tahun digunakan manusia sebagai penampil Gambar/text
baik monokrom (hitam dan putih), maupun yang berwarna. Teknologi LCD
memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada
dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor
ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah
konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan
ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan
kejenuhan pada mata dibandingkan dengan LCD.
Gambar 2.7 Tampilan LCD 20 x 4
Universitas Sumatera Utara
34
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair
sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan
dua dimensi piksel yang dibagi dalam baris dan kolom. Konfigurasi pin
LCD dapat dilihat pada Tabel 2.4.
Tabel 2.4 Konfigurasi Pin LCD 20x4
No.Pin
Nama
Keterangan
1
GND
Ground
2
VCC
+5V
3
VEE
Contras
4
RS
Register Select
5
RW
Read/write
6
E
Enable
7-14
D0-D7
Data bit 0-7
15
A
Anoda (back light)
16
K
Katoda (back light)
Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED
terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian
belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam
keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah
tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan
diterapkan antara bidang latar dan pola elektroda yang terdapat pada sisi dalam
lempeng kaca bagian depan.
Universitas Sumatera Utara
35
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa
microampere), sehingga alat atau sistem menjadi portable karena dapat
menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang
diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.
Dibawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu
(berupa LED) harus dipasang dibelakang layar tampilan.LCD yang digunakan
adalah jenis LCD yang mena mpilkan data dengan 2baris tampilan pada display.
Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data
dan 3 bit control.
3. Ukuran modul yang proporsional.
4. Daya yang digunakan relative sangat kecil.
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses
internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi
membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter
dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Shift, dan Display Shift.
2.7.1. Register LCD
Universitas Sumatera Utara
36
Register yang terdapat di LCD adalah sebagai berikut:
1. IR (Intruction Register)
Digunakan untuk menentukan fungsi yang harus dikerjakan oleh LCD
serta pengalamatan DDRAM atau CGRAM.
2.
DR (Data Register)
Digunakan sebagai tempat data DDRAM atau CGRAM yang akan ditulis
atau dibaca oleh komputer atau sistem minimum. Saat dibaca, DR
menyimpan data DDRAM atau CGRAM, setelah itu data alamatnya secara
otomatis masuk ke DR. Pada waktu menulis, cukup lakukan inisialisasi
DDRAM atau CGRAM, kemudian untuk selanjutnya data dituliskan ke
DDRAM atau CGRAM sejak awal alamat tersebut.
3. BF (Busy Flag)
Digunakan untuk bahwa LCD dalam keadaan siap atau sibuk. Apabila
LCD sedang melakukan operasi internal, BF diset menjadi 1, sehingga
tidak akan menerima perintah dari luar. Jadi, BF harus dicek apakah telah
diriset menjadi 0 ketika akan menulis LCD (memberi data pada LCD).
Cara untuk menulis LCD adalah dengan mengeset RS menjadi 0 dan
mengeset R/W menjadi 1.
4. AC (Address Counter)
Digunakan untuk menunjukan alamat pada DDRAM atau CGRAM dibaca
atau ditulis, maka AC secara otomatis menunjukan alamat berikutnya.
Alamat yang disimpan AC dapat dibaca bersamaan dengan BF.
5. DDRAM (Display Data Random Access Memory)
Universitas Sumatera Utara
37
Digunakan sebagai tempat penyimpanan data yang sebesar 80 byte atau 80
karakter. AC menunjukan alamat karakter yang sedang ditampilkan.
6. CGROM (Character Generator Read Only Memory)
Pada LCD terdapat ROM untuk menyimpan karakter-karakter ASCII
(American Standart Code for Interchage Intruction), sehingga cukup
memasukan kode ASCII untuk menampilkanya.
7. CGRAM (Character Generator Random Access Memory)
Sebagai data storage untuk merancang karakter yang dikehendaki. Untuk
CGRAM terdapat kode ASCII dari 00h sampai 0Fh, tetapi hanya 8
karakter yang disediakan. Alamat CGRAM hanya 6 bit, 3 bit untuk
mengatur tinggi karakter dan 3 bit tinggi menjadi 3 bit rendah DDRAM
yang menunjukan karakter, sedangkan 3 bit rendah sebagai posisi data
CGRAM untuk membuat tampilan baris dalam dot matriks 5x7 karakter
tersebut, dimulai dari atas. Sehingga karakter untuk kode ASCII 00h sama
dengan 09h sampai 07h dengan 0Fh. Dengan demikian untuk perancangan
1 karakter memerlukan penulisan data ke CGRAM samapai 8 kali.
8. Cursor and Blink Control circuit
Merupakan rangkaian yang menghasilkan tampilan kursor dan kondisi
blink (berkedap-kedip).
Universitas Sumatera Utara
38
2.8.
Relay
Relay adalah saklar mekanik yang dikendalikan atau dikontrolsecara
elektronik (elektro magnetik). Saklar pada relay akan terjadiperubahan posisi OFF
ke ON pada saat diberikan energi elektro magnetikpada armatur relay tersebut.
Relay pada dasarnya terdiri dari 2 (dua) bagian utama yaitu saklar mekanik
dan sistem pembangkit elektromagnetik (induktor inti besi). Saklar atau kontaktor
relay dikendalikan menggunakan tegangan listrik yang diberikan ke induktor
pembangkit magnet untuk menarik armatur tuas saklar atau kontaktor relay. Relay
yang ada dipasaran terdapat berbagai bentuk dan ukuran dengan tegangan kerja
dan jumlah saklar yang bervariasi, pada Gambar 2.7 adalah salah satu bentuk
relay yang ada dipasaran.
Gambar 2.8 Relay
Relay dibutuhkan dalam rangkaian elektronika sebagai eksekutor sekaligus
interface antara beban dan sistem kendali elektronik yang berbeda sistem power
Universitas Sumatera Utara
39
supplynya. Secara fisik antara saklar atau kontaktor dengan elektromagnet relay
terpisah sehingga antara beban dan sistem kontrol terpisah. Bagian utama relay
elektro mekanik adalah sebagai berikut :
1. Kumparan elektromagnet
2. Saklar atau kontaktor Swing
3. Armatur Spring (Pegas).
Gambar 2.9 Konstruksi Relay Posisi NC
Dari konstruksi relay elektro mekanik diatas dapat diuraikan sistem kerja atau
proses relay bekerja. Pada saat elektromagnet tidak diberikan sumber tegangan
maka tidak ada medan magnet yang menarik armature, sehingga saklar relay tetap
terhubung ke terminal NC (Normally Close) seperti terlihat pada Gambar 2.9.
Kemudian pada saat elektromagnet diberikan sumber tegangan maka terdapat
medan magnet yang menarik armature, sehingga saklar relay terhubung ke
terminal NO (Normally Open) seperti terlihat pada Gambar 2.10.
Universitas Sumatera Utara
40
Gambar 2.10 Konstruksi Relay Posisi NO
Relay elektro mekanik memiliki kondisi saklar atau kontaktor dalam 3 posisi.
Ketiga posisi saklar atau kontaktor relay ini akan berubah pada saat relay
mendapat tegangan sumber pada elektromagnetnya. Ketiga posisi saklar relay
tersbut adalah :
1. Posisi Normally Open (NO), yaitu posisi saklar relay yang terhubungke
terminal NO (Normally Open). Kondisi ini akan terjadi pada saatrelay
mendapat tegangan sumber pada elektromagnetnya.
2. Posisi Normally Colse (NC), yaitu posisi saklar relay yangterhubung ke
terminal NC (Normally Close). Kondisi ini terjadi padasaat relay tidak
mendapat tegangan sumber pada elektromagnetnya.
3.
Posisi Change Over (CO), yaitu kondisi perubahan armatur saklarrelay
yang berubah dari posisi NC ke NO atau sebaliknya dari NO keNC.
Kondisi ini terjadi saat sumber tegangan diberikan keelektromagnet atau
saat sumber tegangan diputus dari elektromagnetrelay.
2.9.
Mini Water Pump DC 12V
Universitas Sumatera Utara
41
Mini Water Pumpadalah peralatan mekanis yang digunakan untuk
menaikkan cairan dari dataran rendah ke dataran tinggi atau untuk mengalirkan
cairan dari daerah bertekanan rendah ke daerah yangbertekanan tinggi dan juga
sebagai penguat laju aliran pada suatu sistemjaringan perpipaan. Hal ini dicapai
dengan membuat suatu tekanan yangrendah pada sisi masuk atau suction dan
tekanan yang tinggi pada sisikeluar atau discharge dari pompa.
Pada prinsipnya, pompa mengubah energi mekanik motor menjadienergi
aliran fluida, bentuk fisik mini water pump dapat dilihat pada Gambar 2.10.
Energi yang diterima oleh fluida akan digunakanuntuk menaikkan tekanan dan
mengatasi tahanan-tahanan yang terdapatpada saluran yang dilalui.
Gambar 2.11 Mini Water Pump DC 12V
Mini water pump DC ini menggunakan motor DC 12V. Motor DC merupakan
perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik.
Spesifikasi mini water pump DC 12V, yaitu :
1. Merk/Model
: Mabuchi RS-360SH
2. Catu Daya
: 7,2 Volt DC (min.3V, max 9V)
3. Kecepatan
: 12500 RPM (360 mA, No Load)
Universitas Sumatera Utara
42
4. Torsi maksimum (stall torque): 420 g.cm
5. Arus maksimum (stall current): 8,6 A
6. Konstruksi
: Shunt Wound
7. Daya Keluaran
: 0,7 W - 40 W (aproksimasi)
8. Diameter Saluran
: 2,3 mm
9. Dimensi Keseluruhan
: 49,6 mm x 27,7 mm
Energi mekanik ini digunakan untuk, misalnya memutar impeller
pompa, fan atau blower, menggerakan kompresor, mengangkat bahan,dll. Motor
listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri.
Motor listrik kadangkala disebut “kuda kerja” nya industri sebab diperkirakan
bahwa motor-motor menggunakan sekitar 70% beban listrik total di industri.
Motor DC memerlukan suplai tegangan yang searah pada kumparan
medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc
disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor
(bagian yang berputar).Jika terjadi putaran pada kumparan jangkar dalam pada
medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada
setiap setengah putaran, sehingga merupakan tegangan bolak-balik.
Prinsip kerja dari arus searah adalah membalik phasa tegangan dari
gelombang yang mempunyai nilai positif dengan menggunakan komutator,
dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar
dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu
lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen, seperti
yang terlihat pada Gambar 2.11.
Universitas Sumatera Utara
43
Gambar 2.12 Motor DC
Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang
menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan.
Kumparan satu lilitan pada Gambar di atas disebut angker dinamo. Angker
dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.
2.10. Power Supply
Power supply adalah alat atau sistem yang berfungsi untuk menyalurkan
energi listrik atau bentuk energi jenis apapun yang sering digunakan untuk
menyalurkan energi listrik. Secara prinsip rangkaian power supply adalah
menurunkan tegangan AC , menyearahkan tegangan AC sehingga menjadi DC
,menstabilkan tegangan DC, yang terdiri atas transformator, dioda dan
kapasitor/condensator.
Ada 2 jenis rangkaian penyearah, yaitu setengah gelombang (half wave)
dan gelombang penuh (full wave). Arus listrik DC yang keluar dari dioda masih
berupa deretan pulsa-pulsa. Tentu saja arus listrik DC semacam ini tidak cocok
atau tidak dapat digunakan oleh perangkat elektronik apapun. Kapasitor berfungsi
sebagai filter pada sebuah rangkaian power supply, yang saya maksud disini
Universitas Sumatera Utara
44
adalah kapasitor sebagai ripple filter, disini sifat dasar kapasitor yaitu dapat
menyimpan muatan listrik yangberfungsi untuk memotong tegangan ripple.Power
supply diharapkan dapat melakukan fungsi berikut ini :
1. Rectification: konversi input listrik AC menjadi DC.
2. Voltage Transformation: memberikan keluaran tegangan / voltage DC
yang sesuai dengan yang dibutuhkan.
3. Filtering: menghasilkan arus listrik DC yang lebih "bersih", bebas dari
ripple ataupun noise listrik yang lain.
4. Regulation: mengendalikan tegangan keluaran agar tetap terjaga,
tergantung pada tingkatan yang diinginkan, beban daya, dan perubahan
kenaikan temperatur kerja juga toleransi perubahan tegangan daya input.
5. Isolation: memisahkan secara elektrik output yang dihasilkan dari sumber
input.
6. Protection: mencegah lonjakan tegangan listrik (jikaterjadi), sehingga
tidak terjadi pada output, biasanya dengan tersedianya sekering untuk auto
shutdown jika hal terjadi.
2.10.1. Konversi AC ke DC
Untuk konversi listrik AC ke DC, ada dua metode yang mungkin
digunakan. Pertama dengan linear power supply. Ini adalah rangkaian AC ke DC
yang sangat sederhana.Setlah Listrik AC dari line input distepdown oleh
transformer, kemudian dijadikan DC secara sederhana dengan rangkaian empat
diode penyearah.
Universitas Sumatera Utara
45
Komponen tambahan lain adalah kapasitor untuk meratakan tegangan.
Tambahan komponen yang mungkin disertakan adalah linear regulation, yang
bertugas menjaga tegangan sesuai yang diinginkan, meski daya output yang
dibutuhkan bertambah.Linear supply dapat anda temukan pada DC power adapter
sederhana. Kelemahan utamanya pada tingkat power conversion dengan efisiensi
yang rendah. Berikutnya adalah dibutuhkannya ukuran transformer yang besar,
untuk daya ampere yang besar. Tingkat efisiensi konfersi yang rendah (sekitar
50%) juga menyebabkannnya mengeluarkan panas yang besar saat beroperasi.
2.10.2. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam
kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya
(FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber
listriknya,seperti pada Gambar 2.13.
Gambar 2.13 Transistor
Universitas Sumatera Utara
46
Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E)
dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat
dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input
Basis, yaitu pada keluaran tegangan dan arus output Kolektor.
Transistor merupakan komponen yang sangat penting dalam dunia
elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier
(penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil
(stabilisator) dan penguat sinyal radio. Dalam rangkaian-rangkaian digital,
transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga
dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori
dan fungsi rangkaian-rangkaian lainnya.Transistor secara umum dibagi menjadi 2
macam, yaitu :
1. Tansistor NPN
Gambar 2.14 Transistor NPN
Prinsip kerja dari transistor NPN, seperti yang terdapat pada Gambar
2.14adalah: arus akan mengalir dari kolektor ke emitor jika basisnya dihubungkan
Universitas Sumatera Utara
47
ke ground (negatif). Arus yang mengalir dari basis harus lebih kecil daripada arus
yang mengalir dari kolektor ke emitor, oleh sebab itu maka ada baiknya jika pada
pin basis dipasang sebuah resistor.
2. Tansistor PNP
Gambar 2.15 Transistor PNP
Prinsip kerja dari transistor PNP seperti yang tampak pada Gambar 2.15,
adalah arus akan mengalir dari emitter menuju ke kolektor jika pada pin basis
dihubungkan ke sumber tegangan ( diberi logika 1). Arus yang mengalir ke basis
harus lebih kecil daripada arus yang mengalir dari emitor ke kolektor, oleh sebab
itu maka ada baiknya jika pada pin basis dipasang sebuah resistor.
Universitas Sumatera Utara
48
2.10.3. Transformer
Transformer atau trafo adalah komponen elektromagnet yang dapat
mengubah taraf suatu tegangan AC ke taraf yang lain. Adaptor AC-DC
merupakan piranti yang menggunakan transformator step-down.Transformator
step-downdapat dilihat pada Gambar 2.16
Gambar 2.16Trafo
Transformator
bekerja
berdasarkan
prinsip
induksielektromagnetik.
Tegangan masukan bolak-balik yang membentangi primer menimbulkan fluks
magnet yang idealnya semua bersambung dengan lilitan sekunder. Fluks bolakbalik ini menginduksikan GGL dalam lilitan sekunder. Jika efisiensi sempurna,
semua daya pada lilitan primer akan dilimpahkan ke lilitan sekunder.Hubungan
antara primer dan sekunder terlihat pada Gambar 2.17
Universitas Sumatera Utara
49
Gambar 2.17 Hubungan Primer - Sekunder
2.11. Saklar
Saklar listrik adalah suatu komponen atau perangkat yang digunakan untuk
memutuskan atau menghubungkan aliran listrik. Saklar yang dalam bahasa Inggris
disebut dengan Switch ini merupakan salah satu komponen atau alat listrik yang
paling sering digunakan. Hampir semua peralatan Elektronika dan Listrik
memerlukan Saklar untuk menghidupkan atau mematikan alat listrik yang
digunakan.
Pada dasarnya, sebuah Saklar sederhana terdiri dari dua bilah konduktor
(biasanya adalah logam) yang terhubung ke rangkaian eksternal, saat kedua bilah
konduktor tersebut terhubung maka akan terjadi hubungan arus listrik dalam
rangkaian. Sebaliknya, saat kedua konduktor tersebut dipisahkan maka hubungan
arus listrik akan ikut terputus. Saklar yang paling sering ditemukan adalah Saklar
yang dioperasikan oleh tangan manusia dengan satu atau lebih pasang kontak
listrik.
BAB 2
LANDASAN TEORI
Dalam Bab ini penulis akan membahas tentang komponen- komponen
yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas
sesuai fungsinya pada masing- masing unitnya.
2.1.
Pengenalan Tanah
Tanah adalah lapisan permukaan bumi yang secara fisik berfungsi sebagai
tempat tumbuh dan berkembangnya perakaran penopang tegak tumbuhnya
tanaman dan menyuplai kebutuhan air dan udara. Tanah terbentuk dari proses
pelapukan batuan yang dibantu oleh organisme membentuk tekstur unik yang
menutupi permukaan bumi. Proses pembentukan tanah ini akan membentuk
lapisan-lapisan yang menutupi seluruh permukaan bumi.
Lapisan-lapisan yang terbentuk memiliki tekstur yang berbeda dan setiap
lapisan akan mencerminkan proses-proses fisika, kimia dan biologi yang telah
terjadi selama proses pembentukannya. Hans Jenny (1899-1992), seorang pakar
tanah asal Swiss yang bekerja di Amerika Serikat, menyebutkan bahwa tanah
terbentuk dari bahan induk yang telah mengalami modifikasi/pelapukan akibat
dinamika faktor iklim, organisme (termasuk manusia), dan relief permukaan bumi
(topografi) seiring dengan berjalannya waktu.
Universitas Sumatera Utara
8
2.1.1
Tanah Kompos
Tanah kompos adalah hasil dekomposisi bahan-bahan organik (tanaman,
sisa bangkai binatang) yang diurai oleh mikroorganisme di dalam tanah.
Prosesnya disebut juga pengomposan. Proses dekomposisi ini dapat dipengaruhi
oleh berbagai faktor. Misalnya penambahan mikroorganisme pengurai dan
penyesuaian lingkungan yang dilakukan dengan tujuan untuk mempercepat proses
penguraian/dekomposisi. Hal ini tentunya dilakukan atas campur tangan manusia,
bentuk fisik tanah kompos dapat dilihat pada Gambar 2.1.
Manfaat tanah kompos bagi pertanian, yaitu :
1. Meningkatkan kesuburan tanah
2. Memperbaiki struktur dan karakteristik tanah
3. Meningkatkan kapasitas penyerapan air oleh tanah
4. Meningkatkan aktivitas mikroba tanah
5. Meningkatkan kualitas hasil panen (rasa, nilai gizi, dan jumlah panen)
6. Menyediakan hormon dan vitamin bagi tanaman
7. Menekan pertumbuhan/serangan penyakit tanaman
8. Meningkatkan retensi/ketersediaan hara di dalam tanah.
Gambar 2.1 Tanah Kompos
Universitas Sumatera Utara
9
2.1.2
Kelembaban Tanah
Kelembaban tanah adalah air yang mengisi sebagian atau seluruh pori –
pori tanah yang berada di atas water table (Jamulya dan Suratman, 1993). Definisi
yang lain menyebutkan bahwa kelembaban tanah menyatakan jumlah air yang
tersimpan di antara pori – pori tanah. kelembaban tanah sangat dinamis, hal ini
disebabkan oleh penguapan melalui permukaan tanah, transpirasi dan perkolasi
(Suyono dan Sudarmadil, 1997). Kelembaban tanah memiliki peranan yang
penting bagi pemerintah untuk mengetahui informasi seperti potensi aliran
permukaan dan pengendali banjir, kegagalan erosi tanah dan kemiringan lereng,
manajemen sumber daya air, geoteknik, dan kualitas air. Kelembaban tanah
merupakan salah satu variabel kunci pada perubahan dari air dan energi panas di
antara permukaan dan atmosfer melalui evaporasi dan transpirasi (Arnold, 1999).
Untuk mengetahui kadar kelembaban tanah dapat digunakan banyak
macam teknik, diantaranya dapat dilakukan secara langsung melalui pengukuran
perbedaan berat tanah (disebut metode gravimetri) dan secara tidak langsung
melalui pengukuran sifat-sifat lain yang berhubungan erat dengan air tanah
(Gardner, 1986). Metode langsung secara gravimetri memiliki akurasi yang
sangat tinggi namun membutuhkan waktu dan tenaga yang sangat besar.
Kebutuhan akan metode yang cepat dalam memonitor fluktuasi kadar air tanah
menjadi sangat mendesak sebagai jawaban atas tingginya waktu dan tenaga yang
dibutuhkan oleh metode gravimetri.
Dua metode penetapan kadar air tanah secara tidak langsung yang sudah
banyak dikenal adalah melalui pengukuran sebaran neutron dan pengukuran
waktu hantaran listrik di dalam tanah (time domain reflectrometry, TDR). Prinsip
Universitas Sumatera Utara
10
kerja kedua metode tersebut adalah pengukuran dinamika sebaran neutron atau
waktu hantaran listrik di dalam tanah akibat adanya sejumlah air (Nadler et al.,
1991). Kendala yang dihadapi dalam memanfaatkan neutron probe dan TDR
untuk memonitor fluktuasi kadar air tanah adalah harga kedua alat tersebut yang
sangat mahal. Oleh sebab itu, perlu dilakukan penelitian tentang sifat-sifat tanah
lain yang dapat diukur sebagai penduga kadar air tanah.
Penelitian yang dilakukan Hermawan et al. (2000) menemukan adanya
hubungan yang erat antara sifat-sifat dielektrik tanah seperti konduktivitas,
kapasitansi dan impendensi listrik pada suatu media berpori dengan kadar air.
Kontribusi air tanah terhadap keragaman air tanah terhadap keragaman nilai
impendensi listrik, misalnya jauh lebih besar dibandingkan kontribusi dari
kepadatan tanah yang sebenarnya menjadi aspek utama dari penelitian tersebut.
Air tanah cenderung meningkat dan sebaliknya udara di dalam pori cenderung
menghambat laju konduktivitas listrik di dalam tanah, laju konduktivitas menurun
dengan semakin rendahnya kadar air tanah (Kittel,1991). Fenomena tersebut
sejalan dengan teori hubungan dielektrik dan air tanah yang dikembangkan
Friendman (1997).
2.2.
Irigasi
Irigasi adalah usaha penyediaan dan pengaturan air untuk menunjang
pertanian. Semua proses kehidupan di dalam tanah merupakan tempat media
pertumbuhan tanaman hanya dapat terjadi apabila ada air. Proses utama yang
menciptakan kesuburan tanah atau sebaliknya yang mendorong degradasi tanah
hanya dapat berlangsung apabila terdapat air.
Universitas Sumatera Utara
11
Irigasi berarti mengalirkan air secara buatan dari sumber air yang tersedia
kepada sebidang lahan untuk memenuhi kebutuhan tanaman. Dengan demikian
tujuan irigasi adalah mengalirkan air secara teratur sesuai kebutuhan tanaman
pada saat persediaan lengas tanah tidak mencukupi untuk mendukung
pertumbuhan tanaman, sehingga tanaman bisa tumbuh secara normal. Pemberian
air irigasi yang efisien selain dipengaruhi oleh tatacara aplikasi, juga ditentukan
oleh kebutuhan air guna mencapai kondisi air tersedia yang dibutuhkan tanaman.
2.3 Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah
chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil
RAM, memori program, atau keduanya), dan perlengkapan input output. Dengan
kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai
masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus
dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis
data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk
mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.
Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem
elektronik
yang
sebelumnya
banyak
memerlukan
komponen-komponen
pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya
terpusat serta dikendalikan oleh mikrokontroler ini.
Arduino merupakan kit mikrokontroler yang bersifat Open-Source baik
perangkat keras maupun perangkat lunaknya. Perangkat keras yang diprogram
menggunakan bahasa pemrogaman berbasis Wiring menyerupai C++ dengan
Universitas Sumatera Utara
12
beberapa penyederhanaan dan modifikasi. Untuk perangkat lunak IDE yang
dibangun berbasis Proccessing. Arduino ditemukan dan dikembangkan pertama
kali di Ivrea, italia oleh Massimo Banzi dan David Cuertilles.
Ide terciptanya Arduino didasari dari mahalnya komponen perangkat keras
elektronik yang tersedia. Hal ini menjadi penghambat utama para mahasiswa dan
pelajar dalam bereksplorasi. Selain harga yang murah, kemudahan dan
fleksibilitas penggunaan menjadi pertimbangan oleh pengguna-pengguna Arduino
masa kini. Pengguna tidak lagi terkendala waktu untuk mendalami elektronika
dan mikrokontroler. Pengguna juga tidak akan disulitkan dalam merancang suatu
sistem eletktronika karena banyak komunitas yang menyediakan tutorial proyek
berbasis Arduino secara gratis di dunia maya.
Munculnya Arduino menjadikannya sebagai tren teknologi yang
revolusioner. Arduino terbuka untuk semua orang yang ingin mengembangkan
suatu sistem interaktif berbasis mikrokontroler, baik untuk kalangan mahasiswa,
pelajar, profesional bahkan pemula sekalipun.
Pengguna dapat memiliki Arduino sesuai kebutuhannnya karena Arduino
dibuat dalam beberapa jenis diantaranya yaitu Arduino Diecimila, Duemilanove,
UNO, Lenardo, Mega, Nano, Due, Yun dan berbagai jenis Arduino lainnya.
2.3.1 Arduino Leonardo
Arduino Leonardo adalah papan mikrokontroler berbasis ATmega32u4,
seperti yang tampak pada Gambar 2.2. Arduino Leonardo memiliki 20 digital pin
input/output (yang mana 7 pin dapat digunakan sebagai output PWM dan 12 pin
sebagai input analog), 16 MHz kristal osilator, koneksi micro USB, jack power
Universitas Sumatera Utara
13
suplai tegangan, header ICSP, dan tombol reset. Ini semua yang diperlukan untuk
mendukung mikrokontroler. Cukup dengan menghubungkannya ke komputer
melalui kabel USB atau power dihubungkan dengan adaptor AC-DC atau baterai
untuk mulai mengaktifkannya.
Leonardo berbeda dari semua papan Arduino yang lainnya karena
ATmega32u4 secara terintegrasi (built-in) telah memiliki komunikasi USB,
sehingga tidak lagi membutuhkan prosesor sekunder (tanpa chip ATmega16U2
sebagai konverter USB-to-serial).
Hal ini memungkinkan Arduino Leonardo yang terhubung ke komputer
digunakan sebagai mouse dan keyboard, selain bisa digunakan sebagai virtual
(CDC) serial/COM port. Adapun spesifikasi singkat mengenai Arduino Leonardo
adalah sebagai berikut :
1. Mikrokontroler
: ATmega32U4
2. Kapasitas memori program / Flash Memory : 32 KB (4 KB sudah
digunakan untuk bootloader)
3. Kapasitas SRAM
: 2,5 KB
4. Kapasitas NVRAM/ EEPROM: 1 KB (dapat diakses menggunakan
pustaka EEPROM)
5. Kecepatan detak
: 16 MHz
6. Tegangan Operasional
: 5V (TTL)
7. Tegangan Catu Daya
: 7 - 12 Volt
(sekurang-kurangnya 6V, maksimum 20V)
8. Jumlah pin digital I/O
: 20 pin
9. Jumlah pin PWM
: 7 kanal
Universitas Sumatera Utara
14
10. Jumlah pin masukan analog (ADC)
: 12 kanal
11. Maksimum arus per pin
: 40 mA
12. Maksimum arus yang dapat ditarik dari pin 3v3
: 50 mA
Gambar 2.2 Arduino Leonardo
Arduino Leonardo dalam penelitian ini telah dikemas dalam satu papan
modul bernama WiDO bersamaan dengan modul WiFi seperti yang ditunjukkan
oleh Gambar 2.3 sehingga papan modul ini memudahkan proses integrasi modul
WiFi dengan Mikrokontroller Arduino.
Gambar 2.3 Papan Modul WiDO
Universitas Sumatera Utara
15
2.3.2 Pemetaan Pin Arduino Leonardo
Mikrokontroler yang digunakan pada Arduino Leonardo ini adalah
Mikrokontroler ATMega32U4. Mikrokontroler ini menjadi komponen utama dari
sistem minimum Arduino Leonardo. Setiap pin mikrokontroler ATMega32U4
dipetakan sesuai dengan kebutuhan standarArduino pada umumnya. Pemetaan pin
(pin mapping) ATMega32U4 dapat dilihat pada Gambar 2.3 dan Tabel 2.1.
Tabel 2.1 Daftar Pin Arduino Leonardo
Nomor Pin
Nama Pin
Pemetaan Nama Pin
1
PE6 (INT.6/AIN0)
Digital pin 7
2
UVcc
+5V
3
D-
RD-
4
D+
RD+
5
UGnd
UGND
6
UCap
UCAP
7
VUSB
VBus
8
(SS/PCINT0) PB0
RXLED
9
(PCINT1/SCLK) PB1
SCK
10
(PDI/PCINT2/MOSI) PB2
MOSI
11
(PDO/PCINT3/MISO) PB3
MISO
(PCINT7/OCA0/OC1C/#RTS)
Digital pin 11
12
PB7
(PWM)
13
RESET
RESET
14
Vcc
+5V
15
GND
GND
16
XTAL2
XTAL2
17
XTAL1
XTAL1
Digital pin 3
18
(OC0B/SCL/INT0) PD0
(SCL)(PWM)
Universitas Sumatera Utara
16
Nomor Pin
Nama Pin
Pemetaan Nama Pin
19
(SDA/INT1) PD1
Digital pin 2 (SDA)
20
(RX D1/AIN1/INT2) PD2
Digital pin 0 (RX)
21
(TXD1/INT3) PD3
Digital pin 1 (TX)
22
(XCK1/#CTS) PD5
TXLED
23
GND1
GND
24
AVCC
AVCC
25
(ICP1/ADC8) PD4
Digital pin 4
26
(T1/#OC4D/ADC9) PD6
Digital pin 12
27
(T0/OC4D/ADC10) PD7
Digital Pin 6 (PWM)
28
(ADC11/PCINT4) PB4
Digital pin 8
(PCINT5/OC1A/#OC4B/ADC12)
29
PB5
Digital Pin 9 (PWM)
(PCINT6/OC1B/OC4B/ADC13)
30
PB6
Digital Pin 10 (PWM)
31
(OC3A/#0C4A) PC6
Digital Pin 5 (PWM)
32
(ICP3/CLK0/)C4A) PC7
Digital Pin 13 (PWM)
33
(#HWB) PE2
HWB
34
Vcc1
+5V
35
GND2
GND
36
(ADC7/TDI) PF7
Analog In 0
37
(ADC6/TDO) PF6
Analog In 1
38
(ADC5/TMS) PF5
Analog In 2
39
(ADC4/TCK) PF4
Analog In 3
40
(ADC1) PF1
Analog In 4
41
(ADC0) PF0
Analog In 5
42
AREF
AEF
43
GND3
GND
44
AVCC1
AVCC
Universitas Sumatera Utara
17
Gambar 2.4 Pemetaan Pin Arduino Leonardo
2.3.3
Memori
ATmega32u4 memiliki memori sebesar 32 KB (4 KB digunakan untuk
bootloader). Juga memiliki 2,5 KB SRAM dan 1 KB EEPROM (yang dapat
dibaca dan ditulis dengan perpustakaan EEPROM).
Universitas Sumatera Utara
18
2.3.4 Pin Input dan Output
Pada Arduino Leonardo, 20 pin digital I/O dapat digunakan sebagai input
atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Mereka beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau
menerima maksimum 40 mA dan memiliki resistor pull-up internal sebesar 20-50
kOhm yang terputus secara default. Selain itu, beberapa pin memiliki fungsi
khusus, yaitu:
1. Serial : Pin 0 (RX) dan pin 1 (TX). Digunakan untuk menerima (RX) dan
mengirimkan (TX) data serial TTL menggunakan hardware ATmega32U4
yang memiliki kemampuan serial didalamnya. Perhatikan bahwa pada
Leonardo, kelas Serial mengacu pada komunikasi USB (CDC); untuk TTL
serial pada pin 0 dan 1, menggunakan kelas Serial 1.
2. TWI : Pin 2 (SDA) dan pin 3 (SCL). Dukungan komunikasi TWI
menggunakan perpustakaan Wire.
3. Eksternal Interupsi : Pin 3 (interrupt 0), pin 2 (interrupt 1), pin 0 (interrupt
2), pin 1 (interrupt 3) dan pin 7 (interrupt 4). Pin ini dapat dikonfigurasi
untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau
menurun, atau merubah nilai.
4. PWM : Pin 3, 5, 6, 9, 10, 11, dan 13. Menyediakan 8-bit output PWM
dengan fungsi analogWrite().
5. SPI : Pin pada header ICSP ini mendukung komunikasi SPI menggunakan
perpustakaan SPI. Perhatikan bahwa pin SPI tidak terhubung ke salah satu
pun pin digital I/O karena yang terhubung langsung hanya pada Arduino
Uno, Mereka hanya menyediakan konektor ICSP.
Universitas Sumatera Utara
19
Ini berarti bahwa jika Anda memiliki shield yang menggunakan SPI, tetapi
tidak terdapat 6 pin konektor ICSP yang terhubung ke 6 pin ICSP header
Leonardo, maka shield tidak akan bekerja.
6. LED : Pin 13. Tersedia secara built-in pada papan Arduino ATmega2560.
LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka
LED menyala (ON), dan ketika pin diset bernilai LOW, maka LED padam
(OFF).
7. Input Analog : Pin A0-A5, Pin A6 - A11 (pada pin digital 4, 6, 8, 9, 10,
dan 12). Leonardo memiliki 12 input analog, berlabel A0 sampai A11,
yang semuanya juga dapat digunakan sebagai digital I/O. Pin A0-A5
terdapat di lokasi yang sama seperti pada Arduino Uno; Pin input A6-A11
masing-masing ada pada digital I/O pin 4, 6, 8, 9, 10, dan 12. Masingmasing pin menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda).
Secara default pin ini dapat diukur/diatur dari mulai Ground sampai
dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan
tertinggi atau terendah mereka menggunakan pin AREF dan fungsi
analogReference().
Masih ada beberapa pin lainnya pada Arduino Leonardo, yaitu:
1. AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi
analogReference().
2. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang)
mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol
reset pada shield yang menghalangi papan utama Arduino.
Universitas Sumatera Utara
20
2.3.5. Sumber Daya
Arduino Leonardo dapat diaktifkan melalui koneksi USB mikro atau
dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Sumber daya
Eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor
dapat dihubungkan dengan mencolokkan steker 2.1 mm denan pusat-positif ke
jack power pada papan. Sumber tegangan dari baterai dapat dihubungkan ke
header pin Gnd dan Vin pin sebagai konektor sumber daya tegangan papan.
Papan Arduino Leonardo dapat beroperasi dengan pasokan daya eksternal
6 Volt sampai 20 volt. Jika diberi tegangan kurang dari 7 Volt, maka, pin 5 Volt
mungkin akan menghasilkan tegangan kurang dari 5 Volt dan ini akan membuat
papan menjadi tidak stabil. Jika sumber tegangan menggunakan lebih dari 12
Volt, regulator tegangan akan mengalami panas berlebihan dan bisa merusak
papan. Rentang sumber tegangan yang dianjurkan adalah 7 Volt sampai 12 Volt.
Pin tegangan yang tersedia pada papan Arduino Leonardo adalah sebagai berikut:
1. VIN
: Adalah input tegangan untuk papan Arduino ketika menggunakan
sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi
USB atau sumber daya ter-regulator lainnya). Anda dapat memberikan
tegangan melalui pin ini, atau jika memasok tegangan untuk papan melalui
jack power, kita bisa mengakses/mengambil tegangan melalui pin ini.
2. 5V
: Tegangan listrik ter-regulator yang digunakan untuk daya
mikrokontroler dan komponen lainnya pada papan Arduino. Tegangan
Universitas Sumatera Utara
21
dapat menggunakan pin VIN melalui regulator on-board, atau dipasok oleh
USB atau power suplai lain dengan besar tegangan 5V ter-regulator.
3. 3V3
: Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini
dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus
maksimum yang dihasilkan adalah 50 mA.
4. GND : Pin Ground atau Massa.
5. IOREF: Pin ini pada papan Arduino berfungsi untuk memberikan referensi
tegangan yang beroperasi pada mikrokontroler (atau VCC untuk papan).
Pin ini bertegangan 5V pada Leonardo.
2.3.6. Arduino IDE
Arduino leonardo dapat diprogram dengan perangkat lunak Arduino. IDE
Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java.
Pada Gambar 2.4 IDE Arduino terdiri dari:
1. Editor program, sebuah window yang memungkinkan pengguna menulis
dan mengeditprogram dalam bahasa processing.
2. Compiler, sebuah modul yang mengubah kode program (bahasa
processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler
tidak akan bisa memahami bahasa processing. Yang bisa dipahami oleh
mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan
dalam hal ini.
3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam
memory didalam papan Arduino.
Universitas Sumatera Utara
22
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata
“sketch” digunakan secara bergantian dengan “kode program” dimana keduanya
memiliki arti yang sama.
Gambar 2.5 Tampilan Arduino IDE
2.4.
Komunikasi Serial
Kemampuan untuk bisa melakukan komunikasi data antara 2 atau lebih
peralatan elektronik adalah hal yang sangat penting yang harus dimiliki oleh
sebuah mikrokontroler. Dan yang lebih penting lagi, kemampuan komunikasi
tersebut tidak boleh sampai mengurangi fungsi dari mikrokontroler itu sendiri.
Ada 2 jenis komunikasi data yang bisa dilakukan oleh mikrokontroler, yaitu
komunikasi parallel dan komunikasi serial. Komunikasi parallel memiliki
kelebihan dari sisi kecepatan transfer data, namun efisiensi penggunaan pin dari
mikrokontroler juga menjadi berkurang.
Saat ini ada banyak jenis kemampuan komunikasi serial yang dimiliki oleh
mikrokontrole, terutama oleh mikrokontroler arduino. Arduino Leonardo,
memiliki 4 buah port komunikasi serial yang bisa digunakan oleh user. Semua
Universitas Sumatera Utara
23
port komunikasi serial ini bisa digunakan secara independen, artinya bisa
digunakan satu per satu ataupun digunakan keseluruhan secara bersama.
Komunikasi serial yang dimiliki oleh arduino bisa kita manfaatkan untuk
berkomunikasi dengan Personal Computer, Bluetooth Modul, Wifi atau bahkan
dengan Arduino yang lain. Yang perlu menjadi catatan utama adalah, jika port
dari arduino mikrokontroler sudah difungsikan sebagai sarana komunikasi serial,
maka port tersebut tidak dapat difungsikan sebagai port input/output digital.Ada 5
Fungsi utama dalam proses komunikasi serial oleh Arduino :
1. Fungsi Transmit Data –> lebih dikenal dengan fungsi Tx
2. Fungsi Receiving Data –> lebih dikenal dengan fungsi Rx
3. Fungsi Grounding System Komunikasi Serial –> Atau GND
4. Kecepatan Transfer Data –> lebih dikenal dengan Baudrate.
5. Format Data –> biasa digunakan 8 bit data, No Parity, dan 1 bit untuk stop
bit
Sebelum menjalankan perintah pengiriman data, maka pengguna
diharuskan untuk melakukan setting dari baudrate. Karena baudrate yang berbeda
antara 2 peralatan komunikasi, akan menyebabkan sistem menerima data yang
salah. Secara default hampir keseluruhan mikrokontroler menggunakan format
komunikasi serial dengan data 8 bit data, No Parity, dan 1 bit untuk stop
bit.Software Arduino, menyediakan perintah khusus untuk prosess setting
baudrate yaitu :Serial.begin(9600);maka software Arduino akan menterjemahkan
perintah tersebut menjadi :
1. Baudrate komunikasi serial adalah 9600 bps
2. 8 bit data, No Parity, 1 bit stop
Universitas Sumatera Utara
24
2.4.1. Perintah Mengirim Data
Ada 3 jenis perintah untuk proses pengiriman data dalam Arduino yaitu :
1. print();
2.
println();
3.
write();
Perintah print() dan println() hampir sama fungsi, hanya saja perintah
prinln() dilengkapi dengan carriage return dan baris baru pada akhir pengiriman
atau yang lebih dikenal dengan linefeed dan new line command. Sedangkan
perintah write() sudah hampir tidak pernah digunakan. Anda dapat menambahkan
parameter didalam kurung dari masing-masing perintah tersebut, seperti data yang
akan dikirim ataupun isi dari variable data yang akan dikirim melalui port serial.
2.4.2. Perintah Menerima Data
Untuk menerima data/mengambil data yang ada di Buffer serial dari
Arduino, bisa menggunakan 2 perintah berikut :
1. read();
2.
readbytes();
Perintah read() biasa digunakan jika data yang akan diambil bertipe data
string, sedangkan perintah readbyte digunakan jika data bertipe bilangan dengan
tipe data byte. Anda bisa menambahkan variable data dalam perintah ini untuk
mengidentifikasi serial port yang akan baca datanya.
Universitas Sumatera Utara
25
2.4.3. Perintah Recheck Data
Selain perintah mengirim dan menerima data, Arduino juga menyediakan
perintah untuk recheck apakah data yang diinginkan siap diambil di Buffer serial
ataukah tidak. Perintah tersebut antara lain adalah :
1. available();
2. find();
2.5.
Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar
ANSI ( American National Standards Institute ), yang digunakan sebagai
referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam
beberapa literature, bahasa C digolongkan bahasa level menengah karena bahasa
C mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah.
Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. Pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. Bahasa C++ mendukung konsep pemrograman
berorientasu objek dan pemrograman berbasis windows.
Sampai
sekarang
bahasa
C++
terus
brkembang
dan
hasil
perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C
dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan
disebut dengan fungsi saja.
Universitas Sumatera Utara
26
Hal ini karena di C++ sebuah prosedur pada dasanyaadalah sebuah fungsi yang
tidak memiliki tipe data kembalian (void). Hingga kini bahasa ini masih populer
dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan
dari PC hingga main frame.
Arduino sendiri menggunakan bahasa C, walaupun banyak sekali terdapat
bahasa pemrograman tingkat tinggi (high level language) seperti pascal,
basic,cobol, dan lainnya.Para programer profesional masih tetap memilih bahasa
C sebagai bahasa yang lebih unggul, berikut alasan-alasannya:
1. Bahasa C merupakan bahasa yang powerful dan fleksibel yang telah
terbukti dapat menyelesaikan program-program besar seperti pembuatan
sistem operasi, pengolah Gambar (seperti pembuatan game) dan juga
pembuatan kompilator bahasa pemrograman baru.
2. Bahasa C merupakan bahasa yang porTabel sehingga dapat dijalankan di
beberapa sistem operasi yang berbeda. Sebagai contoh program yang kita
tulis dalam sistem operasi windows dapat kita kompilasi didalam sistem
operasi linux dengan sedikit ataupun tanpa perubahan sama sekali.
3. Bahasa C merupakan bahasa yang sangat populer dan banyak digunakan
oleh programer berpengalaman sehingga kemungkinan besar library
pemrograman telah banyak disediakan oelh pihak luar/lain dan dapat
diperoleh dengan mudah.
4. Bahasa C merupakan bahasa yang bersifat modular, yaitu tersusun atas
rutin-rutin tertentu yang dinamakan dengan fungsi (function) dan fungsi-
Universitas Sumatera Utara
27
fungsi tersebut dapat digunakan kembali untuk pembuatan programprogram lainnya tanpa harus menulis ulang implementasinya.
5. Bahasa C merupakan bahasa tingkat menengah (middle level language)
sehingga mudah untuk melakukan interface (pembuatan program antar
muka) ke perangkat keras.
6. Struktur penulisan program dalam bahasa C harus memiliki fungsi utama,
yang bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada
saat proses eksekusi program. Artinya apabila ada fungsi lain selain fungsi
utama, maka fungsi lain tersebut baru akan dipanggil pada saat digunakan.
Kekurangan Bahasa C, yaitu :
1. Banyaknya operator serta fleksibilitas penulisan program kadangkadang
membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.5.1. Struktur Bahasa C
Program bahasa C tersusun atas sejumlah blok fungsi.
1. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan
suatu proses tertentu.
2. Tidak ada perbedaan antara prosedur dan fungsi.
3. Setiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
4. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
5. Setiap statemen diakhiri dengan semicolon (titik koma).
Universitas Sumatera Utara
28
2.5.2. Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable fungsi,
label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan
bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :
1. Karakter pertama tidak boleh menggunakan angka.
2. Karakter kedua dapat berupa huruf, angka, atau garis bawah.
3. Tidak boleh menggunakan spasi. Bersifat Case Sensitive, yaitu huruf
kapital dan huruf kecil dianggap berbeda.
4. Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static,
bit, long, case, do, switch dll.
2.5.3. Tipe Data
Macam-macam tipe data pada bahasa C seperti yang terlihat pada Tabel
2.2, yaitu :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada
sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya
data yang dapat disimpan pada variabel yang bertipe data char adalah -127
- 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada
Universitas Sumatera Utara
29
dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya
disimpan pada variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung
bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan
terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita
simpan. Contohnya seperti berikut, kiata akan melakukan operasi
penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel
c. Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar
dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita
menggunakan tipe data unsigned int. Namun berbeda halnya jika saya
ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan
negatif maka selayaknya digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan
double. Double lebih memiliki panjang data yang lebih banyak
dibandingkan float. Tipe data double dapat digunakan jika kita
membutuhkan variabel yang dapat menampung tipe data berkoma yang
bernilai besar.
Universitas Sumatera Utara
30
Tabel 2.2 Tipe Data
Tipe
Lebar
Jangkauan Nilai
int
16 bit
-32768 s/d 32767
unsigned int
16 bit
0 s/d 65535
long int
32 bit
-2147483648 s/d 2147483649
unsigned long int
32 bit
0 s/d 4294967296
float
32 bit
3.4E-38 s/d 3.4E+38
double
64 bit
1.7E-308 s/d 1.7E+308
char
8 bit
-128 s/d 127
unsigned char
8 bit
0
s/d 255
2.5.4. Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
2.5.5. Identifier
Universitas Sumatera Utara
31
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh
pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,
nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll).
Identifier punya ketentuan sebagai berikut :
1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang
diperhatikan hanya 32 karakter pertama saja).
2.
Case sensitive: membedakan huruf besar dan huruf kecilnya.
3.
Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh
angka.
4. Tidak boleh mengandung spasi atau blank.
5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.
Bahasa C merupakan bahasa prosedural yang menerapkan konsep runtutan
(program dieksekusi per baris dari atas ke bawah secara berurutan), apabila
fungsi-fungsi lain tersebut dituliskan dibawah fungsi utama, maka harus
menuliskan bagian prototipe (prototype), hal ini dimaksudkan untuk mengenalkan
terlebih dahulu kepada kompiler daftar fungsi yang akan digunakan di dalam
program. Namun apabila fungsi-fungsi lain berada diatas atau sebelum fungsi
utama, maka bagian prototipe tidak perlu dituliskan diatas. (Djuandi, Feri.
(2011).Selain itu dalam bahasa C juga dikenal file header, biasa ditulis dengan
ekstensi h(*.h), adalah file bantuan yang yang digunakan untuk menyimpan
daftar-daftar fungsi yang akan digunakan dalam program.
Universitas Sumatera Utara
32
2.6.
Grove Moisture Sensor SEN0100
Sensor kelembaban tanah merupakan sensor yang mampu mendeteksi
intensitas air di dalam tanah (moisture). Seperti tampak padaGambar 2.5sensor ini
terdiri dua probe untuk melewatkan arus melalui tanah, kemudian membaca
resistansinya untuk mendapatkan nilai tingkat kelembaban. Semakin banyak air
membuat tanah lebih mudah menghantarkan listrik (resistansi kecil), sedangkan
tanah yang kering sangat sulit menghantarkan listrik (resistansi besar). Kedua
probe ini merupakan media yang akan menghantarkan tegangan analog yang
nilainya relatif kecil.
Gambar 2.6 Grove Moisture Sensor SEN0100
Sensor kelembaban ini dapat digunakan untuk mendeteksi kelembaban
tanah atau kandungan air di dalam tanah di sekitar sensor. Sensor ini sangat
mudah digunakan yaitu dengan memasukkan ke dalam tanah pada kedalaman 1-5
cm dan kemudian membaca data hasil pengukuran sensor. Spesifikasi sensor ini
dilihat pada Tabel 2.3.
Tabel 2.3 Spesifikasi Grove Moisture Sensor SEN0100
Item
Parameter
Tegangan
-
Min Khas Maks Satuan
3.3
~
5
V
Universitas Sumatera Utara
33
Arus
-
0
~
35
mA
Nilai Output
Sensor di tanah kering
0
~
300
/
~
700
/
~
950
/
Sensor di dalam tanah lembab 300
Sensor dalam air
2.7.
700
LCD (Liquid Crystal Display)
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai
banyak digunakan. Penampil LCD seperti yang tampak pada Gambar 2.6, mulai
dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang
sudah berpuluh-puluh tahun digunakan manusia sebagai penampil Gambar/text
baik monokrom (hitam dan putih), maupun yang berwarna. Teknologi LCD
memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada
dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor
ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah
konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan
ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan
kejenuhan pada mata dibandingkan dengan LCD.
Gambar 2.7 Tampilan LCD 20 x 4
Universitas Sumatera Utara
34
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair
sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan
dua dimensi piksel yang dibagi dalam baris dan kolom. Konfigurasi pin
LCD dapat dilihat pada Tabel 2.4.
Tabel 2.4 Konfigurasi Pin LCD 20x4
No.Pin
Nama
Keterangan
1
GND
Ground
2
VCC
+5V
3
VEE
Contras
4
RS
Register Select
5
RW
Read/write
6
E
Enable
7-14
D0-D7
Data bit 0-7
15
A
Anoda (back light)
16
K
Katoda (back light)
Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED
terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian
belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam
keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah
tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan
diterapkan antara bidang latar dan pola elektroda yang terdapat pada sisi dalam
lempeng kaca bagian depan.
Universitas Sumatera Utara
35
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa
microampere), sehingga alat atau sistem menjadi portable karena dapat
menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang
diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.
Dibawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu
(berupa LED) harus dipasang dibelakang layar tampilan.LCD yang digunakan
adalah jenis LCD yang mena mpilkan data dengan 2baris tampilan pada display.
Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data
dan 3 bit control.
3. Ukuran modul yang proporsional.
4. Daya yang digunakan relative sangat kecil.
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses
internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi
membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter
dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Shift, dan Display Shift.
2.7.1. Register LCD
Universitas Sumatera Utara
36
Register yang terdapat di LCD adalah sebagai berikut:
1. IR (Intruction Register)
Digunakan untuk menentukan fungsi yang harus dikerjakan oleh LCD
serta pengalamatan DDRAM atau CGRAM.
2.
DR (Data Register)
Digunakan sebagai tempat data DDRAM atau CGRAM yang akan ditulis
atau dibaca oleh komputer atau sistem minimum. Saat dibaca, DR
menyimpan data DDRAM atau CGRAM, setelah itu data alamatnya secara
otomatis masuk ke DR. Pada waktu menulis, cukup lakukan inisialisasi
DDRAM atau CGRAM, kemudian untuk selanjutnya data dituliskan ke
DDRAM atau CGRAM sejak awal alamat tersebut.
3. BF (Busy Flag)
Digunakan untuk bahwa LCD dalam keadaan siap atau sibuk. Apabila
LCD sedang melakukan operasi internal, BF diset menjadi 1, sehingga
tidak akan menerima perintah dari luar. Jadi, BF harus dicek apakah telah
diriset menjadi 0 ketika akan menulis LCD (memberi data pada LCD).
Cara untuk menulis LCD adalah dengan mengeset RS menjadi 0 dan
mengeset R/W menjadi 1.
4. AC (Address Counter)
Digunakan untuk menunjukan alamat pada DDRAM atau CGRAM dibaca
atau ditulis, maka AC secara otomatis menunjukan alamat berikutnya.
Alamat yang disimpan AC dapat dibaca bersamaan dengan BF.
5. DDRAM (Display Data Random Access Memory)
Universitas Sumatera Utara
37
Digunakan sebagai tempat penyimpanan data yang sebesar 80 byte atau 80
karakter. AC menunjukan alamat karakter yang sedang ditampilkan.
6. CGROM (Character Generator Read Only Memory)
Pada LCD terdapat ROM untuk menyimpan karakter-karakter ASCII
(American Standart Code for Interchage Intruction), sehingga cukup
memasukan kode ASCII untuk menampilkanya.
7. CGRAM (Character Generator Random Access Memory)
Sebagai data storage untuk merancang karakter yang dikehendaki. Untuk
CGRAM terdapat kode ASCII dari 00h sampai 0Fh, tetapi hanya 8
karakter yang disediakan. Alamat CGRAM hanya 6 bit, 3 bit untuk
mengatur tinggi karakter dan 3 bit tinggi menjadi 3 bit rendah DDRAM
yang menunjukan karakter, sedangkan 3 bit rendah sebagai posisi data
CGRAM untuk membuat tampilan baris dalam dot matriks 5x7 karakter
tersebut, dimulai dari atas. Sehingga karakter untuk kode ASCII 00h sama
dengan 09h sampai 07h dengan 0Fh. Dengan demikian untuk perancangan
1 karakter memerlukan penulisan data ke CGRAM samapai 8 kali.
8. Cursor and Blink Control circuit
Merupakan rangkaian yang menghasilkan tampilan kursor dan kondisi
blink (berkedap-kedip).
Universitas Sumatera Utara
38
2.8.
Relay
Relay adalah saklar mekanik yang dikendalikan atau dikontrolsecara
elektronik (elektro magnetik). Saklar pada relay akan terjadiperubahan posisi OFF
ke ON pada saat diberikan energi elektro magnetikpada armatur relay tersebut.
Relay pada dasarnya terdiri dari 2 (dua) bagian utama yaitu saklar mekanik
dan sistem pembangkit elektromagnetik (induktor inti besi). Saklar atau kontaktor
relay dikendalikan menggunakan tegangan listrik yang diberikan ke induktor
pembangkit magnet untuk menarik armatur tuas saklar atau kontaktor relay. Relay
yang ada dipasaran terdapat berbagai bentuk dan ukuran dengan tegangan kerja
dan jumlah saklar yang bervariasi, pada Gambar 2.7 adalah salah satu bentuk
relay yang ada dipasaran.
Gambar 2.8 Relay
Relay dibutuhkan dalam rangkaian elektronika sebagai eksekutor sekaligus
interface antara beban dan sistem kendali elektronik yang berbeda sistem power
Universitas Sumatera Utara
39
supplynya. Secara fisik antara saklar atau kontaktor dengan elektromagnet relay
terpisah sehingga antara beban dan sistem kontrol terpisah. Bagian utama relay
elektro mekanik adalah sebagai berikut :
1. Kumparan elektromagnet
2. Saklar atau kontaktor Swing
3. Armatur Spring (Pegas).
Gambar 2.9 Konstruksi Relay Posisi NC
Dari konstruksi relay elektro mekanik diatas dapat diuraikan sistem kerja atau
proses relay bekerja. Pada saat elektromagnet tidak diberikan sumber tegangan
maka tidak ada medan magnet yang menarik armature, sehingga saklar relay tetap
terhubung ke terminal NC (Normally Close) seperti terlihat pada Gambar 2.9.
Kemudian pada saat elektromagnet diberikan sumber tegangan maka terdapat
medan magnet yang menarik armature, sehingga saklar relay terhubung ke
terminal NO (Normally Open) seperti terlihat pada Gambar 2.10.
Universitas Sumatera Utara
40
Gambar 2.10 Konstruksi Relay Posisi NO
Relay elektro mekanik memiliki kondisi saklar atau kontaktor dalam 3 posisi.
Ketiga posisi saklar atau kontaktor relay ini akan berubah pada saat relay
mendapat tegangan sumber pada elektromagnetnya. Ketiga posisi saklar relay
tersbut adalah :
1. Posisi Normally Open (NO), yaitu posisi saklar relay yang terhubungke
terminal NO (Normally Open). Kondisi ini akan terjadi pada saatrelay
mendapat tegangan sumber pada elektromagnetnya.
2. Posisi Normally Colse (NC), yaitu posisi saklar relay yangterhubung ke
terminal NC (Normally Close). Kondisi ini terjadi padasaat relay tidak
mendapat tegangan sumber pada elektromagnetnya.
3.
Posisi Change Over (CO), yaitu kondisi perubahan armatur saklarrelay
yang berubah dari posisi NC ke NO atau sebaliknya dari NO keNC.
Kondisi ini terjadi saat sumber tegangan diberikan keelektromagnet atau
saat sumber tegangan diputus dari elektromagnetrelay.
2.9.
Mini Water Pump DC 12V
Universitas Sumatera Utara
41
Mini Water Pumpadalah peralatan mekanis yang digunakan untuk
menaikkan cairan dari dataran rendah ke dataran tinggi atau untuk mengalirkan
cairan dari daerah bertekanan rendah ke daerah yangbertekanan tinggi dan juga
sebagai penguat laju aliran pada suatu sistemjaringan perpipaan. Hal ini dicapai
dengan membuat suatu tekanan yangrendah pada sisi masuk atau suction dan
tekanan yang tinggi pada sisikeluar atau discharge dari pompa.
Pada prinsipnya, pompa mengubah energi mekanik motor menjadienergi
aliran fluida, bentuk fisik mini water pump dapat dilihat pada Gambar 2.10.
Energi yang diterima oleh fluida akan digunakanuntuk menaikkan tekanan dan
mengatasi tahanan-tahanan yang terdapatpada saluran yang dilalui.
Gambar 2.11 Mini Water Pump DC 12V
Mini water pump DC ini menggunakan motor DC 12V. Motor DC merupakan
perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik.
Spesifikasi mini water pump DC 12V, yaitu :
1. Merk/Model
: Mabuchi RS-360SH
2. Catu Daya
: 7,2 Volt DC (min.3V, max 9V)
3. Kecepatan
: 12500 RPM (360 mA, No Load)
Universitas Sumatera Utara
42
4. Torsi maksimum (stall torque): 420 g.cm
5. Arus maksimum (stall current): 8,6 A
6. Konstruksi
: Shunt Wound
7. Daya Keluaran
: 0,7 W - 40 W (aproksimasi)
8. Diameter Saluran
: 2,3 mm
9. Dimensi Keseluruhan
: 49,6 mm x 27,7 mm
Energi mekanik ini digunakan untuk, misalnya memutar impeller
pompa, fan atau blower, menggerakan kompresor, mengangkat bahan,dll. Motor
listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri.
Motor listrik kadangkala disebut “kuda kerja” nya industri sebab diperkirakan
bahwa motor-motor menggunakan sekitar 70% beban listrik total di industri.
Motor DC memerlukan suplai tegangan yang searah pada kumparan
medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc
disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor
(bagian yang berputar).Jika terjadi putaran pada kumparan jangkar dalam pada
medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada
setiap setengah putaran, sehingga merupakan tegangan bolak-balik.
Prinsip kerja dari arus searah adalah membalik phasa tegangan dari
gelombang yang mempunyai nilai positif dengan menggunakan komutator,
dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar
dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu
lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen, seperti
yang terlihat pada Gambar 2.11.
Universitas Sumatera Utara
43
Gambar 2.12 Motor DC
Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang
menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan.
Kumparan satu lilitan pada Gambar di atas disebut angker dinamo. Angker
dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.
2.10. Power Supply
Power supply adalah alat atau sistem yang berfungsi untuk menyalurkan
energi listrik atau bentuk energi jenis apapun yang sering digunakan untuk
menyalurkan energi listrik. Secara prinsip rangkaian power supply adalah
menurunkan tegangan AC , menyearahkan tegangan AC sehingga menjadi DC
,menstabilkan tegangan DC, yang terdiri atas transformator, dioda dan
kapasitor/condensator.
Ada 2 jenis rangkaian penyearah, yaitu setengah gelombang (half wave)
dan gelombang penuh (full wave). Arus listrik DC yang keluar dari dioda masih
berupa deretan pulsa-pulsa. Tentu saja arus listrik DC semacam ini tidak cocok
atau tidak dapat digunakan oleh perangkat elektronik apapun. Kapasitor berfungsi
sebagai filter pada sebuah rangkaian power supply, yang saya maksud disini
Universitas Sumatera Utara
44
adalah kapasitor sebagai ripple filter, disini sifat dasar kapasitor yaitu dapat
menyimpan muatan listrik yangberfungsi untuk memotong tegangan ripple.Power
supply diharapkan dapat melakukan fungsi berikut ini :
1. Rectification: konversi input listrik AC menjadi DC.
2. Voltage Transformation: memberikan keluaran tegangan / voltage DC
yang sesuai dengan yang dibutuhkan.
3. Filtering: menghasilkan arus listrik DC yang lebih "bersih", bebas dari
ripple ataupun noise listrik yang lain.
4. Regulation: mengendalikan tegangan keluaran agar tetap terjaga,
tergantung pada tingkatan yang diinginkan, beban daya, dan perubahan
kenaikan temperatur kerja juga toleransi perubahan tegangan daya input.
5. Isolation: memisahkan secara elektrik output yang dihasilkan dari sumber
input.
6. Protection: mencegah lonjakan tegangan listrik (jikaterjadi), sehingga
tidak terjadi pada output, biasanya dengan tersedianya sekering untuk auto
shutdown jika hal terjadi.
2.10.1. Konversi AC ke DC
Untuk konversi listrik AC ke DC, ada dua metode yang mungkin
digunakan. Pertama dengan linear power supply. Ini adalah rangkaian AC ke DC
yang sangat sederhana.Setlah Listrik AC dari line input distepdown oleh
transformer, kemudian dijadikan DC secara sederhana dengan rangkaian empat
diode penyearah.
Universitas Sumatera Utara
45
Komponen tambahan lain adalah kapasitor untuk meratakan tegangan.
Tambahan komponen yang mungkin disertakan adalah linear regulation, yang
bertugas menjaga tegangan sesuai yang diinginkan, meski daya output yang
dibutuhkan bertambah.Linear supply dapat anda temukan pada DC power adapter
sederhana. Kelemahan utamanya pada tingkat power conversion dengan efisiensi
yang rendah. Berikutnya adalah dibutuhkannya ukuran transformer yang besar,
untuk daya ampere yang besar. Tingkat efisiensi konfersi yang rendah (sekitar
50%) juga menyebabkannnya mengeluarkan panas yang besar saat beroperasi.
2.10.2. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam
kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya
(FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber
listriknya,seperti pada Gambar 2.13.
Gambar 2.13 Transistor
Universitas Sumatera Utara
46
Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E)
dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat
dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input
Basis, yaitu pada keluaran tegangan dan arus output Kolektor.
Transistor merupakan komponen yang sangat penting dalam dunia
elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier
(penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil
(stabilisator) dan penguat sinyal radio. Dalam rangkaian-rangkaian digital,
transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga
dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori
dan fungsi rangkaian-rangkaian lainnya.Transistor secara umum dibagi menjadi 2
macam, yaitu :
1. Tansistor NPN
Gambar 2.14 Transistor NPN
Prinsip kerja dari transistor NPN, seperti yang terdapat pada Gambar
2.14adalah: arus akan mengalir dari kolektor ke emitor jika basisnya dihubungkan
Universitas Sumatera Utara
47
ke ground (negatif). Arus yang mengalir dari basis harus lebih kecil daripada arus
yang mengalir dari kolektor ke emitor, oleh sebab itu maka ada baiknya jika pada
pin basis dipasang sebuah resistor.
2. Tansistor PNP
Gambar 2.15 Transistor PNP
Prinsip kerja dari transistor PNP seperti yang tampak pada Gambar 2.15,
adalah arus akan mengalir dari emitter menuju ke kolektor jika pada pin basis
dihubungkan ke sumber tegangan ( diberi logika 1). Arus yang mengalir ke basis
harus lebih kecil daripada arus yang mengalir dari emitor ke kolektor, oleh sebab
itu maka ada baiknya jika pada pin basis dipasang sebuah resistor.
Universitas Sumatera Utara
48
2.10.3. Transformer
Transformer atau trafo adalah komponen elektromagnet yang dapat
mengubah taraf suatu tegangan AC ke taraf yang lain. Adaptor AC-DC
merupakan piranti yang menggunakan transformator step-down.Transformator
step-downdapat dilihat pada Gambar 2.16
Gambar 2.16Trafo
Transformator
bekerja
berdasarkan
prinsip
induksielektromagnetik.
Tegangan masukan bolak-balik yang membentangi primer menimbulkan fluks
magnet yang idealnya semua bersambung dengan lilitan sekunder. Fluks bolakbalik ini menginduksikan GGL dalam lilitan sekunder. Jika efisiensi sempurna,
semua daya pada lilitan primer akan dilimpahkan ke lilitan sekunder.Hubungan
antara primer dan sekunder terlihat pada Gambar 2.17
Universitas Sumatera Utara
49
Gambar 2.17 Hubungan Primer - Sekunder
2.11. Saklar
Saklar listrik adalah suatu komponen atau perangkat yang digunakan untuk
memutuskan atau menghubungkan aliran listrik. Saklar yang dalam bahasa Inggris
disebut dengan Switch ini merupakan salah satu komponen atau alat listrik yang
paling sering digunakan. Hampir semua peralatan Elektronika dan Listrik
memerlukan Saklar untuk menghidupkan atau mematikan alat listrik yang
digunakan.
Pada dasarnya, sebuah Saklar sederhana terdiri dari dua bilah konduktor
(biasanya adalah logam) yang terhubung ke rangkaian eksternal, saat kedua bilah
konduktor tersebut terhubung maka akan terjadi hubungan arus listrik dalam
rangkaian. Sebaliknya, saat kedua konduktor tersebut dipisahkan maka hubungan
arus listrik akan ikut terputus. Saklar yang paling sering ditemukan adalah Saklar
yang dioperasikan oleh tangan manusia dengan satu atau lebih pasang kontak
listrik.