Bab II Fix Print

40
BAB II DASAR TEORI 2.1 Arduino Arduino adalah platform pembuatan prototipe elektronik yang bersifat open-source hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan mudah digunakan. Platform arduino terdiri dari arduino board, shield, bahasa pemrograman arduino, dan arduino development environment. Arduino board biasanya memiliki sebuah chip dasar mikrokontroler AVR ATmega328 berikut turunannya. Shield adalah sebuah papan yang dapat dipasang diatas arduino board untuk menambah kemampuan dari arduino board. Bahasa pemrograman arduino adalah bahasa pemrograman yang umum digunakan untuk membuat perangkat lunak yang ditanamkan pada arduino board. Bahasa pemrograman arduino mirip dengan bahasa pemrograman C++. Arduino yang kami gunakan dalam pembuatan rangkaian ini adalah arduino uno. Dimana Arduino Uno adalah arduino board yang menggunakan mikrokontroler ATmega328. Arduino Uno memiliki 14 pin digital (6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal, 5

description

tentang rumah pintar

Transcript of Bab II Fix Print

Page 1: Bab II Fix Print

BAB II

DASAR TEORI

2.1 Arduino

Arduino adalah platform pembuatan prototipe elektronik yang bersifat

open-source hardware yang berdasarkan pada perangkat keras dan perangkat

lunak yang fleksibel dan mudah digunakan. Platform arduino terdiri dari

arduino board, shield, bahasa pemrograman arduino, dan arduino development

environment. Arduino board biasanya memiliki sebuah chip dasar

mikrokontroler AVR ATmega328 berikut turunannya. Shield adalah sebuah

papan yang dapat dipasang diatas arduino board untuk menambah kemampuan

dari arduino board.

Bahasa pemrograman arduino adalah bahasa pemrograman yang

umum digunakan untuk membuat perangkat lunak yang ditanamkan pada

arduino board. Bahasa pemrograman arduino mirip dengan bahasa

pemrograman C++.

Arduino yang kami gunakan dalam pembuatan rangkaian ini adalah

arduino uno. Dimana Arduino Uno adalah arduino board yang menggunakan

mikrokontroler ATmega328. Arduino Uno memiliki 14 pin digital (6 pin

dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator

kristal, sebuah koneksi USB, sebuah konektor sumber tegangan, sebuah

header ICSP, dan sebuah tombol reset. Arduino Uno memuat segala hal yang

dibutuhkan untuk mendukung sebuah mikrokontroler. Hanya dengan

menghubungkannya ke sebuah komputer melalui USB atau memberikan

tegangan DC dari baterai atau adaptor AC ke DC sudah dapat membuatnya

bekerja. Arduino Uno menggunakan ATmega16U2 yang diprogram sebagai

USB-to-serial converter untuk komunikasi serial ke komputer melalui port

USB.

5

Page 2: Bab II Fix Print

6

Adapun data teknis board Arduino UNO R3 adalah sebagai berikut:

a. Mikrokontroler : ATmega328

b. Tegangan Operasi : 5V

c. Tegangan Input (recommended) : 7 - 12 V

d. Tegangan Input (limit) : 6 - 20 V

e. Pin digital I/O : 14 (6 diantaranya pin PWM)

f. Pin Analog input : 6

g. Arus DC per pin I/O : 40 mA

h. Arus DC untuk pin 3.3 V : 150 mA

i. Flash Memory : 32 KB dengan 0.5 KB digunakan untuk bootloader

j. SRAM : 2 KB

k. EEPROM : 1 KB

Bentuk fisik papan Arduino Uno dapat dilihat pada gambar 2.1 dibawah ini :

Gambar 2.1 Gambar Fisik Arduino Uno

2.1.1 Pin Masukan dan Keluaran Arduino Uno

Masing-masing dari 14 pin digital arduino uno dapat digunakan

sebagai masukan atau keluaran menggunakan fungsi pinMode, digitalWrite

dan digitalRead. Setiap pin beroperasi pada tegangan 5 volt. Setiap pin

Page 3: Bab II Fix Print

7

mampu menerima atau menghasilkan arus maksimum sebasar 40 mA dan

memiliki 10 resistor pull-up internal (diputus secara default) sebesar 20-30

KOhm. Sebagai tambahan, beberapa pin masukan digital memiliki kegunaan

khusus yaitu:

a. Komunikasi serial: pin 0 (RX) dan pin 1 (TX), digunakan untuk

menerima(RX) dan mengirim(TX) data secara serial.

b. External Interrupt: pin 2 dan pin 3, pin ini dapat dikonfigurasi untuk

memicu sebuah interrupt pada nilai rendah, sisi naik atau turun, atau pada

saat terjadi perubahan nilai.

c. Pulse-width modulation (PWM): pin 3,5,6,9,10 dan 11, menyediakan

keluaran PWM 8-bit dangan menggunakan fungsi analogWrite().

d. Serial Peripheral Interface (SPI): pin 10 (SS), 11 (MOSI), 12 (MISO)

dan 13 (SCK), pin ini mendukung komunikasi SPI dengan menggunakan

SPI library.

e. LED: pin 13, terdapat built-in LED yang terhubung ke pin digital 13.

Ketika pin bernilai HIGH maka LED menyala, sebaliknya ketika pin

bernilai LOW maka LED akan padam.

Arduino Uno memiliki 6 masukan analog yang diberi label A0

sampai A5, setiap pin menyediakan resolusi sebanyak 10 bit (1024 nilai

yang berbeda). Secara default pin mengukur nilai tegangan dari ground (0V)

hingga 5V, walaupun begitu dimungkinkan untuk mengganti nilai batas atas

dengan menggunakan pin AREF dan fungsi analogReference(). Sebagai

tambahan beberapa pin masukan analog memiliki fungsi khusus yaitu pin

A4 (SDA) dan pin A5 (SCL) yang digunakan untuk komunikasi Two Wire

Interface (TWI) atau Inter Integrated Circuit (I2C) dengan menggunakan

Wire library.

Page 4: Bab II Fix Print

8

Bentuk fisik Pin Mapping Arduino Uno dapat dilihat pada gambar

2.2 dibawah ini :

Gambar 2.2 Bentuk Fisik Pin Mapping Arduino Uno

2.1.2 Sumber Daya dan Pin Tegangan Arduino Uno

Arduino uno dapat diberi daya melalui koneksi USB (Universal

Serial Bus) atau melalui power supply eksternal. Jika arduino uno

dihubungkan ke kedua sumber daya tersebut secara bersamaan maka arduino

uno akan memilih salah satu sumber daya secara otomatis untuk digunakan.

Power supply external (yang bukan melalui USB) dapat berasal dari adaptor

AC ke DC atau baterai. Adaptor dapat dihubungkan ke soket power pada

arduino uno. Jika menggunakan baterai, ujung kabel yang dibubungkan ke

baterai dimasukkan kedalam pin GND dan Vin yang berada pada konektor

POWER.Arduino uno dapat beroperasi pada tegangan 6 sampai 20 volt. Jika

arduino uno diberi tegangan di bawah 7 volt, maka pin 5V akan

menyediakan tegangan di bawah 5 volt dan arduino uno mungkin bekerja

Page 5: Bab II Fix Print

9

tidak stabil. Jika diberikan tegangan melebihi 12 volt, penstabil tegangan

kemungkinan akan menjadi terlalu panas dan merusak arduino uno.

Tegangan rekomendasi yang diberikan ke arduino uno berkisar antara 7

sampai 12 volt.

Pin-pin tegangan pada arduino uno adalah sebagai berikut:

a. Vin

adalah pin untuk mengalirkan sumber tegangan ke arduino uno ketika

menggunakan sumber daya eksternal (selain dari koneksi USB atau

sumber daya yang teregulasi lainnya). Sumber tegangan juga dapat

disediakan melalui pin ini jika sumber daya yang digunakan untuk

arduino uno dialirkan melalui soket power.

b. 5V

adalah pin yang menyediakan tegangan teregulasi sebesar 5 volt berasal

dari regulator tegangan pada arduino uno. 12

c. 3V3

adalah pin yang meyediakan tegangan teregulasi sebesar 3,3 volt berasal

dari regulator tegangan pada arduino uno.

d. GND

adalah pin ground.

2.1.3 Peta Memori Arduino Uno

a. Peta Memori Arduino Uno

Arduino Uno adalah arduino board yang menggunakan

mikrokontroler ATmega328. Maka peta memori arduino uno sama

dengan peta memori pada mikrokontroler ATmega328.

b. Memori Program

ATMega328 memiliki 32 Kbyte On-chip In-System

Reprogrammable Flash Memory untuk menyimpan program. Memori

flash dibagi kedalam dua bagian, yaitu bagian program bootloader dan

aplikasi. Bootloader adalah program kecil yang bekerja pada saat sistem

dimulai yang dapat memasukkan seluruh program aplikasi ke dalam

Page 6: Bab II Fix Print

10

memori prosesor. Bentuk Peta Memori Program ATMega 328

ditunjukkan pada gambar 2.3 dibawah ini :

Gambar 2.3 Peta Memori Program ATMega 328

c. Memori Data

Memori data ATMega328 terbagi menjadi 4 bagian, yaitu 32

lokasi untuk register umum, 64 lokasi untuk register I/O, 160 lokasi

untuk register I/O tambahan dan sisanya 2048 lokasi untuk data

SRAM internal. Register umum menempati alamat data terbawah,

yaitu 0x0000 sampai 0x001F. Register I/O menempati 64 alamat

berikutnya mulai dari 0x0020 hingga 0x005F. Register I/O tambahan

menempati 160 alamat berikutnya mulai dari 0x0060 hingga

0x00FF. Sisa alamat berikutnya mulai dari 0x0100 hingga 0x08FF

digunakan untuk SRAM internal. Bentuk Peta Memori Data ATMega

328 ditunjukkan pada gambar 2.4 dibawah ini :

Page 7: Bab II Fix Print

11

Gambar 2.4 Peta Memori Data ATMega 328

d. Memori Data EEPROM

Arduino uno terdiri dari 1 KByte memori data EEPROM. Pada

memori EEPROM, data dapat ditulis/dibaca kembali dan ketika catu

daya dimatikan, data terakhir yang ditulis pada memori EEPROM

masih tersimpan pada memori ini, atau dengan kata lain memori

EEPROM bersifat nonvolatile. Alamat EEPROM dimulai dari 0x000

hingga 0x3FF.

Page 8: Bab II Fix Print

12

2.14 Program Arduino IDE

Arduino Uno dapat diprogram dengan perangkat lunak Arduino. Pilih

Arduino Uno lalu sesuaikan dengan mikrokontroler yang

digunakan.mikorokontroller ATmega328 pada Arduino Uno memiliki bootloader

yang memungkinkan Anda untuk mengupload program baru tanpa menggunakan

programmer hardware eksternal. Program ini berkomunikasi menggunakan

protokol dari bahasa C. Open source Arduino memudahkan untuk menulis kode

dan mengupload ke board Arduino. Pada gambar 2.5 dapat dilihat tampilan

program arduino :

Gambar 2.5 Tampilan Program Arduino

Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah

sedikit penjelasan singkat mengenai karakter bahasa C.

Page 9: Bab II Fix Print

13

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah

fungsi yang harus ada.

• void setup( ) { }

- Semua kode didalam kurung kurawal akan dijalankan hanya

satu kali ketika program Arduino dijalankan untuk pertama

kalinya.

• void loop( ) { }

- Fungsi ini akan dijalankan setelah setup (fungsi void setup)

selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan

lagi, dan lagi secara terus menerus sampai catu daya (power)

dilepaskan.

a. Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format

penulisan.

• // (komentar satu baris)

- Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti

dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis

miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan

oleh program.

• /* */ (komentar banyak baris)

- Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada

beberapa baris sebagai komentar. Semua hal yang terletak di antara

dua simbol tersebut akan diabaikan oleh program.

• { } (kurung kurawal)

- Digunakan untuk mendefinisikan kapan blok program mulai dan

berakhir (digunakan juga pada fungsi dan pengulangan).

• ; (titk koma)

- Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik

koma yang hilang maka program tidak akan bisa dijalankan).

Page 10: Bab II Fix Print

14

b. Variabel

Sebuah program secara garis besar dapat didefinisikan sebagai

instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel

inilah yang digunakan untuk memindahkannya.

• int (integer)

- Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak

mempunyai angka desimal dan menyimpan nilai dari -32,768 dan

32,767.

• long (long)

- Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32

bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648

dan 2,147,483,647.

• boolean (boolean)

- Variabel sederhana yang digunakan untuk menyimpan nilai TRUE

(benar) atau FALSE (salah). Sangat berguna karena hanya

menggunakan 1 bit dari RAM.

• float (float)

- Digunakan untuk angka desimal (floating point). Memakai 4 byte (32

bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan

3.4028235E+38.

• char (character)

- Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65).

Hanya memakai 1 byte (8 bit) dari RAM.

c. Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti

matematika yang sederhana).

Page 11: Bab II Fix Print

15

• =

- Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x =

10 * 2, x sekarang sama dengan 20).

• %

- Menghasilkan sisa dari hasil pembagian suatu angka dengan angka

yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).

• +

- Penjumlahan

• -

- Pengurangan

• *

- Perkalian

• /

- Pembagian

d. Operator Pembanding

Digunakan untuk membandingkan nilai logika.

• ==

- Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 ==

12 adalah TRUE (benar))

• !=

- Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 !

= 12 adalah FALSE (salah))

• <

- Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12

adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))

Page 12: Bab II Fix Print

16

• >

- Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12

adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))

e. Pengaturan Struktur

Program sangat tergantung pada pengaturan apa yang akan dijalankan

berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang

lain dan bisa dicari di internet).

1. if..else

dengan format seperti berikut ini:

if (kondisi) { }

else if (kondisi) { }

else { }

Dengan struktur seperti diatas program akan menjalankan kode yang

ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak

(FALSE) maka akan diperiksa apakah kondisi pada else if dan jika

kondisinya FALSE maka kode pada else yang akan dijalankan.

2. for

dengan format seperti berikut ini:

for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila anda ingin melakukan pengulangan kode di dalam

kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah

pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++

atau ke bawah dengan i–.

3. Digital

3.a pinMode(pin, mode)

Page 13: Bab II Fix Print

17

Digunakan untuk menetapkan mode dari suatu pin, pin adalah

nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19).

Mode yang bisa digunakan adalah INPUT atau OUTPUT.

3.b digitalWrite(pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat

dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi

ground).

3.c digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat

menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah

HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

4. Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk

beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk

menghadapi hal yang bukan digital.

4.a analogWrite(pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width

modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup

(on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat

berfungsi layaknya keluaran analog. Value (nilai) pada format kode

tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100%

duty cycle ~ 5V).

4.b analogRead(pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca

keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts)

dan 1024 (untuk 5 volts).

Page 14: Bab II Fix Print

18

2.1 Sensor Gerak Passive Infrared Receiver (PIR)

PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan

infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri

dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR

LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi

dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang

terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah

tubuh manusia. Gambar Fisik dari sensor PIR dapat dilihat pada gambar 2.6

berikut :

Gambar 2.6 Sensor PIR

Di dalam sensor PIR ini terdapat bagian-bagian yang mempunyai

perannya masing-masing, yaitu Fresnel Lens, IR Filter, Pyroelectric sensor,

amplifier, dan comparator. Sensor PIR ini bekerja dengan menangkap energi

panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki

setiap benda dengan suhu benda diatas nol mutlak. Seperti tubuh manusia

yang memiliki suhu tubuh kira-kira 32 derajat celcius, yang merupakan suhu

panas yang khas yang terdapat pada lingkungan. Pancaran sinar inframerah

inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti

dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari

galium nitrida, calsium nitrat dan litium tantalate menghasilkan arus listrik.

Ketika seseorang berjalan melewati sensor, sensor akan

menangkap pancaran sinar inframerah pasif yang

Page 15: Bab II Fix Print

19

dipancarkan oleh tubuh manusia yang memiliki suhu yang

berbeda dari lingkungan sehingga menyebabkan material

pyroelectric bereaksi menghasilkan arus listrik karena adanya

energi panas yang dibawa oleh sinar inframerah pasif

tersebut. Kemudian sebuah sirkuit amplifier yang ada

menguatkan arus tersebut yang kemudian dibandingkan oleh

comparator sehingga menghasilkan output.

Jadi sensor PIR tidak akan menghasilkan output apabila

sensor ini dihadapkan dengan benda panas yang tidak

memiliki panjang gelombang inframerah antara 8 sampai 14

mikrometer dan benda yang diam seperti sinar lampu yang

sangat terang yang mampu menghasilkan panas, pantulan

objek benda dari cermin dan suhu panas ketika musim panas.

2.3 Sensor Cahaya Light Dependent Resistor (LDR)

Sensor cahaya adalah alat yang digunakan untuk mengubah besaran

cahaya menjadi besaran listrik. Prinsip kerja dari alat ini adalah mengubah

energi dari foton menjadi elektron. Idealnya satu foton dapat membangkitkan

satu elektron. Sensor cahaya sangat luas penggunaannya, salah satu yang

paling populer adalah kamera digital. Pada saat ini sudah ada alat yang

digunakan untuk mengukur cahaya yang mempunyai 1 buah foton saja.

Bentuk Fisik dari sensor cahaya dapat dilihat pada gambar 2.7 berikut :

Gambar 2.7 Bentuk Fisik LDR (Light Dependent Resistor)

Page 16: Bab II Fix Print

20

Komponen sensor cahaya yang biasa dipakai ada beberapa jenis

LDR (Light dependent resistor), foto transistor dan fotodiode. Komponen

komponen sensor ini sering dipakai pada rangkaiaan elektronika.

LDR yang disebut juga photoresistor pada prinsipnya yaitu sebuah

resistor yang nilai resis-tansinya bergantung pada seberapa banyak cahaya

yang jatuh pada permukaan sensornya. LDR yang disebut juga photoresistor

pada prinsipnya yaitu sebuah resistor yang nilai resistansinya bergantung pada

seberapa banyak cahaya yang jatuh pada permukaan sensornya. LDR ini

berfungsi untuk mengubah itensitas cahaya menjadi hambatan listrik. Semakin

banyak cahaya yang mengenai permukaan LDR hambatan listrik semakin

besar.

Prinsip kerja LDR itu sendiri adalah nilai resistansinya akan bertambah

besar apabila tidak terkena cahaya (malam hari) dan akan berkurang

resistansinya apabila terkena cahaya (siang hari), LDR ini umumnya

digabungkan dengan beberapa transistor untuk membentuk rangkaian lampu

otomatis atau rangkaian lainnya. Kelebihannya tidak ada kode spesial untuk

membaca nilai resistasi pada LDR ini.

Contohnya satu buah sensor yang nantinya akan diletakkan di luar

ruangan untuk mendeteksi intensitas cahaya. Apabila intensitas cahaya dalam

keadaan gelap maka arduino akan menghidupkan lampu secara otomatis,

begitu sebaliknya jika intensitas cahaya dalam keadaan terang maka arduino

akan memadamkan lampu.

Dengan sifat sensor LDR yang sensitive terhadap cahaya maka sensor

ini sangat cocok di gunakan. Adapun sifat LDR yaitu nilai resistansinya akan

berubah semakin kecil ketika cahaya yang di terima semakin terang hal ini

akan membentuk sebuah rangkaian pembagi tegangan dengan di

tambahkannya sebuah resistor 10K yang terhubung ke +5 Volt. Jika terjadi

perubahan cahaya di permukaan sensor maka tahanan pada LDR berubah dan

tegangan pada output rangkaian akan berubah sesuai dengan hasil

perbandingan pembagi tegangan. Output rangkaian merupakan data analog,

Page 17: Bab II Fix Print

21

maka dari itu keluaran rangkaian ini harus di hubungkan ke pin analog 2 pada

arduino.

2.4 Sensor Suhu LM35

Sensor suhu LM35 merupakan komponen elektronika yang berfungsi

untuk mengubah besaran fisika yang berupa suhu menjadi besaran

elektris tegangan. Gambar Fisik dari sensor temperatur dapat dilihat pada

gambar 2.8 berikut :

Gambar 2.8 Bentuk Fisik Sensor Temperature LM35

Sensor suhu LM35 memiliki parameter bahwa setiap kenaikan 1ºC

tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran

sensor adalah 1,5 V pada suhu 150°C. Misalnya pada perancangan

menggunakan sensor suhu LM35 kita tentukan keluaran adc mencapai full

scale pada saat suhu 100°C, sehingga saat suhu 100°C tegangan

keluaran transduser (10mV/°C x 100°C) = 1V.

V in / °C x 100 °C = V output

Sensor suhu LM35 telah dikalibrasi secara internal dalam Celcius

dengan sensitivitas 10mV/oC dan sensor ini dapat beroperasi pada suhu -55 oC

hingga +150oC dan pada tegangan 4V hingga 30V . Sensor ini hanya

membutuhkan 60 micro Ampere untuk beroperasi sehingga memiliki

Page 18: Bab II Fix Print

22

peningkatan panas yang sangat rendah yaitu kurang dari 0.1oC pada

keadaan udara tidak bergerak.

Berikut ini adalah karakteristik dari sensor suhu LM35:

a. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan

dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam

celcius;

b. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC;

c. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai

+150ºC;

d. Bekerja pada tegangan 4 sampai 30 volt;

e. Memiliki arus rendah yaitu kurang dari 60 µA;

f. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu

kurang dari 0,1 ºC pada udara normal;

g. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1

mA;

h. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

2.5 Sensor Gas

Sensor gas adalah sensor yang befungsi untuk mengukur senyawa gas

polutan yang ada di udara,seperti karbon monoksida, hidrokarbon, nitrooksida,

dan lain-lain. Sudah semakin banyak dipasaran telah beredar pengindra gas

semikonduktor. Tentunya dibedakan oleh sensitivitas sensor tersebut, semakin

mahal maka sensitivitas semakin bagus. Pengindra gas tersebut bekerja

dengan semakin tinggi konsentrasi gas maka resistansinya semakin rendah.

Bentuk Fisik dari sensor cahaya dapat dilihat pada gambar 2.9 berikut :

Page 19: Bab II Fix Print

23

Gambar 2.9 Bentuk Fisik Sensor Gas MQ-7

2.6 Limit Switch

Limit switch merupakan jenis saklar yang dilengkapi dengan katup

yang berfungsi menggantikan tombol. Prinsip kerja limit switch sama seperti

saklar Push ON yaitu hanya akan menghubung pada saat katupnya ditekan

pada batas penekanan tertentu yang telah ditentukan dan akan memutus saat

katup tidak ditekan. Limit switch termasuk dalam kategori sensor mekanis

yaitu sensor yang akan memberikan perubahan elektrik saat terjadi perubahan

mekanik pada sensor tersebut. Penerapan dari limit switch adalah sebagai

sensor posisi suatu benda (objek) yang bergerak. Bentuk Fisik dari Limit

Switch dapat dilihat pada gambar 2.10 berikut :

Gambar 2.10 Bentuk Fisik Limit Switch

Prinsip kerja limit switch diaktifkan dengan penekanan pada

tombolnya pada batas/daerah yang telah ditentukan sebelumnya sehingga

Page 20: Bab II Fix Print

24

terjadi pemutusan atau penghubungan rangkaian dari rangkaian tersebut. Limit

switch memiliki 2 kontak yaitu NO (Normally Open) dan kontak NC

(Normally Close) dimana salah satu kontak akan aktif jika tombolnya

tertekan.

2.7 Ethernet Shield

Arduino Ethernet Shields merupakan papan arduino yang berfungsi

untuk menghubungkan papan arduino dengan internet. Menghubungkan

arduino ke internet hanya dibutuhkan kabel RJ45. Dengan sedikit petunjuk

sederhana arduino Ethernet shields, sudah dapat dihubungkan dengan

internet. Setiap elemen pada arduino ethernet shields bersifat open source.

Dengan open source arduino eternet shields dapat dipelajari dengan baik,

dengan memanfaatkan desain dari board arduino ethernet shields. Arduino

Ethernet Shields menggunakan chip Wiznet5100 yang menyediakan sebuah

jaringan dengan kemampuan TCP dan UDP. Hal ini memungkinkan untuk

empat soket terhubung secara simultan. Dengan menggunakan Ethernet

Library untuk menulis sketsa yang menghubungkan ke internet dengan

menggunakan Shields.

Arduino Ethernet Shields menghubungkan Arduino dengan

menggunakan long wire-wrap headers yang diperpanjang melalui shields. Hal

ini membuat kaki kaki pada arduino ethernet shields dan arduino tetap utuh

dengan cara menumpukkan arduino ethernet shields diatas papan arduino..

Arduino Ethernet Shields menguhungkan arduino ke internet hanya dalam

hitungan menit. Arduino ethernet shields memiliki sambungan RJ45 standar,

dengan trafo garis terpadu dan power over ethernet diaktifkan. Pada arduino

ethernet shields terdapat slot micro SD yang dapat digunakan untuk

menyimpan file dan dilayani melalui jaringan. Slot ini juga sudah kompatibel

dengan arduino uno dan mega. Arduino berkomunikasi dengan baik antara

W5100 dan micro-SD, dengan menggunakan SPI bus melalui header ICSP.

W5100 dan micro-SD tidak dapat dioperasikan secara bersamaan dalam satu

waktu, dikarenakan W5100 dan micro-SD menggunakan satu penghubung

Page 21: Bab II Fix Print

25

yaitu SPI bus. Gambar Fisik dari Modul Ethernet Shield dapat dilihat pada

gambar 2.11 berikut :

Gambar 2.11 Bentuk Fisik Modul Ethernet Shield

Arduino Ethernet Shield memiliki beberapa indicator LED sebagai berikut:

1. PWR : menampilkan board dan shields dalam kondisi menyala

2. LINK : menampilkan adanya aliran proses data yang ditandai dengan

berkedipnya LED

3. FULLD : menampilkan bahwa jaringan terhubung dengan kondisi full

duplex

4. 100M : menampilkan kecepatan jaringan dalam sambungan

5. RX : menampilkan bahwa shields menerima data

6. TX : menampilkan bahwa shields mengirim data

7. COLL : menampilkan bahwa terjadi tabrakan data pada jaringan.

2.8 Relay

Relay adalah saklar elektromagnetik yang dapat di-on/off-kan oleh

arus listrik. Pada dasarnya relay terdiri dari sebuah lilitan kawat (kumparan)

yang terlilit pada suatu inti dari besi lunak, dan kontak-kontak. Kalau

kumparan dilalui arus listrik, maka besi lunak berubah menjadi magnet dan

menarik (atau menolak) suatu pegas sehingga kontak pun menutup (atau

membuka). Gambar Fisik dari Relay dapat dilihat pada gambar 2.12 berikut :

Page 22: Bab II Fix Print

26

Gambar 2.12 Bentuk Fisik Relay

Seperti halnya saklar atau tombol tekan, kontak-kontak relay

dibedakan pada : normal tertutup, normal terbuka, dan kontak tukar. Lambang

dari Relay dapat dilihat pada gambar 2.13 berikut :

Gambar 2.13 Lambang relay dengan berbagai macam kontak.

Relay dapat digolongkan dalam dua golongan utama :

1. Relay netral, yaitu relay yang perubahan transisi dari status on ke status

off dan sebaliknya tak bergantung pada arus penggeraknya.

2. Relay berkutub, yaitu relay yang perubahan transisi dari status on ke

status off dan sebaliknya bergantung pada arah arus yang mengalir.

Relay elektromekanik terdiri atas sebuah inti besi yang ditarik oleh

medan magnet yang dihubungkan dengan sebuah kumparan. Logam

ferromagnetis adalah logam yang mudah terinduksi medan elektromagnetis.

Relay dengan kontak normal terbuka dan tertutup

Relay dengan kontak normal terbuka

Relay dengan kontak normal tertutup

Page 23: Bab II Fix Print

27

Ketika ada induksi magnet dari lilitan yang membelit logam, logam tersebut

menjadi "magnet buatan" yang sifatnya sementara. Cara ini kerap digunakan

untuk membuat magnet non permanen. Sifat kemagnetan pada logam

ferromagnetis akan tetap ada selama pada kumparan yang melilitinya teraliri

arus listrik. Sebaliknya, sifat kemagnetannya akan hilang jika supply arus

listrik ke lilitan diputuskan.

2.9 Access Point (AP)

Digunakan untuk melakukan pengaturan lalu lintas jaringan dari

mobile radio ke jaringan kabel atau dari backbone jaringan wireless

client/server. Biasanya berbentuk kotak kecil dengan 1 atau 2 antena kecil.

Peralatan ini merupakan radio based, berupa receiver dan transmiter yang

akan terkoneksi dengan LAN kabel atau broadband ethernet. Saat ini beredar

di pasaran adalah access point yang telah dilengkapi dengan router di

dalamnya yang biasa disebut wireless router.

Selain sebagai penghubung (Access Point) untuk jaringan Local bisa

berfungsi memforward IP di luar dalam jaringan Local. Sebagai contoh kita

mempunyai IP 192.168.0.1 untuk jaringan Local kita sedangkan kita ingin

jaringan 192.168.0.1 kita tidak tersentuh oleh orang luar dari jaringan local

itu. Dari wireless router kita bisa setting sebagai contoh menjadi IP

10.50.10.xxx. Otomatis client yang mendapat IP dari 10.50.10.1 tidak bisa

masuk ke jaringan 192.168.0.1. Inilah fungsi maksimal dari router yaitu untuk

memprotect jaringan lokal kita sehingga resiko data diambil oleh orang luar

lebih sedikit. Jadi kesimpulannya wireless router adalah sebuah acces point

yang berfungsi meneruskan IP Local, sedangkan Router berfungsi

meneruskan IP local kita menjadi IP yang kita inginkan.

Access Point (AP) merupakan salah satu perangkat yang dapat

mendukung akses jaringan tanpa kabel atau wireless LAN. Wireless divice

jenis AP menggunakan gelombang radio sebagai media transmisi. Fungsi

utama dari AP adalah sebagai pusat koneksi. AP dapat dikatakan mempunyai

Page 24: Bab II Fix Print

28

fungsi seperti switch pada jaringan transmisi kabel. AP menyediakan

perangkat seperti radio penerima yang mampu menerima gelombang lain dari

AP atau media wireless lain seperti USB wireless. Selain itu AP juga

menyimpan perangkat lunak yang mampu berkomunikasi dan mengirim data

serta port virtual untuk menghubungkannya dengan jaringan wired (jaringan

yang menggunakan kabel).

Router merupakan peralatan jaringan yang dapat menghubungkan satu

jaringan dengan jaringan yang lain.bentuk fisik dari router dapat dilihat dalam

gambar 2.14 dibawah ini:

Gambar 2.14 Bentuk Fisik Router TP-Link

2.10 Smartphone Android

Pada dasarnya karakteristik perangkat Android lebih mendekati

komputer.  Di dalamnya ada prosesor, RAM (memori), bahkan GPU (graphic

card) yang semuanya dalam ukuran mini.  Komponen-komponen yang

dibenamkan pada akhirnya mempengaruhi kemampuan perangkat tersebut

menjalankan aplikasi yang diinstal di dalamnya. Bentuk fisik dari smartphone

android dapat dilihat dalam gambar 2.15 dibawah ini:

Page 25: Bab II Fix Print

29

Gambar 2.15 Smartphone Android

Standar saat ini untuk prosesor adalah yang memiliki clock sekitar 1

GHz, dual core lebih baik.  Hindari memilih perangkat Android

dengan clock prosesor di bawah 800 MHz karena bisa saja tidak kompatibel

dengan aplikasi-aplikasi yang tersedia saat ini. Clock prosesor juga

menentukan kegesitan perangkat Android dalam menjalankan berbagai

aplikasi.

Untuk RAM (memori) tentunya lebih besar lebih baik, minimal 512

MB. Setiap aplikasi (game dll) yang dijalankan di perangkat Android akan

menggunakan RAM walaupun aplikasi tersebut sedang tidak dijalankan.  

Sementara untuk layar, ada beragam teknologi dan istilah yang

digunakan (resistive,capacitive, IPS LCD, Amoled, dsb).  Smartphone 

umumnya memiliki kemampuan multitasking alias menjalankan banyak

aplikasi secara bersamaan.  Semakin banyak aplikasi yang dijalankan secara

bersamaan (misal : facebook, twitter, YM, dsb) akan membuat perangkat

(khususnya prosesor dan RAM) bekerja semakin keras agar tidak ada aplikasi

yang hang.

Hal ini pada akhirnya akan cepat menguras baterai ponsel.  Umumnya

perangkat Android sudah harus di-charge kembali setelah pemakaian 4, 6, 12,

atau 20 jam tergantung seberapa aktif kita menggunakan ponsel dan seberapa

baik manajemen aplikasi kita sebagai pengguna.Selain itu tingkat terangnya

layar dan kondisi sinyal operator juga ikut adil dalam pengurasan baterai

ponsel Android.  Jika sinyal operator di daerah tersebut kurang bagus, maka

Page 26: Bab II Fix Print

30

baterai akan cepat terkuras untuk sekadar mencari sinyal. Salah satu cara

untuk menghemat baterai adalah mematikan komunikasi data ketika sedang

tidak diperlukan (biasanya malam hari atau ketika perangkat sedang terhubung

dengan WiFi).

2.11 Program Basic4android

Basic4android adalah development tool sederhana yang mampu untuk

membangun aplikasi Android. Bahasa Basic4android mirip dengan Visual

Basic dengan tambahan dukungan untuk objek. Aplikasi Android (APK) yang

dicompile oleh Basic4Android adalah aplikasi Android native/asli dan tidak

ada extra runtime seperti di Visual Basic yang ketergantungan file

msvbvm60.dll yang pasti aplikasi yang dicompile oleh Basic4Android adalah

NO DEPENDENCIES (tidak ketergantungan file lain). IDE Basic4Android

hanya fokus pada development Android. Tampilan program basic4Android

dapat dilihat pada gambar 2.16 dibawah ini:

Gambar 2.16 Tampilan Program Basic4Android

Page 27: Bab II Fix Print

31

2.11.1 Langkah Penginstalan Program Basic4Android

Sebelum menginstal Program Basic4Android, terlebih dahulu harus

menginstal beberapa program pendukung agar program Basic4Android dapat

berjalan dengan sempurna. Yaitu :

Instal Java JDK (Java Development KIT) versi 7

Klik Accept

Klik tombol Next

Tentukan letak destination folder atau folder penyimpanan file

Klik Next

Page 28: Bab II Fix Print

32

Kemudian klik tombol Finish sebagai akhir dari proses installasi

Berikutnya Instal Program Android SDK (Software Development KIT)

Pada menu Available Package, centang SDK Platform Android 2.2 API 8,

revision 2 dan juga centang USB Driver Package, revision 3.

Kemudian klik Install Selected.

Setelah selesai, Instal program Basic4Android

Page 29: Bab II Fix Print

33

Klik Next