BAB 2 TINJAUAN PUSTAKA 2 - repository.untag-sby.ac.idrepository.untag-sby.ac.id/283/3/BAB II.pdf ·...

29
6 Universitas 17 Agustus 1945 Surabaya BAB 2 TINJAUAN PUSTAKA 2.1 Arduino Nano Arduino merupakan sebuah platform dari physical computing yang bersifat open source. Arduino tidak hanya sekedar sebuah alat pengembang, tetapi merupakan kombinasi dari hardware, bahasa pemrogaman dan Integrated Development Environment (IDE) yang canggih IDE adalah sebuah software yang berperan untuk menulis program, meng-compile menjadi kode biner dan meng- upload ke dalam memory microcontroler. Gambar 2.1Arduino Nano Arduino Nano adalah salah satu board mikrokontroler yang berukuran kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan dengan basis microcontroler ATmega328 (untuk Arduino Nano versi 3.x) atau Atmega 16(untuk Arduino versi 2.x). Arduino Nano kurang lebih memiliki fungsi yang sama dengan Arduino Duemilanove, tetapi dalam paket yang berbeda. ArduinoNano tidak menyertakan colokan DC berjenis Barrel Jack, dan dihubungkan ke komputer menggunakan port USB Mini-B. Arduino Nano dirancang dan diproduksi oleh perusahaan Gravitecth. 2.1.1 Konfigurasi Pin Arduino Nano Konfigurasi pin Arduino Nano.Arduino Nano memiliki 30 Pin. Berikut Konfigurasi pin Arduino Nano.

Transcript of BAB 2 TINJAUAN PUSTAKA 2 - repository.untag-sby.ac.idrepository.untag-sby.ac.id/283/3/BAB II.pdf ·...

6 Universitas 17 Agustus 1945 Surabaya

BAB 2

TINJAUAN PUSTAKA

2.1 Arduino Nano

Arduino merupakan sebuah platform dari physical computing yang bersifat

open source. Arduino tidak hanya sekedar sebuah alat pengembang, tetapi

merupakan kombinasi dari hardware, bahasa pemrogaman dan Integrated

Development Environment (IDE) yang canggih IDE adalah sebuah software yang

berperan untuk menulis program, meng-compile menjadi kode biner dan meng-

upload ke dalam memory microcontroler.

Gambar 2.1Arduino Nano

Arduino Nano adalah salah satu board mikrokontroler yang berukuran

kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan

dengan basis microcontroler ATmega328 (untuk Arduino Nano versi 3.x) atau

Atmega 16(untuk Arduino versi 2.x). Arduino Nano kurang lebih memiliki fungsi

yang sama dengan Arduino Duemilanove, tetapi dalam paket yang berbeda.

ArduinoNano tidak menyertakan colokan DC berjenis Barrel Jack, dan

dihubungkan ke komputer menggunakan port USB Mini-B. Arduino Nano

dirancang dan diproduksi oleh perusahaan Gravitecth.

2.1.1 Konfigurasi Pin Arduino Nano

Konfigurasi pin Arduino Nano.Arduino Nano memiliki 30 Pin.

Berikut Konfigurasi pin Arduino Nano.

7 Universitas 17 Agustus 1945 Surabaya

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya

digital.

2. GND merupakan pin ground untuk catu daya digital.

8

Universitas 17 Agustus 1945 Surabaya

3. AREF merupakan Referensi tegangan untuk input analog. Digunakan

dengan fungsi analogReference().

4. RESET merupakan Jalur LOW ini digunakan untuk me-reset

(menghidupkan ulang) mikrokontroler. Biasanya digunakan untuk

menambahkan tombol reset pada shield yang menghalangi papan

utama Arduino

5. Serial RX (0) merupakan pin sebagai penerima TTL data serial.

6. Serial TX (1) merupakan pin sebagai pengirim TT data serial.

7. External Interrupt (Interupsi Eksternal) merupakan pin yang dapat

dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah,

meningkat atau menurun, atau perubahan nilai.

8. Output PWM 8 Bit merupakan pin yang berfungsi untuk

dataanalogWrite().

9. SPI merupakan pin yang berfungsi sebagai pendukung komunikasi.

10. LED merupakan pin yang berfungsi sebagai pin yag diset bernilai

HIGH, maka LED akan menyala, ketika pin diset bernilai LOW maka

LED padam. LED Tersedia secara built-in pada papan Arduino Nano.

11. Input Analog (A0-A7) merupakan pin yang berfungsi sebagi pin yang

dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga

memungkinkan untuk mengubah titik jangkauan tertinggi atau

terendah mereka menggunakan fungsi analogReference().

9

Universitas 17 Agustus 1945 Surabaya

Gambar 2.2Konfigurasi Pin Arduino Nano

10

Universitas 17 Agustus 1945 Surabaya

Tabel 2.1Konfigurasi Pin Arduino Nano

Nomor Pin Arduino Nano Nama Pin Arduino

1 Digital Pin 0 (TX)

2 Digital Pin 0 (RX)

3 & 28 Reset

4 & 29 GND

5 Digital Pin 2

6 Digital Pin 3 (PWM)

7 Digital Pin 4

8 Digital Pin 5 (PWM)

9 Digital Pin 6 (PWM)

10 Digital Pin 7

11 Digital Pin 8

12 Digital Pin 9 (PWM)

13 Digital Pin 10 (PWM-SS)

14 Digital Pin 11 (PWM-MOSI)

15 Digital Pin 12 (MISO)

16 Digital Pin 13 (SCK)

18 AREF

19 Analog Input 0

20 Analog Input 1

21 Analog Input 2

22 Analog Input 3

23 Analog Input 4

24 Analog Input 5

25 Analog Input 6

26 Analog Input 7

27 VCC

30 Vin

2.1.2 Spesifikasi Arduino Nano

Berikut ini adalah spesifikasi yang dimiliki oleh Arduino Nano:

1. Chip Mikrokontroller menggunakan ATmega328p atau Atmega168.

2. Tegangan operasi sebesar 5volt.

3. Tegangan input (yang disarankan) sebesar 7volt – 12 volt.

4. Terdapat pin digital I/O 14 buah dan 6 diantaranya sebagai output

PWM.

5. 8 Pin Input Analog.

11

Universitas 17 Agustus 1945 Surabaya

6. 40 Ma Arus DC per pin I/O

7. Flash Memory16KB (Atmega168) atau 32KB (Atmega328) 2KB

digunakan oleh Bootloader.

8. 1 KbyteSRAM (Atmega168) atau 2 Kbyte 32KB (Atmega328).

9. 512 Byte EEPROM (Atmega168) atau 1 Kbyte (Atmega328).

10. 16MHz Clock Speed.

11. Ukuran 1.85cm x 4.3cm.

2.1.3 Sumber Daya Arduino

Arduino Nano dapat diaktifkan melalui koneksi USB Mini-B, atau

melaluicatu daya eksternal dengan tegangan belum teregulasi antara 6-20

Volt yangdihubungkan melalui pin 30 atau pin VIN, atau melalui catu daya

eksternaldengan tegangan teregulasi 5 volt melalui pin 27 atau pin 5V.

Sumber daya akansecara otomatis dipilih dari sumber tegangan yang lebih

tinggi. Chip FTDIFT232L pada Arduino Nano akan aktif apabila

memperoleh daya melalui USB,ketika Arduino Nano diberikan daya dari

luar (Non-USB) maka Chip FTDI tidakaktif dan pin 3.3V pun tidak

tersedia (tidak mengeluarkan tegangan), sedangkanLED TX dan RX pun

berkedip apabila pin digital 0 dan 1 berada pada posisi HIGH.

2.1.4 Memori Arduino Nano

Arduino nano menggunnakan mikrokontroler Atmega 168 yang

dilengkapi dengan flash memori sebesar 16 kbyte dan dapat digunakan

untuk menyimpan kode program utama. Flash memori ini sudah terpakai 2

kbyte untuk program boatloader sedangkan Atmega328 dilengkapi dengan

flash memori sebesar 32 kbyte dan dikurangi sebesar 2 kbyte untuk

boatloader.

Selain dilengkapi dengan flash memori, mikrokontroller

ATmega168 dan ATmega328 juga dilengkapi dengan SRAM dan

EEPROM. SRAM dan EEPROM dapat digunakan untuk menyimpan data

12

Universitas 17 Agustus 1945 Surabaya

selama program utama bekerja. Besar SRAM untuk ATmega168 adalah 1

kb dan untuk ATmega328 adalah 2 kb sedangkan besar EEPROM untuk

ATmega168 adalah 512 b dan untuk ATmega328 adalah 1 kb.

2.2 Mikrokontroler ATMega328

Mikrokontroler adalah sebuah chip yang berfungsi sebagai

pengontrolrangkaian elektronik dan umunya dapat menyimpan program

didalamnya.Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit),

memori,I/O tertentu dan unit pendukung sepertiAnalog-to-Digital Converter

(ADC) yangsudah terintegrasi di dalamnya.

Gambar 2.3 Bentuk Fisik Mikrokontroler ATMega328

Mikrokontroler ATMega328 adalah mikrokontroller keluaran dari atmel

yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana

setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed

Instruction Set Computer).

Mikrokontroller ini memiliki beberapa fitur antara lain :

1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu

siklus clock.

2. 32 x 8-bit register serba guna.

3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.

13

Universitas 17 Agustus 1945 Surabaya

4. 32 KB Flash memory dan pada arduino memiliki bootloader yang

menggunakan 2 KB dari flash memori sebagai bootloader.

5. Memiliki EEPROM (Electrically Erasable Programmable Read Only

Memory) sebesar 1KB sebagai tempat penyimpanan data semi

permanent karena EEPROM tetap dapat menyimpan data meskipun

catu daya dimatikan.

6. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.

7. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse

Width Modulation) output.

8. Master / Slave SPI Serial interface.

Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu

memisahkan memori untuk kode program dan memori untuk data sehingga dapat

memaksimalkan kerja dan parallelism. Instruksi – instruksi dalam memori program

dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan

instruksi berikutnya sudah diambil dari memori program.

Konsep inilah yang memungkinkan instruksi – instruksi dapat dieksekusi

dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk

mendukung operasi pada ALU ( Arithmatic Logic unit ) yang dapat dilakukan

dalam satu siklus. 6 dari register serbaguna ini dapat digunakan sebagai 3 buah

register pointer 16-bit pada mode pengalamatan tidak langsung untuk mengambil

data pada ruang memori data.

Ketiga register pointer 16-bit ini disebut dengan register X ( gabungan R26

dan R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30

dan R31 ). Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat

memori program terdiri dari instruksi 16-bit atau 32-bit.

Selain register serba guna di atas, terdapat register lain yang terpetakan

dengan teknik memory mapped I/O selebar 64 byte. Beberapa register ini

digunakan untuk fungsi khusus antara lain sebagai register control Timer/ Counter,

14

Universitas 17 Agustus 1945 Surabaya

Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register –

register ini menempati memori pada alamat 0x20h – 0x5Fh.

Gambar 2.4 Konfigurasi Pin ATMega 328

15

Universitas 17 Agustus 1945 Surabaya

Tabel 2.2 Fungsi Khusus Port B

Port Fungsi

PB7

XTAL2 (Chip Clock Oscillator pin 2)

TOSC2 (Timer Oscillator pin 2)

PCINT7 (Pin Change Interrupt 7)

PB6

XTAL1 (Chip Clock Oscillator pin 1)

TOSC1 (Timer Oscillator pin 1)

PCINT6 (Pin Change Interrupt 6)

PB5 SCK (SPI Bus Master Clock Input)

PCINT5 (Pin Change Interrupt 5)

PB4 MISO (SPI Bus Master Input)

PCINT4 (Pin Change Interrupt 4)

PB3

MOSI (SPI Bus Master Output)

OC2A (Timer/Counter2 Output)

PCINT3 (Pin Change Interrupt 3)

PB2

SS (SPI Bus Master Slave Select)

OC1B (Timer/Counter1 Output)

PCINT2 (Pin Change Interrupt 2)

PB1

OC1A (Timer/Counter1 Output

Compare A)

PCINT1 (Pin Change Interrupt 1)

PB0

ICP1 (Timer/Counter1 Input Capture

Input)

CLKO (Divided Sistem Clock Output)

PCINT0 (Pin Change Interrupt 0)

16

Universitas 17 Agustus 1945 Surabaya

Tabel 2.3 Fungsi Khusus Port C

Port Fungsi

PC 6 RESET(Reset Pin)

PCINT14 (Pin Change Interrupt 14)

PC 5

ADC5(ADC Input Chanel 5)

SCL(2-Wire Serial Bus Clock line)

PCINT13 (Pin Change Interrupt 13)

PC 4

ADC4(ADC Input Chanel 4)

SDA(2-Wire Serial Bus Clock line)

PCINT12 (Pin Change Interrupt 12)

PC 3 ADC3(ADC Input Chanel 3)

PCINT11 (Pin Change Interrupt 11)

PC 2 ADC2(ADC Input Chanel 3)

PCINT10 (Pin Change Interrupt 10)

PC 1 ADC1(ADC Input Chanel 1)

PCINT9 (Pin Change Interrupt 9)

PC 0 ADC0(ADC Input Chanel 0)

PCINT8(Pin Change Interrupt 8)

17

Universitas 17 Agustus 1945 Surabaya

Tabel 2.4 Fungsi Khusus Port D

Port Fungsi

PD7

AIN1(Analog Comparator Negative

Input)

PCINT23 (Pin Change Interrupt 23)

PD6

AIN0(Analog Comparator Positive

Input)

OC0A (Timer0 Output compare Match

B)

PCINT22(Pin Change Interrupt 22)

PD5

T1(Timer 1 External Counter Input)

OC0B (Timer0 Output compare Match

B)

PCINT21 (Pin Change Interrupt 21)

PD4

XCK (USART External Clock

Input/Output)

T0(Timer 0 External Counter Input)

PCINT20 (Pin Change Interrupt 20)

PD3

INT1 (External Interrupt 1 Input)

OC2B (Timer2 Output compare Match

B)

PCINT19 (Pin Change Interrupt 19)

PD2 INT0 (External Interrupt 0 Input)

PCINT18 (Pin Change Interrupt 18)

PD1 TXD (USART Output Pin)

PCINT17(Pin Change Interrupt 17)

PD0 RXD (USART Input Pin)

PCINT16 (Pin Change Interrupt 16)

18

Universitas 17 Agustus 1945 Surabaya

2.3 LCD

LCD adalah lapisan dari campuran organik antara lapisan kaca bening

dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment

dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan

medan listrik (tegangan), molekul organik yang panjang dan silindris

menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki

polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang

diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati

molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat

menjadi gelap dan membentuk karakter data yang ingin ditampilkan.

Gambar 2.5 LCD 2x16

Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang

berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display).

Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori

dan register. Memori yang digunakan microcontroler internal LCD adalah :

1. DDRAM (Display Data Random Access Memory) merupakan

memori tempat karakter yang akan ditampilkan berada.

2. CGRAM (Character Generator Random Access Memory) merupakan

memori untuk menggambarkan pola sebuah karakter dimana bentuk

dari karakter dapat diubah-ubah sesuai dengan keinginan.

19

Universitas 17 Agustus 1945 Surabaya

3. CGROM (Character Generator Read Only Memory) merupakan

memori untuk menggambarkan pola sebuah karakter dimana pola

tersebut merupakan karakter dasar yang sudah ditentukan secara

permanen oleh pabrikan pembuat LCD (Liquid Cristal Display)

tersebut sehingga pengguna tinggal mangambilnya sesuai alamat

memorinya dan tidak dapat merubah karakter dasar yang ada dalam

CGROM.

2.3.1 Konfigurasi pin LCD

Pin jalur input dan kontrol LCD (Liquid Cristal Display)

diantaranya adalah :

1. Pin data adalah jalur untuk memberikan data karakter yang ingin

ditampilkan menggunakan LCD (Liquid Cristal Display) dapat

dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler

dengan lebar data 8 bit.

2. Pin RS (Register Select) berfungsi sebagai indikator atau yang

menentukan jenis data yang masuk, apakah data atau perintah. Logika

low menunjukan yang masuk adalah perintah, sedangkan logika high

menunjukan data.

3. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low

tulis data, sedangkan high baca data.

4. Pin E (Enable) digunakan untuk memegang data baik masuk atau

keluar.

5. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana

pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan

dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar

5 Volt.

20

Universitas 17 Agustus 1945 Surabaya

2.4 Turbidity sensor

Turbidity meter adalah alat yang digunakan sebagai alat uji standar untuk

mengetahui tingkat kekeruhan air. Keberadaan alat ini sebenarnya sudah umum

dan mudah dicari. Namun, karena harganya relative mahal menjadikan alat ini

hanya dimiliki oleh pihak–pihak tertentu. Untuk menguji apakah air yang kita

punya mempunyai standar atau tidak harus pergi ke Laboratorium pengujian air

minum, hal ini menyebabkan kurang efektif dan efisien.

Dasar pembacaan kekeruhan air itu , dialat sensor tersebut ada sejenis

sensor sumber cahaya dan penangkap cahaya, yang kemudian dilewatkan ke bagian

air yang akan di lakukan pengukuran atau pengecekan kekeruhan. Sensor ini bisa

kita hubungkan ke perangkat pengolah instrument pengukuran seperti ke

mikrokontroller ataupun ke arduino. Agar dapat digunakan untuk pembacaan data

sensor melalui ADC, pada sensor kekeruhan ini diperlukan dua buah resistor yang

di hubungkan di pin 2 dan pin 3. Dan kita juga membutuhkan kabel penghubung

dari sensor menuju unit processing / mikrokontroller / arduino. Berikut bentuk fisik

Sensor kekeruhan air GE Turbidity.

Gambar 2.6 Sensor Turbidity

21

Universitas 17 Agustus 1945 Surabaya

2.5 Air

Air adalah substansi yang paling melimpah di permukaan bumi yang

terdistribusi ke berbagai tempat seperti sungai, merupakan komponen utama bagi

semua mahluk hidup, dan merupakan kekuatan utama yang secara konstan

membentuk permukaan bumi. Air juga merupakan faktor penentu dalam

pengaturan iklim di permukaan bumi untuk kebutuhan manusia.

Tukang Kolam Ikan tentunya sangat memperhatikan kebutuhan dalam

menangani permasalahan yang berkaitan dengan pemilihan jenis air yang harus

memenuhi standarisasi secara kualitas maupun juga kuantitas yang mana nantinya

akan berdampak besar kepada ikan-ikan hias tersebut maupun rumah anda secara

pribadi. Maka dari itu, hampir secara keseluruhan diseluruh kawasan Indonesia

selalu menjadikan air tawar sebagai air atau zat yang paling banyak digunakan

didalam kolam ikan hias mereka masing-masing agar kehidupan biota laut

didalamnya bisa berjalan secara signifikan. Air tawar merupakan salah satu dari

dua jenis air yang saat ini banyak digunakan dalam memelihara spesies laut

disetiap rumah yang mengoleksi atau memelihara ikan-ikan hias untuk jenis air

tersebut disetiap perumahan mereka masing-masing. Jasa Pembuatan Kolam Ikan

Koi Jakarta secara efisien selalu melakukan survey terhadap beberapa hunian

tertentu yang mana selalu menjadikan air tawar sebagai zat yang layak pakai untuk

menjadi tempat tumbuh kembang bagi ikan hias yang mereka miliki. Tak hanya itu,

air tawarpun diketahui sebagai sebuah zat yang mana memilik kandungan basanya

yang tinggi atau kadar asam serta asinnya yang rendah atau bahkan tidak ada sama

sekali. Tak heran, jika sebagian dari Tukang Kolam Ikan di Indonesia menjadikan

air tawar sebagai air yang paling banyak digunakan didalam akuarium maupun

kolam ikan bagi spesies laut yang dipelihara atau dikembang biakkan.

22

Universitas 17 Agustus 1945 Surabaya

2.5.1 Kekeruhan Air

Kekeruhan adalah standart yang menggunakan efek cahaya sebagai

dasar untuk mengukur kondisi air baku dalam satuan skala NTU (Nephelo

metrix turbidity unit) atau JTU (Jackson turbidity unit) atau FTU

(Formazing turbidity unit). Kekeruhan ini disebabkan oleh adanya benda

tercampur. Hal ini membuat perbedaan nyata dari segi estetika maupun

segi kualitas air itu sendiri. Faktor- faktor kekeruhan air ditentukan oleh:

a. Benda-benda halus yang disuspensikan (seperti lumpur dsb).

b. Jasad-jasad renik yang merupakan plankton.

c. Warna air (yang antara lain ditimbulkan oleh zat-zat koloid berasal dari

daun-daun tumbuhan yang terektrak).

2.6 Modul I2C

Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi

serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim

maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan

SDA (Serial Data) yang membawa informasi data antara I2C dengan

pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat

dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai

transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer

data dengan membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave

adalah piranti yang dialamati master.

23

Universitas 17 Agustus 1945 Surabaya

Gambar 2.7 Tampak Depan Modul 12c

Gambar 2.8 Pemasangan Modul i2c dan LCD

I2C LCD backpack ini bertujuan untuk mengurangi jumlah pin yang

digunakan pada koneksi antara arduino (atau microcontroller lainnya) dengan

character LCD.

24

Universitas 17 Agustus 1945 Surabaya

2.6.1 Fitur utama I2C

Fitur utama I2C bus adalah sebagai berikut :

1. Hanya melibatkan dua kabel yaitu serial data line (selanjutnya

disebut SDA) dan serial clockline (selanjutnya disebut SCL).

2. Setiap IC yang terhubung dengan I2C memiliki alamat yang

unik yang dapat diakses secara software dengan master / slave

protocol yang sederhana, dengan mampu mengakomodasikan

multi master.

3. I2Cmerupakanserialbusdenganorientasidata8bit(byte),komu

nikasi2arah, dengan kecepatan transfer data sampai 100

Kbit/s pada mode standar dan 3,4 Mbit/s pada mode

kecepatantinggi.

4. Jumlah IC yang dapat dihubungkan pada I2C bus hanya

dibatasi oleh beban kapasitansi pada bus yaitu

maksimum400pF.

2.6.2 KeuntunganI2C

Keuntungan yang didapat dari menggunakan I2C antara lain :

1. Meminimalkan jalur hubungan antar IC.

2. Menghemat luasan PCB yang digunakan.

3. Membuat sistem yang didesain berorientasi software (mudah

diekspan dan diupgrade).Membuat sistem yang didesain

menjadi standar, sehingga dapat dihubungkan dengan sistem

lain yang juga menggunakan I2C bus.

25

Universitas 17 Agustus 1945 Surabaya

2.7 Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk

mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer

hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang

terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga

menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar,

tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada

diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara

bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara.

Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi

suatu kesalahan pada sebuah alat (alarm).

Gambar 2.9 Buzzer 3Volt -24Volt

2.8 Pemrogaman Arduino

Menurut Sulaiman arduino diciptakan untuk para pemula bahkan yang

tidak memiliki basic bahasa pemrograman sama sekali karena menggunakan

bahasa C++ yang telah dipermudah melalui library. Arduino menggunakan

Software Processing yangdigunakan untuk menulis program kedalam Arduino.

26

Universitas 17 Agustus 1945 Surabaya

Processing sendiri merupakan penggabungan antara bahasa C++ dan Java.

SoftwareArduino ini dapat di-install di berbagai operating system (OS) seperti:

LINUX, Mac OS, Windows. Software IDEArduino terdiri dari 3 (tiga) bagian:

1. Editor program, untuk menulisdan mengedit program dalam bahasa

processing. Listing program padaArduino disebut sketch.

2. Compiler, modul yang berfungsi mengubah bahasa processing

(kode program) kedalam kode biner karena kode bineradalah satu–

satunya bahasa program yang dipahami oleh mikrokontroler.

3. Uploader, modul yang berfungsi memasukkan kode biner kedalam

memori mikrokontroler.Struktur perintahpada arduino secara garis

besar terdiri dari 2 (dua) bagian yaitu void setupdan void loop. Void

setupberisi perintah yang akan dieksekusi hanya satu kali sejak

arduino dihidupkansedangkan void loop berisi perintah yang akan

dieksekusi berulang-ulang selama arduino dinyalakan.

Gambar 2.10 Logo Software Arduino

Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur,

variabel dan fungsi:

27

Universitas 17 Agustus 1945 Surabaya

1. Struktur Program Arduino

Struktur dasar bahasa pemrograman arduino sangatlah mudah dan

sederhana. Agar program dapat berjalan dengan baik maka perlu

setidaknya dua bagian atau fungsi yaitu setup() yang dipanggil hanya satu

kali, biasanya untuk inisialisasi program (setting input atau setting serial,

dan lain-lain). Dan loop() tempat untuk mengeksekusi program secara

berulang-ulang, biasanya untuk membaca input atau men-trigger output.

Berikut ini bentuk penulisannya:

Void setup()

{

//Statement;

}

Void loop()

{

//Statement;

}

Setup()

Fungsi setup() hanya dipanggil satu kali saja saat program

mulai berjalan. Fungsi setup() berguna untuk melakukan inisialisasi

mode pin atau memulai komunikasi serial. Setup() ini harus ada

meskipun tidak ada program yang akan dieksekusi. Berikut ini bentuk

penulisannya:

Void setup()

{

pinMode(led, OUTPUT); //set led sbg

output

}

Void loop()

{

//statement;

}

Loop()

Setelah menyiapkan inisialisasi pada setup(), berikut membuat

fungsi loop(). Sesuai namanya, fungsi ini akan mengulang program

28

Universitas 17 Agustus 1945 Surabaya

yang ada secara terus-menerus, sehingga program akan berubah dan

merespon sesuai inputan. Fungsi loop() ini akan secara aktif

mengontrol board arduino.

Contoh penggunaan fungsi loop() seperti berikut:

Void setup()

{

pinMode(led, OUTPUT); //set led sbg

output

}

Void loop()

{

digitalWrite(led, HIGH); //set led on

delay (500); / tunda untuk ½ detik

digitalWrite(led, LOW); //set led off

delay (500); //tunda untuk ½ detik

}

2. Variabel

Variabel ini berfungsi untuk menampung nilai angka dan

memberikan nama sesuai dengan kebutuhan membuat program. Dengan

menggunakan variabel, maka nilai yang ada dapat diubah dengan leluasa.

Sebuah variabel perli dideklarasikan terlebih dahulu, dan bisa digunakan

sebagai penampung pembaca input yang akan disimpan atau diberi nilai

awal.

3. Fungsi – fungsi

Fungsi-fungsi pada pemrogaman arduino terdiri dari :

Fungsi Digital I/O

Fungsi untuk digital I/O ada tiga buah yaitu pinMode(pin, mode),

digitalWrite(pin, value), dan int digitalRead(pin).

Fungsi Analog I/O

Fungsi untuk analog I/O ada tiga buah yaitu

analogReference(type), int analogRead(pin), dan analogWrite (pin,

value)-PWM.

29

Universitas 17 Agustus 1945 Surabaya

Fungsi Waktu

Fungsi waktu terdiri dari unsigned long milis (), delay(ms)

dandelayMicroseonds(us).

Fungsi Matematika

Fungsi matematika terdiri dari min(x,y), max(x,y), abs(x), sqrt(x)

dan pow(base, exponent).

2.8.1 Bahasa C

Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell

Laboratories Kelebihan Bahasa C:

1. Bahasa C tersedia hampir di semua jenis computer.

2. Kode bahasa C sifatnya adalah portable dan fleksibel untuk jenis

komputer.

3. Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32

kata kunci.

4. Proses executable program bahasa C lebih cepat

5. C adalah bahasa yang terstruktur

6. Bahasa C termasuk bahasa tingkat menengah

Penempatan ini hanya menegaskan bahwa c bukan bahasa

pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa

tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat

dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah

salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun

programnya semudah bahasa tingkat tinggi namun dalam mengesekusi

program secepat bahasa tingkat rendah.

Kekurangan Bahasa C :

30

Universitas 17 Agustus 1945 Surabaya

1. Banyaknya operator serta fleksibelitas penulisan program kadang kadang

membingungkan pemakai.

2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

Mengkompilasi Program

Suatu source program C baru dapat dijalankan setelah melalui tahap

kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk

memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di

dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan

relocatable object file. File-file objek tersebut kemudian digabung dengan

perpustakaan-fungsi yang sesuai. untuk menghasilkan suatu executable-

program. Shortcut yang digunakan untuk mengkompile :

1. CTRL + F9 Æ dipakai untuk menjalankan program yang telah kita buat

atau bisa juga dengan mengklik tombol debug pada tool bar.

2. ALT + F9 Æ dipakai untuk melakukan pengecekan jika ada yang error

pada program yang telah kita buat.

Struktur Pemograman Bahasa C

<preprosesor directive>

{

<statement>;

<statement>;}

1. Header File adalah berkas yang berisi prototype fungsi definisi dan

definisi variable. Fungsinya adalah kumpulan code C yang diberi nama

dan ketika nama tersebut dipanggil maka kumpulan kode tersebut

dijalankan.

Contoh :

Stdio.h

Math.h

31

Universitas 17 Agustus 1945 Surabaya

Conio.h

2. Preprosessor Directive (#include) adalah bagian yang berisi

pengikutsertaan file atau berkas berkas fungsi maupun pendefinisian

kostanta.

Contoh :

#include <stdio.h>

#include phi 3.14

3. Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian

(return).

4. Main ( ) adalah fungsi yang pertama kali dijalankan ketika program

dieksekusi tanpa fungsi main suatu program tidak dapat dieksekusi

namun dapat dikompilasi.

5. Statement adalah instruksi atau perintah kepada suatu program ketika

program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement

diakhiri dengan titik-koma (;).

2.9 Kabel Jumper

2.9.1 Pengertian Kabel Jumper

Kabeljumper adalah suatu istilah kabel yang ber-diameter kecil

yang di dalam dunia elektronika digunakan untuk menghubungkan dua

titik atau lebih dan dapat juga untuk menghubungkan 2 komponen

elektronika.

2.9.2 Jenis Kabel Jumper

Ada bebera jenis kabel jumper yang dibedakan berdasarkan

konektor kabelnya, yaitu :

32

Universitas 17 Agustus 1945 Surabaya

Male – male

Kabel jumper jenis ini digunakan untuk koneksi male to

male pada kedua ujung kabelnya

Gambar 2.11Kabel jumper male – male

Male – female

Kabel jumper jenis ini digunakan untuk koneksi male to

female dengan salah satu ujung kabel dikoneksi male dan satu

ujungnya lagi dengan koneksi female.

33

Universitas 17 Agustus 1945 Surabaya

Gambar 2.12Kabel jumper male – female

Female – female

Kabel jumper jenis ini digunakan untuk koneksi female to

female pada kedua ujung kabelnya.

Gambar 2.13Kabel jumper female – female

34

Universitas 17 Agustus 1945 Surabaya

2.10 Saklar (Switch)

Switch (Saklar) adalah sebuah perangkat elektronik yang digunakan untuk

memutuskan jaringan listrik atau untuk menghubungkannya. Jadi saklar pada

dasarnya adalah alat penyambung atau pemutus aliran listrik. Selain untuk jaringan

listrik arus kuat, saklar berbentuk kecil juga dipakai untuk alat komponen

elektronika arus lemah.

Gambar 2.14 Saklar (Switch)

Secara sederhana, saklar terdiri dari dua bilah logam yang menempel pada

suatu rangkaian, dan bisa terhubung atau terpisah sesuai dengan keadaan sambung

(on) atau putus (off) dalam rangkaian itu. Material kontak sambungan umumnya

dipilih agar supaya tahan terhadap korosi. Kalau logam yang dipakai terbuat dari

bahan oksida biasa, maka saklar akan sering tidak bekerja. Untuk mengurangi efek

korosi ini, paling tidak logam kontaknya harus disepuh dengan logam anti korosi

dan anti karat. Pada dasarnya tombol bisa diaplikasikan untuk sensor mekanik,

karena bisa dijadikan sebagai pedoman pada mikrokontroller untuk pengaturan alat

dalam pengontrolan.