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
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