Perancangan Alat Ukur Kualitas Udara Berbasis Arduino Mini Menggunakan Sensor MQ-135

BAB II
LANDASAN TEORI

Landasan teori sangat membantu untuk dapat memahami suatu sistem. Selain
dari pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu
sistem. Dengan pertimbangan hal-hal tersebut, maka landasan teori merupakan bagian
yang harus dipahami untuk pembahasan selanjutnya. Pengetahuan yang mendukung
perencanaan dan realisasi alat meliputi arduino mini, sensor MQ-135, LCD dan
program.
2.1.

Pencemaran Udara
Pencemaran lingkungan merupakan masalah yang sangat serius bagi

seluruh penduduk didunia. Karena, banyak dampak yang akan diperoleh akibat
tidak

terpeliharanya

lingkungan


hidup.

Pencemaran

lingkungan

dapat

menyebabkan penurunan kualitas udara, penyakit akibat tercemarnya udara,
perubahan iklim atau cuaca di lingkungan tertentu yang jika dibiarkan pada
akhirnya dapat berujung dengan kematian massal.
Polusi atau pencemaran lingkungan sendiri dapat diartikan masuknya atau
dimasukannya makhluk hidup, zat energi, dan atau komponen lain ke dalam
lingkungan, atau berubahnya tatanan lingkungan oleh kegiatan manusia atau oleh
proses alam sehingga kualitas lingkungan turun sampai ke tingkat tertentu yang
menyebabkan lingkungan menjadi kurang atau tidakdapat berfungsi lagi sesuai

Universitas Sumatera Utara

7


dengan peruntukannya. (Undang-undang Pokok Pengelolaan Lingkungan Hidup
No. 4 Tahun 1982).
Yang dikatakan sebagai polutan adalah suatu zat atau bahan yang kadarnya
melebihi ambang batas serta berada pada waktu dan tempat yang tidak tepat,
sehingga merupakan bahan pencemar lingkungan, misalnya: bahan kimia, debu,
panas dan suara. Polutan tersebut dapat menyebabkan lingkungan menjadi tidak
dapat berfungsi sebagaimana mestinya dan akhirnya malah merugikan manusia
dan makhluk hidup lainnya.
Berdasarkan lingkungan yang terkena polutan (tempat terjadinya),
pencemaran lingkungan dapat dibedakan menjadi 3 macam, yaitu:


Pencemaran air



Pencemaran tanah




Pencemaran udara

Pencemaran Udara adalah peristiwa masuknya, atau tercampurnya, polutan
(unsur-unsur berbahaya) ke dalam lapisan udara (atmosfer) yang dapat
mengakibatkan menurunnya kualitas udara (lingkungan).
Menurut Salim yang dikutip oleh Utami (2005) pencemaran udara diartikan
sebagai keadaan atmosfir, dimana satu atau lebih bahan-bahan polusi yang jumlah
dan konsentrasinya dapat membahayakan kesehatan mahluk hidup, merusak
properti, mengurangi kenyamanan di udara. Berdasarkan definisi ini maka segala
bahan padat, gas dan cair yang ada di udara yang dapat menimbulkan rasa tidak
nyaman disebut polutan udara.

Universitas Sumatera Utara

8

Pencemaran udara diartikan sebagai adanya bahan-bahan atau zat-zat asing
di dalam udara yang menyebabkan perubahan susunan (komposisi) udara dari
keadaan normalnya (Wisnu, Dampak pencemaran lingkungan : 27)

Jadi, Pencemaran udara adalah masuknya, atau tercampurnya unsur-unsur
berbahaya ke dalam atmosfir yang dapat mengakibatkan terjadinya kerusakan
lingkungan, gangguan pada kesehatan manusia secara umum serta menurunkan
kualitas lingkungan.
Umumnya, polutan yang mencemari udara berupa gas dan asap. Gas dan
asap tersebut berasal dari hasil proses pembakaran bahan bakar yang tidak
sempurna, yang dihasilkan oleh mesin-mesin pabrik, pembangkit listrik dan
kendaraan bermotor. Selain itu, gas dan asap tersebut merupakan hasil oksidasi
dari berbagai unsur penyusun bahan bakar, yaitu: CO2 (karbondioksida), CO
(karbonmonoksida), SOx (belerang oksida) dan NOx (nitrogen oksida).
Pencemaran udara disebabkan oleh beberapa faktor, antara lain:
a. Faktor alam (internal), yang bersumber dari aktivitas alam, contoh :


abu yang dikeluarkan akibat letusan gunung berapi



gas-gas vulkanik




debu yang beterbangan di udara akibat tiupan angin



bau yang tidak enak akibat proses pembusukan sampah organik

b. Faktor manusia (eksternal), yang bersumber dari hasil aktivitas manusia,
contoh :


hasil pembakaran bahan-bahan fosil dari kendaraan bermotor

Universitas Sumatera Utara

9




bahan-bahan buangan dari kegiatan pabrik industri yang memakai zat kimia

organik dan anorganik


pemakaian zat-zat kimia yang disemprotkan ke udara



pembakaran sampah rumah tangga



pembakaran hutan
Banyak faktor yang dapat menyebabkan pencemaran udara, diantaranya

pencemaran yang ditimbulkan oleh sumber-sumber alami maupun kegiatan
manusia atau kombinasi keduanya. Pencemaran udara dapat mengakibatkan
dampak pencemaran udara bersifat langsung dan lokal, regional, maupun global
atau tidak langsung dalam kurun waktu lama.

Pencemar udara dibedakan menjadi pencemar primer dan pencemar sekunder :
1. Polutan primer
Polutan primer adalah substansi pencemar yang ditimbulkan langsung dari
sumber pencemaran udara atau polutan yang dikeluarkan langsung dari sumber
tertentu, dan dapat berupa:
a. Polutan Gas terdiri dari:
 Senyawa karbon, yaitu hidrokarbon, hidrokarbon teroksigenasi, dan karbon
oksida (CO atau CO2) karena ia merupakan hasil dari pembakaran
 Senyawa sulfur, yaitu oksida.
 Senyawa halogen, yaitu flour, klorin, hydrogen klorida, hidrokarbon
terklorinasi, dan bromin.

Universitas Sumatera Utara

10

b. Partikel
Partikel yang di atmosfer mempunyai karakteristik yang spesifik, dapat berupa zat
padat maupun suspensi aerosol cair sulfur di atmosfer. Bahan partikel tersebut
dapat berasal dari proses kondensasi, proses (misalnya proses penyemprot/

spraying) maupun proses erosi bahan tertentu.

2. Polutan Sekunder
Polutan sekunder adalah substansi pencemar yang terbentuk dari reaksi
pencemar-pencemar primer di atmosfer ekunder biasanya terjadi karena reaksi dari
dua atau lebih bahan kimia di udara, misalnya reaksi foto kimia. Sebagai contoh
adalah disosiasi NO2 yang menghasilkan NO dan O radikal. Proses kecepatan dan
arah reaksinya dipengaruhi oleh berbagai faktor, antara lain:
 Konsentrasi relatif dari bahan reaktan
 Derajat fotoaktivasi
 Kondisi iklim
 Topografi lokal dan adanya embun.

Ada beberapa polutan yang dapat menyebabkan pencemaran udara, antara lain:


Karbon monoksida (CO)
Gas yang tidak berwarna, tidak berbau dan bersifat racun. Dihasilkan dari
pembakaran tidak sempurna bahan bakar fosil, misalnya gas buangan
kendaraan bermotor.


Universitas Sumatera Utara

11



Nitrogen dioksida (NO2)
Gas yang paling beracun. Dihasilkan dari pembakaran batu bara di pabrik,
pembangkit energi listrik dan knalpot kendaraan bermotor.



Sulfur dioksida (SO2)
Gas yang berbau tajam, tidak berwarna dan tidak bersifat korosi. Dihasilkan
dari pembakaran bahan bakar yang mengandung sulfur terutama batubara.
Batubara ini biasanya digunakan sebagai bahan bakar pabrik dan pembangkit
tenaga listrik.




Partikulat (asap atau jelaga)
Polutan udara yang paling jelas terlihat dan paling berbahaya. Dihasilkan dari
cerobong pabrik berupa asap hitam tebal. Macam-macam partikel, yaitu :
1.

Aerosol : partikel yang terhambur dan melayang di udara

2.

Fog (kabut) : aerosol yang berupa butiran-butiran air dan berada di

udara
3.

Smoke (asap) : aerosol yang berupa campuran antara butir padat dan

cair dan melayang berhamburan di udara
4.


Dust (debu) : aerosol yang berupa butiran padat dan melayang-layang

di udara


Hidrokarbon (HC)



Uap bensin yang tidak terbakar. Dihasilkan dari pembakaran bahan

bakar yang tidak sempurna.


Chlorofluorocarbon (CFC)

Universitas Sumatera Utara

12



Gas yang dapat menyebabkan menipisnya lapisan ozon yang ada di

atmosfer bumi. Dihasilkan dari berbagai alat rumah tangga seperti kulkas,
AC, alat pemadam kebakaran, pelarut, pestisida, alat penyemprot (aerosol)
pada parfum dan hair spray.


Timbal (Pb)



Logam

berat

yang

digunakan

manusia

untuk

meningkatkan

pembakaran pada kendaraan bermotor. Hasil pembakaran tersebut
menghasilkan timbal oksida yang berbentuk debu atau partikulat yang
dapat terhirup oleh manusia.


Karbon Dioksida (CO2)



Gas yang dihasilkan dari pembakaran sempurna bahan bakar

kendaraan bermotor dan pabrik serta gas hasil kebakaran hutan.

2.1.1. ISPU (Indeks Standar Pencemaran Udara)
ISPU ditetapkan berdasarkan 5 pencemar utama, yaitu : karbon monoksida
(CO), sulfur dioksida (SO2), nitrogen dioksida (NO2), ozon permukaan (O3), dan
partikel debu (PM10). Di Indonesia ISPU diatur berdasarkan Keputusan Badan
Pengendalian

Dampak

Lingkungan

(Bapedal)

Nomor

KEP-

107/KABAPEDAL/11/1997.

Universitas Sumatera Utara

13

Table 2.1 Angka dan Kategori Index Standar Pencemar Udara (ISPU) dan Dampak
Kesehatan Indeks Kategori Dampak Kesehatan
Tidak memberikan
1 – 50

Baik

dampak bagi kesehatan
manusia atau hewan.
Tidak berpengaruh pada
kesehatan manusia

51 – 100

Sedang

ataupun hewan tetapi
berpengaruh pada
tumbuhan yang peka.
Bersifat merugikan pada
manusia ataupun
kelompok hewan yang

101 – 199

Tidak Sehat

peka atau dapat
menimbulkan kerusakan
pada tumbuhan ataupun
nilai estetika.
Kualitas udara yang dapat

200 – 299

merugikan kesehatan
Sangat Tidak Sehat
pada jumlah segmen
populasi yang tepapar.

300 –

Lebih Berbahaya

Kualitas udara berbahaya

Universitas Sumatera Utara

14

yang secara umum dapat
merugikan kesehatan
yang serius pada populasi
(misalnya iritasi mata,
batuk dahak dll).

2.1.2. Protokol TCP/IP
TCP/IP terdiri atas empat lapis kumpulan protokol yang bertingkat.
Keempat lapisan tersebut adalah sebagai berikut.
1.

Network Interface Layer
Lapisan ini sering disebut juga link layer paling bawah yang bertanggung
jawab mengirim dan menerima data ke dan dari media fisik. Media fisiknya
dapat berupa kabel, serat optik, dll

2.

Internet Layer
Protokol yang berada pada lapisan ini bertanggung jawab dalam
pengiriman paket ke alamat yang tepat.

3.

Transport Layer
Lapisan ini berisi protokol yang bertanggung jawab untuk mengadakan
komunikasi antara dua host. Kedua protokol yang terdapat pada lapisan ini
adalah

Universitas Sumatera Utara

15

4.

Application Layer
Pada lapisan ini pengguna memakai semua aplikasi yang disediakan oleh
layanan TCP/IP. Program aplikasi akan memilih jenis protokol tranportasi
yang diperlukan.

2.2.

Sensor MQ-135
MQ-135 Air Quality Sensor adalah sensor yang memonitor kualitas udara

untuk mendeteksi gas amonia (NH3), natrium-(di)oksida (NOx), alkohol / ethanol
(C2H5OH), benzena (C6H6), karbondioksida (CO2), gas belerang / sulfurhidroksida (H2S) dan asap / gas-gas lainnya di udara. Sensor ini melaporkan hasil
deteksi kualitas udara berupa perubahan nilai resistensi analog di pin keluarannya.
Pin keluaran ini bisa disambungkan dengan pin ADC (analog-to-digital
converter) di mikrokontroler / pin analog input Arduino denganmenambahkan
satu buah resistor saja (berfungsi sebagai pembagi tegangan / voltage divider).

Gambar 2.1 Sensor Gas MQ-135

Universitas Sumatera Utara

16

Tabel 2.2 Spesifikasi Sensor MQ-135
1.

Sumber catu daya menggunakan tegangan 5 Volt.

2.

Menggunakan ADC dengan resolusi 10 bit.

3.

Tersedia 1 jalur output kendali ON/OFF.

4.

Pin Input/Output kompatibel dengan level tegangan TTL dan
CMOS.

5.

Dilengkapi dengan antarmuka UART TTL dan I2C.

6.

Signal instruksi indikator output;

7.

Output Ganda sinyal (output analog, dan output tingkat TTL);

8.

TTL output sinyal yang valid rendah; (output sinyal cahaya
rendah, yang dapat diakses mikrokontroler IO port)

9.

Analog Output dengan meningkatnya konsentrasi, semakin
tinggi konsentrasi,semakin tinggi tegangan;

10.

Memiliki umur panjang dan stabilitas handal;

11.

karakteristik pemulihan respon cepat.

Universitas Sumatera Utara

17

2.2.1 Konektor dan Pengaturan Jumper
Tabel 2.3 Konektor dan Pengaturan Jumper
Pin

Nama

Fungsi

1

GND

Titik referensi untuk catu daya input

2

VCC

Terhubung ke catu daya (5V)

3

RX TTL

Input serial level TTL ke modul sensor

4

TX

Output serial level TTL ke modul sensor

5

SDA

I2C-bus data input/output

6

SCL

I2C-bus clock input

2.2.2 Prinsip Kerja Sensor MQ-135
Pada modul sensor MQ-135 terdapat 2 buah LED indikator yaitu LED
indikator merah dan LED indikator hijau. Pada saat power-up, LED merah akan
berkedip sesuai dengan alamat I2C modul. Jika alamat I2C adalah 0xE0 maka
LED indikator akan berkedip 1 kali. Jika alamat I2C adalah 0xE2 maka LED
indikator akan berkedip 2 kali. Jika alamat I2C adalah 0xE4 maka LED indikator
akan berkedip 3 kali dan demikian seterusnya sampai alamat I2C 0xEE maka LED
indikator akan berkedip 8 kali.
Pada saat power-up, LED hijau akan berkedip dengan cepat sampai kondisi
pemanasan sensor dan hasil pembacaan sensor adalah stabil. Waktu yang

Universitas Sumatera Utara

18

diperlukan untuk mencapai kondisi stabil berbeda-beda untuk tiap sensor yang
digunakan tergantung pada kecepatan respon sensor dan kondisi heater pada
sensor. Jika kondisi sensor stabil sudah tercapai, maka LED hijau akan menyala
tanpa berkedip. Pada kondisi operasi normal (setelah kondisi power-up), LED
merah akan menyala atau padam sesuai dengan hasil pembacaan sensor stabil,
LED hijau akan tetap menyala dan hanya berkedip pelan (tiap 1 detik) jika ada
perubahan konsentrasi gas.
Modul sensor juga memiliki 1 pin output open collector yang status
logikanya akan berubah-ubah, sesuai dengan hasil pembacaan sensor gas dan batas
atas serta batas bawah yang telah ditentukan. Pin output ini dapat dihubungkan
dengan aktuator (exhaust atau alarm) sehingga modul ini dapat berfungsi sebagai
pemonitor konsentrasi gas secara mandiri. Modul ini akan membaca nilai yang
telah diatur dan kemudian mengubah status logika pin output kendali ON/OFF
sesuai dengan mode operasi yang digunakan.
Ada 2 mode operasi yang dapat tersedia, yaitu mode operasi Hysterisis:
1.

Jika nilai sensor hasil konversi ADC lebih kecil dari pada batas bawah, maka

pin output akan Off (Transistor Open Collector berada pada keadaan Cut-off dan
LED indikator merah tidak menyala).
2.

Jika nilai sensor hasil konversi ADC lebih besar dari pada batas atas, maka

pin output akan On (Transistor Open Collector berada pada keadaan Saturasi dan
LED indikator merah menyala).

Universitas Sumatera Utara

19

3.

Jika nilai sensor hasil konversi ADC sama dengan atau berada di antara batas

atas dan batas bawah, maka logika pin output tidak berubah (jika sebelumnya Off,
maka akan tetap Off atau jika sebelumnya On akan tetap On).
Pada mode operasi Window:
1.

Jika nilai sensor hasil konversi ADC lebih kecil dari pada batas bawah, maka

pin output akan On (Transistor Open Collector berada pada keadaan Saturasi dan
LED indikator merah menyala).
2.

Jika nilai sensor hasil konversi ADC lebih besar dari pada batas atas, maka

pin output akan On (Transistor Open Collector berada pada keadaan Saturasi dan
LED indikator merah menyala).
3.

Jika nilai sensor hasil konversi ADC sama dengan atau berada pada batas atas

dan batas bawah, maka logika pin output akan Off (Transistor Open Collector
berada pada keadaan Cut-off dan LED indikator merah tidak menyala).
Jika sumber nilai batas yang dipilih adalah menggunakan variabel resistor
pada modul sensor, maka mode operasi yang bisa berlaku hanya mode operasi
Hysterisis. Nilai variabel resistor akan digunakan sebagai nilai batas atas.
Sedangakn nilai batas bawah akan selalu bernilai 50 poin di bawah nilai batas atas.
Jika sumber nilai batas yang dipilih adalah menggunakan nilai yang tersimpan
pada EEPROM modul sensor, maka mode operasi yang batas bawah dan mode
operasi dapat diatur melalui antarmuka UART TTL atau I2C dengan
menggunakan bahasa pemograman.

Universitas Sumatera Utara

20

2.3.

Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source,

diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR
dan softwarenya memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat
populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan
elektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para
hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik
menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler
yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustakapustaka (libraries) Arduino. Arduino juga menyederhanakan proses bekerja
dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara
lain:


Murah – Papan (perangkat keras) Arduino biasanya dijual relatif murah
(antara 125ribu hingga 400ribuan rupiah saja) dibandingkan dengan platform
mikrokontroler pro lainnya. Jika ingin lebih murah lagi, tentu bisa dibuat
sendiri dan itu sangat mungkin sekali karena semua sumber daya untuk
membuat sendiri Arduino tersedia lengkap di website Arduino bahkan di
website-website komunitas Arduino lainnya. Tidak hanya cocok untuk
Windows, namun juga cocok bekerja di Linux.



Sederhana dan mudah pemrogramannya – Perlu diketahui bahwa lingkungan
pemrograman di Arduino mudah digunakan untuk pemula, dan cukup

Universitas Sumatera Utara

21

fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino
berbasis pada lingkungan pemrograman Processing, sehingga jika mahasiswa
atau murid-murid terbiasa menggunakan Processing tentu saja akan mudah
menggunakan Arduino.


Perangkat lunaknya Open Source – Perangkat lunak Arduino IDE
dipublikasikan sebagai Open Source, tersedia bagi para pemrogram
berpengalaman

untuk

pengembangan

lebih

lanjut.

Bahasanya

bisa

dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis pada
Bahasa C untuk AVR.


Perangkat kerasnya Open Source – Perangkat keras Arduino berbasis
mikrokontroler

ATMEGA8,

ATMEGA168,

ATMEGA328

dan

ATMEGA1280 (yang terbaru ATMEGA2560). Dengan demikian siapa saja
bisa membuatnya (dan kemudian bisa menjualnya) perangkat keras Arduino
ini, apalagi bootloader tersedia langsung dari perangkat lunak Arduino IDEnya. Bisa juga menggunakan breadoard untuk membuat perangkat Arduino
beserta periferal-periferal lain yang dibutuhkan.

2.3.1. Sejarah Arduino
Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih
dahulu apa yang dimaksud dengan physical computing. Physical computing adalah
membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan
hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari

Universitas Sumatera Utara

22

lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk
memahami hubungan yang manusiawi antara lingkungan yang sifat alaminya
adalah analog dengan dunia digital. Pada prakteknya konsep ini diaplikasikan
dalam desaindesain alat atau projek-projek yang menggunakan sensor dan
microcontroller untuk menerjemahkan input analog ke dalam sistem software
untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan
sebagainya.
Pembuatan prototype atau prototyping adalah kegiatan yang sangat penting
di dalam proses physical computing karena pada tahap inilah seorang perancang
melakukan eksperimen dan uji coba dari berbagai jenis komponen, ukuran,
parameter, program komputer dan sebagainya berulang-ulang kali sampai
diperoleh kombinasi yang paling tepat. Dalam hal ini perhitungan angka-angka
dan rumus yang akurat bukanlah satu-satunya faktor yang menjadi kunci sukses di
dalam mendesain sebuah alat karena ada banyak faktor eksternal yang turut
berperan, sehingga proses mencoba dan menemukan/mengoreksi kesalahan perlu
melibatkan hal-hal yang sifatnya non-eksakta. Prototyping adalah gabungan antara
akurasi perhitungan dan seni. Proses prototyping bisa menjadi sebuah kegiatan
yang menyenangkan atau menyebalkan, itu tergantung bagaimana kita
melakukannya. Misalnya jika untuk mengganti sebuah komponen, merubah
ukurannya atau merombak kerja sebuah prototype dibutuhkan usaha yang besar
dan waktu yang lama, mungkin prototyping akan sangat melelahkan karena
pekerjaan ini dapat dilakukan berulang-ulang sampai puluhan kali – bayangkan
betapa frustasinya perancang yang harus melakukan itu. Idealnya sebuah prototype

Universitas Sumatera Utara

23

adalah sebuah sistem yang fleksibel dimana perancang bisa dengan mudah dan
cepat melakukan perubahan-perubahan dan mencobanya lagi sehingga tenaga dan
waktu tidak menjadi kendala berarti. Dengan demikian harus ada sebuah alat
pengembangan yang membuat proses prototyping menjadi mudah.
Pada masa lalu (dan masih terjadi hingga hari ini) bekerja dengan
hardware berarti membuat rangkaian menggunakan berbagai komponen elektronik
seperti resistor, kapasitor, transistor dan sebagainya. Setiap komponen
disambungkan secara fisik dengan kabel atau jalur tembaga yang disebut dengan
istilah “hard wired” sehingga untuk merubah rangkaian maka sambungansambungan itu harus diputuskan dan disambung kembali. Dengan hadirnya
teknologi digital dan microprocessor fungsi yang sebelumnya dilakukan dengan
hired wired digantikan dengan program-program software. Ini adalah sebuah
revolusi di dalam proses prototyping. Software lebih mudah diubah dibandingkan
hardware, dengan beberapa penekanan tombol kita dapat merubah logika alat
secara radikal dan mencoba versi ke-dua, ke-tiga dan seterusnya dengan cepat
tanpa harus mengubah pengkabelan dari rangkaian.
Saat

ini

ada

beberapa

alat

pengembangan

prototype

berbasis

microcontroller yang cukup populer, misalnya:
 Arduino http://www.arduino.cc
 I-CubeX http://www.infusionsystems.com
 Arieh Robotics Project Junior http://www.arobotineveryhome.com
 Dwengo http://www.dwengo.org
 EmbeddedLab http://www.embedded.arch.ethz.ch

Universitas Sumatera Utara

24

 GP3 http://www.awce.com/gp3.htm
Di antara sekian banyak alat pengembangan prototype, Arduino adalah salah
satunya yang paling banyak digunakan. Arduino dikatakan sebagai sebuah
platform dari physical computing yang bersifat open source. Pertama-tama perlu
dipahami bahwa kata “platform” di sini adalah sebuah pilihan kata yang tepat.
Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah
kombinasi dari hardware, bahasa pemrograman dan Integrated Development
Environment (IDE) yang canggih. IDE adalah sebuah software yang sangat
berperan untuk menulis program, meng-compile menjadi kode biner dan mengupload ke dalam memory microcontroller.
Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan
profesional dengan menggunakan Arduino, selain itu juga ada banyak modulmodul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh
pihak lain untuk bisa disambungkan dengan Arduino. Arduino berevolusi menjadi
sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi. Salah
satu yang membuat Arduino memikat hati banyak orang adalah karena sifatnya
yang open source, baik untuk hardware maupun software-nya. Diagram rangkaian
elektronik Arduino digratiskan kepada semua orang.
Anda bisa bebas men-download gambarnya, membeli komponenkomponennya, membuat PCB-nya dan merangkainya sendiri tanpa harus
membayar kepada para pembuat Arduino. Sama halnya dengan IDE Arduino yang
bisa di-download dan diinstal pada komputer secara gratis. Kita patut berterima

Universitas Sumatera Utara

25

kasih kepada tim Arduino yang sangat dermawan membagi-bagikan kemewahan
hasil kerja keras mereka kepada semua orang. Saya pribadi betul-betul kagum
dengan desain hardware, bahasa pemrograman dan IDE Arduino yang berkualitas
tinggi dan sangat berkelas. Arduino dikembangkan oleh sebuah tim yang
beranggotakan orang-orang dari berbagai belahan dunia. Anggota inti dari tim ini
adalah:


Massimo Banzi Milano, Italy



David Cuartielles Malmoe, Sweden



Tom Igoe New York, US



Gianluca Martino Torino, Italy



David A. Mellis Boston, MA, USA

Profil mengenai anggota tim tersebut dan kontribusinya bisa diakses pada situs
web http://www.arduino.cc/playground/Main/People.

2.3.2. Arduino Mini
Arduino

Pro

Mini

adalah

board mikrokontroler

dengan

Atmega

328. Memiliki 14 digital pin input / output (dimana 6 dapat digunakan sebagai
output PWM), 6 input analog, resonator on-board, tombol reset, dan lubang untuk
pemasangan pin header. Header enam pin dapat dihubungkan ke kabel FTDI atau
Sparkfun board breakout untuk memberikan daya USB dan komunikasi untuk
board.

Universitas Sumatera Utara

26

Arduino Pro Mini dimaksudkan untuk instalasi semi permanen di suatu
objek. Dengan Pro Mini memungkinkan penggunaan berbagai jenis konektor atau
solder langsung kabel. Pin tata letak kompatibel dengan Arduino Mini. Ada dua
versi Pro Mini. Satu berjalan pada 3.3V dan 8 MHz, yang lainnya di 5V dan 16
MHz. Arduino Pro Mini dirancang dan diproduksi oleh SparkFun Electronics.

Gambar 2.2 Arduino Mini

Tabel 2.4 Spesifikasi Arduino Mini :
Microcontroller

ATmega328

Operating Voltage

3.3V or 5V (depending on model)

Input Voltage

3.35 -12 V (3.3V model) or 5 – 12 V (5V model)

Digital I/O Pins

14 (of which 6 provide PWM output)

Analog Input Pins

6

DC Current per
40 mA
I/O Pin
Flash Memory

32 kB (of which 0.5 kB used by bootloader)

Universitas Sumatera Utara

27

SRAM

2 kB

EEPROM

1 kB

Clock Speed

8 MHz (3.3V model) or 16 MHz (5V model)

Arduino Pro Mini dapat didukung dengan kabel FTDI atau board breakout
terhubung ke nya enam pin header, atau dengan tegangan 3.3V atau 5V
(tergantung pada model) pada pin Vcc. Ada tegangan regulator di papan
sehingga dapat menerima tegangan sampai 12VDC. Jika Anda memasuk listrik
diatur ke board, pastikan untuk terhubung ke “RAW” pin pada tidak VCC.
1. Memory
ATmega328 memiliki 32 kB flash memori untuk menyimpan kode (yang 0.5kB
digunakan untuk bootloader). Memiliki 2 kB SRAM dan 1kBs EEPROM (yang
dapat dibaca dan ditulis dengan library EEPROM).
2. Input dan Output
Masing-masing dari 14 pin digital pada Pro Mini dapat digunakan sebagai input
atau output, menggunakan pin Mode (), digitalWrite (), dan digital Read ()
fungsi. Mereka beroperasi di 3,3 atau 5 volt (tergantung pada model). Setiap pin
dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor
pull-up internal yang (terputus secara default) dari 20-50 kOhms. Selain itu,
beberapa pin memiliki fungsi khusus.
3. Arduino Pro Mini memiliki sejumlah fasilitas untuk berkomunikasi dengan
komputer, Arduino lain, atau mikrokontroler lainnya. The ATmega328

Universitas Sumatera Utara

28

menyediakan UART TTL komunikasi serial, yang tersedia pada pin digital 0
(RX) dan 1 (TX). Perangkat lunak Arduino termasuk monitor serial yang
memungkinkan data tekstual sederhana yang akan dikirim ke dan dari papan
Arduino melalui koneksi USB.
Sebuah perpustakaan Software Serial memungkinkan untuk komunikasi serial
pada salah digital pin Pro Mini.
The ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat
lunak Arduino termasuk perpustakaan kawat untuk menyederhanakan
penggunaan bus I2C; melihat referensi untuk rincian. Untuk menggunakan
komunikasi SPI, silakan lihat datasheet ATmega328.
4. Pemrograman
Arduino Pro Mini dapat diprogram dengan software Arduino. ATmega328 pada
Arduino Pro Mini sudah preburned dengan bootloader yang memungkinkan
Anda untuk meng-upload kode baru untuk itu tanpa menggunakan programmer
hardware eksternal. Ini berkomunikasi menggunakan protokol asli STK500.
5. Reset Otomatis (Software)
Ketimbang membutuhkan pers fisik tombol reset sebelum upload, Arduino Pro
Mini dirancang dengan cara yang memungkinkan untuk reset oleh perangkat
lunak yang berjalan pada komputer yang terhubung. Salah satu pin pada header
enam pin terhubung ke garis reset dari ATmega328 melalui 100 nF kapasitor.
Pin ini terhubung ke salah satu jalur kontrol hard wire dari USB-to-serial
konverter yang terhubung ke header. Software Arduino menggunakan
kemampuan ini untuk memungkinkan Anda untuk meng-upload kode dengan

Universitas Sumatera Utara

29

hanya menekan tombol upload di software Arduino. Ini berarti dapat
mempersingkat waktu.

2.3.3 Hardware Arduino
Papan Arduino merupakan papan mikrokontroler yang berukuran kecil atau
dapat diartikan juga dengan suatu rangkaian berukuran kecil yang didalamnya
terdapat komputer berbentuk suatu chip yang kecil. Pada Gambar 2.2. dapat dilihat
sebuah papan Arduino dengan beberapa bagian komponen didalamnya.

Gambar 2.3 Hardware Arduino
Pada hardware arduino terdiri dari 20 pin yang meliputi:
a.

14 pin IO Digital (pin 0–13)
Sejumlah pin digital dengan nomor 0–13 yang dapat dijadikan input atau
output yang diatur dengan cara membuat program IDE.

b.

6 pin Input Analog (pin 0–5)
Sejumlah pin analog bernomor 0–5 yang dapat digunakan untuk membaca
nilai input yang memiliki nilai analog dan mengubahnya ke dalam angka
antara 0 dan 1023.

Universitas Sumatera Utara

30

c.

6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11)
Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin
tersebut dapat diprogram kembali menjadi pin output analog dengan cara
membuat programnya pada IDE.
Papan Arduino Uno dapat mengambil daya dari USB port pada komputer

dengan menggunakan USB charger atau dapat pula mengambil daya dengan
menggunakan suatu AC adapter dengan tegangan 9 volt. Jika tidak terdapat power
supply yang melalui AC adapter, maka papan Arduino akan mengambil daya dari
USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan
dengan USB port maka papan Arduino akan mengambil daya melalui AC adapter
secara otomatis.

2.3.4 Software Arduino
Software arduino yang digunakan adalah driver dan IDE, walaupun masih
ada beberapa software lain yang sangat berguna selama pengembangan arduino.
IDE atau Integrated Development Environment suatu program khusus untuk suatu
komputer agar dapat membuat suatu rancangan atau sketsa program untuk papan
Arduino.IDE arduino merupakan software yang sangat canggih ditulis dengan
menggunakan java. IDE arduino terdiri dari:
1.

Editor Program
Sebuah window yang memungkinkan pengguna menulis dan mengedit
program dalam bahasa processing

2.

Compiler

Universitas Sumatera Utara

31

Sebuah modul yang mengubah kode program menjadi kode biner
bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa
processing.
3.

Uploader
Sebuah modul yang memuat kode biner dari komputer ke dalam memory di
dalam papan arduino
Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur,

variabel dan fungsi (Artanto, 2012:27):
Struktur Program Arduino:
a.

Kerangka Program
Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok.
Blok pertama adalah void setup() dan blok kedua adalah void loop.Blok
Void setup ()
Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino
dihidupkan atau di-reset.Merupakan bagian persiapan atau instalasi
program.
Blok void loop()
Berisi kode program yang akan dijalankan terus menerus. Merupakan
tempat untuk program utama.

b.

Sintaks Program
Baik blok void setup loop () maupun blok function harus diberi tanda
kurung kurawal buka “{“ sebagai tanda awal program di blok itu dan
kurung kurawal tutup “}” sebagai tanda akhir program.

Universitas Sumatera Utara

32

Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas dengan menggunakan
sebuah varibel.Fungsi pada bagian ini meliputi fungsi input output digital,
input output analog, advanced I/O, fungsi waktu, fungsi matematika serta
fungsi komunikasi.
Pada proses Uploader dimana pada proses ini mengubah bahasa
pemrograman yang nantinya dicompile oleh avr-gcc (avr-gcc compiler)
yang hasilnya akan disimpan kedalam papan arduino.
Avr-gcc compiler merupakan suatu bagian penting untuk software bersifat
open source. Dengan adanya avr-gcc compiler, maka akan membuat bahasa
pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini
sangat penting, karena dengan adanya proses ini maka akan membuat
proses pemrogaman mikrokontroler menjadi sangat mudah.
Berikut ini merupakan gambaran siklus yang terjadi dalam melakukan
pemrogaman Arduino:
1.

Koneksikan papan Arduino dengan komputer melalui USB port.

2.

Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam
papan Arduino.

3.

Upload sketsa program ke dalam papan Arduino melalui kabel USB dan
kemudian tunggu beberapa saat untuk melakukan restart pada papan
Arduino.

Universitas Sumatera Utara

33

4.

Papan Arduino akan mengeksekusi rancangan sketsa program yang telah
dibuat dan di-upload ke papan Arduino.

2.3.5 Melakukan Penginstalan Arduino Ke Komputer
Untuk melakukan pemrogaman pada papan Arduino, disarankan untuk
men-download IDE Arduino terlebih dahulu yang dapat diperoleh dari situs:
www.arduino.cc/en/Main/Software. Dan kemudian pilih versi yang tepat untuk
sistem operasi komputer yang digunakan. Setelah melakukan download,
lakukanlah proses uncompress dengan cara melakukan double-click pada file
tersebut. Proses ini secara otomatis akan membuat suatu folder yang bernama
arduino-[version], contohnya seperti arduino-0012.
Setelah melakukan penginstalan IDE Arduino pada komputer, tahap
selanjutnya adalah harus melakukan penginstalan untuk driver.Fungsi utama
penginstalan driver ini adalah agar komputer dapat melakukan komunikasi dengan
papan Arduino melalui USB port.

2.3.6 Melakukan Penginstalan Driver Untuk Windows
Koneksikan papan Arduino dengan komputer dan ketika Found New
Hardware Wizard pada layar muncul, Windows secara otomatis akan mencoba
menemukan terlebih dahulu driver tersebut pada halaman Windows Update.
Windows XP akan meminta untuk memeriksa Windows Update, dan jika tidak
ingin menggunakan Windows Update pilih menu “No,not at this time” dan tekan
tombol Next. Dan pada layar selanjutnya, pilih menu “Install from a list or specific

Universitas Sumatera Utara

34

location” dan tekan tombol Next. Periksa layar berjudul “Include this location in
the search” dan tekan tombol Browse. Kemudian pilih folder dimana Arduino
sudah terinstal dan pilih folder Drivers\FTDIUSB Drivers untuk menetukan
lokasinya dan tekan tombol OK dan Next pada layar tesebut.
Windows Vista akan berusaha menemukan driver tersebut pada Windows
Update, dan jika terjadi kegagalan dalam melakukan pencarian driver, maka
lakukan pencarian secara manual pada folder Drivers\FTDIUSB Drivers. Proses
pencarian driver secara manual memiliki dua prosedur yang harus dilewati, yang
pertama komputer harus menginstal driver low-level terlebih dahulu dan yang
kedua adalah menginstal bagian kode yang membuat papan Arduino terlihat
seperti suatu serial port untuk komputer. Apabila driver telah terinstal, maka
Arduino IDE dapat diaktifkan dan papan Arduino dapat digunakan pada
komputer.Untuk tahap selanjutnya adalah harus selalu mengingat serial port
komputer yang telah ditandai untuk papan Arduino.

2.4

LCD (Liquid Crystal Display)
LCD (Liquid Crystal Display) merupakan komponen display yang dapat

menampilkan karakter hurup, angka, symbol yang di kemas dalam 16 karakter
display sebanyak 2 baris. Dalam penggunaannya LCD dapat di program dengan 4
bit dan 8 bit data, tergantung kebutuhan saja.

Universitas Sumatera Utara

35

2.4.1 TOPWAY LM162A
LCD TOPWAY LM162A merupakan modul LCD dengan tampilan 16x2
dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan desain
mikrokontroler yang didesain khusus untuk mengendalikan LCD.

Gambar 2.4 LCD TOPWAY LM162A

Dari gambar diatas dapat dijelaskan fungsi dari setiap kaki pada LCD, sebagai
berikut :
1.

Kaki 1 (GND)
Kaki ini dihubungkan dengan tegangan 0 Volt (ground)

2.

Kaki 2 (VCC)
Kaki ini dihubungkan dengan tegangan +5 Volt yang merupakan tegangan
untuk sumber daya dari mikrokontroler.

3.

Kaki 3 (VEE)
Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras
mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 Volt.

Universitas Sumatera Utara

36

4.

Kaki 4 (RS)
Register select, kaki pemilih register yang akan diakses. Untuk akses ke
register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah,
logika dari kaki ini adalah 0.

5.

Kaki 5 (R/W)
Logika 1 pada kaki ini menunjukan bahwa modul LCD sedang pada mode
pembacaan dan logika 0 menunjukan bahwa modul LCD sedang pada mode
penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul
LCD, Kaki ini dapat dihubungkan langsung ke ground.

6.

Kaki 6 (E)
Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini
diberikan pada saat penulisan atau pembacaan data.

7.

Kaki 7-14 (D0-D7)
Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data
sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan
data.

8.

Kaki 15 (Anoda)
Kaki ini berfungsi untuk tegangan positif dari backlight modul LCD sekitar
4,5 Volt

9.

Kaki 16 (Katoda)
Tegangan negatif backlight modul LCD sebesar 0 Volt.[14]

Universitas Sumatera Utara

37

2.4.2 Cara Kerja LCD (Liquid Crystal Display)
Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari
4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai DB7.
Sebagaimana terlihat pada tabel diskripsi, interface LCD merupakan sebuah
paralel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam
pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan
sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8-bit pada satu waktu.
Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk
membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan
pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu
LCD bahwa mikrokontroler mengirimkan data ke LCD. Untuk mengrim data ke
LCD program harus menset EN ke kondisi high “I” dan kemudian menset dua
jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.
Satu jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa
saat (tergantung pada datasheet LCD), dan set EN kembali ke high “I”. Ketika
jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap
sebagai sebuah perintah atau intruksi khusus (seperti bersihkan layar, posisi
kursor, dll). Ketika RS dalam kondisi high atau “I”, data yang dikirimkan adalah
data ASCII yang akan ditampilkan dilayar. Misal untuk menampilkan huruf “A”
pada layar maka RS harus diset ke “I”. Jalur kontrol R/W harus berada dalam
kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W
berada dalam kondisi high atau “I”, maka program akan melakukan query
(pembacaan) dari data LCD.

Universitas Sumatera Utara

38

Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status
LCD), lainnya merupakan intruksi penulisan. Jadi hampir setiap aplikasi yang
menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur
(tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5,
DB6, dan DB7. Mengirim data secara paralel baik data 4-bit atau 8-bit merupakan
2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD,
menentukan mode operasi merupakan hal yang sangat penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan
dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk
kontrol, 8 pin untuk data). Sedangkan mode 4-bit minimal hanya membutuhkan 7bit (3 pin untuk kontrol , 4 pin untuk data). Bit RS digunakan untuk memilih
apakah data atau intruksi yang ditransfer antara mikrokontroler dan LCD. Jika bit
ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau
ditulis. Jika bit ini di reset (RS = 0), merupakan intruksi yang dikirim ke LCD atau
status eksekusi dari intruksi terakhir yang dibaca.

Universitas Sumatera Utara