BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep...

68
1 BAB I SISTEM BILANGAN I.1 Pengertian System bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilangan yang banyak dipergunakan oleh manusia adalah system biilangan desimal, yaitu sisitem bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran. Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binary yang mempunyai dua macam nilai untuk mewakili suatu besaran nilai. Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan hexadesimal. I.2 Teori Bilangan 1.2.1 Bilangan Desimal Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan. Integer desimal : adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan : 8 x 10 3 = 8000 5 x 10 2 = 500 9 x 10 1 = 90 8 x 10 0 = 8 + 8598 position value/palce value absolute value Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.

Transcript of BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep...

Page 1: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

1

BAB I

SISTEM BILANGAN

I.1 Pengertian

System bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu item

fisik. Sistem bilangan yang banyak dipergunakan oleh manusia adalah system biilangan desimal,

yaitu sisitem bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran.

Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu

perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua

keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem

bilangan binary yang mempunyai dua macam nilai untuk mewakili suatu besaran nilai.

Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan

hexadesimal.

I.2 Teori Bilangan

1.2.1 Bilangan Desimal

Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini

menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan.

Integer desimal :

adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan :

8 x 103 = 8000

5 x 102 = 500

9 x 101 = 90

8 x 100 = 8 +

8598

position value/palce value

absolute value

Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan position

value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak

posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.

Page 2: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

2

Pecahan desimal :

Adalah nilai desimal yang mengandung nilai pecahan dibelakang koma, misalnya nilai 183,75

adalah pecahan desimal yang dapat diartikan :

1 x 10 2 = 100

8 x 10 1 = 80

3 x 10 0 = 3

7 x 10 –1 = 0,7

5 x 10 –2 = 0,05 +

183,75

1.2.3 Bilangan Biner

Sistem bilangan binary menggunakan 2 macam symbol bilangan berbasis 2 digit angka,

yaitu 0 dan 1.

Contoh bilangan 1001 dapat diartikan :

1 0 0 1

1 x 2 0 = 1

0 x 2 1 = 0

0 x 2 2 = 0

1 x 2 3 = 8 +

9 (10)

1.2.4 Bilangan Oktal

Sistem bilangan Oktal menggunakan 8 macam symbol bilangan berbasis 8 digit angka,

yaitu 0 ,1,2,3,4,5,6,7. Position value system bilangan octal adalah perpangkatan dari nilai 8.

Contoh :

12(8) = …… (10)

2 x 8 0 = 2

1 x 8 1 = 8 +

10

Jadi 10 (10)

1.2.5 Bilangan Hexadesimal

Sistem bilangan Oktal menggunakan 16 macam symbol bilangan berbasis 8 digit angka,

yaitu 0 ,1,2,3,4,5,6,7,8,9,A,B,C,D,Edan F

Dimana A = 10, B = 11, C= 12, D = 13 , E = 14 dan F = 15

Position value system bilangan octal adalah perpangkatan dari nilai 16.

Page 3: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3

Contoh :

C7(16) = …… (10)

7 x 16 0 = 7

C x 16 1 = 192 +

199(10)

Jadi 199 (10)

I.3 Konversi Bilangan

Konversi bilangan adalah suatu proses dimana satu system bilangan dengan basis tertentu

akan dijadikan bilangan dengan basis yang lain.

1.3.1 Konversi dari bilangan Desimal

1. Konversi dari bilangan Desimal ke biner

Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa

pembagiannya.

Contoh :

45 (10) = …..(2)

45 : 2 = 22 + sisa 1

22 : 2 = 11 + sisa 0

11 : 2 = 5 + sisa 1

5 : 2 = 2 + sisa 1

2 : 2 = 1 + sisa 0 101101(2) (* ditulis dari bawah ke atas)

2. Konversi bilangan Desimal ke Oktal

Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian diambil sisa

pembagiannya

Contoh :

385 (10) = ….(8)

385 : 8 = 48 + sisa 1

48 : 8 = 6 + sisa 0

601 (8) (* ditulis dari bawah ke atas)

3. Konversi bilangan Desimal ke Hexadesimal

Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa

pembagiannya

Contoh :

1583(10) = ….(16)

1583 : 16 = 98 + sisa 15

96 : 16 = 6 + sisa 2

62F (16) (* ditulis dari bawah ke atas)

Page 4: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

4

Konversi dari system bilangan Biner

1. Konversi ke desimal

Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position

valuenya.

Contoh :

1 0 0 1

1 x 2 0 = 1

0 x 2 1 = 0

0 x 2 2 = 0

1 x 2 3 = 8 +

9 (10)

2. Konversi ke Oktal

Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner yang dimulai dari

bagian belakang.

Contoh :

11010100(2) = ………(8)

11 010 100

3 2 4

diperjelas :

100 = 0 x 2 0 = 0

0 x 2 1 = 0

1 x 2 2 = 4 +

4 Begitu seterusnya untuk yang lain.

Page 5: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5

3. Konversi ke Hexademial

Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai

dari bagian belakang.

Contoh :

11010100

1101 0100

D 4

Dikerjakan sama seperti diatas.

Konversi dari system bilangan Oktal

1. Konversi ke Desimal

Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position

valuenya.

Contoh :

12(8) = …… (10)

2 x 8 0 = 2

1 x 8 1 = 8 +

10(10)

2. Konversi ke Biner

Dilakukan dengan mengkonversikan masing-masing digit octal ke tiga digit biner.

Contoh :

6502 (8) = . . . . . (2)

2 = 010

0 = 000

5 = 101

6 = 110

jadi 110101000010(2)

3. Konversi ke Hexadesimal

Dilakukan dengan cara merubah dari bilangan octal menjadi bilangan biner kemudian

dikonversikan ke hexadesimal.

Contoh :

2537 (8) = …..(16)

2537 (8) = 010101011111(2)

010101011111(2) = 55F (16)

Page 6: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

6

Konversi dari bilangan Hexadesimal

1. Konversi ke Desimal

Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position

valuenya.

Contoh :

C7(16) = …… (10)

7 x 16 0 = 7

C x 16 1 = 192 +

199(10)

2. Konversi ke Oktal

Dilakukan dengan cara merubah dari bilangan hexadesimal menjadi biner terlebih dahulu

kemudian dikonversikan ke octal.

Contoh :

55F(16) = …..(8)

55F(16) = 010101011111(2)

010101011111(2) = 2537(8)

Latihan :

Kerjakan soal berikut dengan benar !

1. Sebutkan dan jelaskan empat macam system bilangan !

2. Konversikan bilangan berikut :

a. 10101111(2) = ………….(10)

b. 11111110(2) = ………….(8)

c. 10101110101(2) = …………(16)

3. Konversi dari :

a. ACD (16) = ………(8)

b. 174 (8) = ……..(2)

Page 7: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

7

BAB II

ARSITEKTUR MICROCONTROLLER

Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol

peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiah dapat

disebut sebagai “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya

banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat

direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.

Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis,

seperti sistem kontrol mesin, remote control, mesin kantor, peralatan rumah tangga, alat

berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan

desain menggunakan mikroprosesor memori dan alat input output yang terpisah, kehadiran

mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis.

Dengan penggunaan mikrokontroler ini maka:

1. sistem elektronik akan menjadi lebih ringkas,

2. rancang bangun sistem elektronik dapat dilakukan lebih cepat karena sebagian besar

sistem merupakan perangkat lunak yang mudah dimodifikasi,

3. gangguan yang terjadi lebih mudah ditelusuri karena sistemnya yang komplaks.

Namun, mikrokontroler tidak sepenuhnya dapat mereduksi komponen IC TTL dan

CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar

menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler

adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler telah mengandung

beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial,

komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya

hanya menggunakan sistem minimum yang sederhana.

Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan

komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat

sistem minimum paling tidak dibutuhkan sistem clock danreset, walaupun pada beberapa

mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal

pun mikrokontroler dapat beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat

keras dan perangkat lunak, yaitu sistem minimum mikrokontroler, software pemrograman

dan kompiler, serta downloader. Yang dimaksud dengan sistem minimum adalah sebuah

Page 8: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

8

rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi.

Sebuah IC mikrokontroler tidak akan berarti bila hanya berdiri sendiri. Pada dasarnya,

sebuah sistem minimum mikrokontroler AVR memiliki prinsip dasar yang sama dan terdiri

dari 4 bagian, yaitu:

1. prosesor, yaitu mikrokontroler itu sendiri,

2. rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal,

3. rangkaian clock, yang digunakan untuk memberi detak pada CPU,

4. rangkaian catu daya, yang digunakan untuk memberi sumberdaya.

Pada mikrokontroler jenis-jenis tertentu (misalnya AVR), poin 2 dan 3 sudah tersedia di

dalam mikrokontroler tersebut dengan frekuensi yang telah diatur oleh produsen (umumnya

1MHz,2MHz,4MHz,dan 8MHz), sehingga pengguna tidak memerlukan rangkaian

tambahan. Namun bila pengguna ingin merancang sistem dengan spesifikasi tertentu

(misalnya komunikasi dengan PC atau handphone), maka pengguna harus menggunakan

rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya

menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai

dengan baud rate piranti yang dituju.

II.1 Mikrokontroler ATmega32

Mikrokontroler ATmega32 adalah mikrokontroler 8-bit keluaran Atmel dari

keluarga AVR. Pihak Atmel menyatakan bahwa AVR bukanlah sebuah akronim atau

singkatan dari suatu kalimat tertentu, perancang arsitektur AVR, Alf-Egil Bogen dan

Vegard Wollan tidak memberikan jawaban yang pasti tentang singkatan AVR ini

(http://en.wikipedia.org/wiki/Atmel_AVR). Mikrokontroler ini dirancang berdasarkan

arsitektur AVR RISC (Reduced Instruction Set Computer) yang mengeksekusi satu

instruksi dalam satu siklus clock sehingga dapat mencapai eksekusi instruksi sebesar 1

MIPS (Million Instruction Per Second) setiap 1 MHZ frekuensi clock yang digunakan

mikrokontroler tersebut. Frekuensi clock yang digunakan dapat diatur melalui fuse bits

dan kristal yang digunakan. Jika kristal yang digunakan sebesar 16 MHZ sehingga

frekuensi clock-nya sebesar 16 MHZ maka eksekusi instruksinya mencapai 16 MIPS

(Atmel, 2009).

ATmega32 memiliki fitur utama antara lain: 16K x 16 byte In-System

Programmable Flash Program memory dari alamat 0000H sampai 3FFFH. Flash

memory ini terbagi menjadi dua bagian yaitu application flash section dan boot flash

section. Data memori sebesar 2144 byte yang terbagi atas 32 general purpose register,

Page 9: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

64 I/O register, dan 2KB internal SRAM (Static Random Access Memory), 1 KB

EEPROM (Electrically Eraseable Read Only Memory), 32 I/O pin, tiga unit

timer/counter, internal dan eksternal interrupt, USART (Universal Synchronous and

Asynchronous Receiver Transceiver), TWI (Two-wire Serial Interface), 10-bit ADC

(Analog to Digital Converter) delapan saluran, SPI (Serial Programmable Interface),

watchdog timer, dan internal clock generator. Seperti telah disebutkan di atas

ATmega32 memiliki 32 general purpose register, dan register ini terhubung langsung

dengan dengan ALU (Arithmatic Logic Unit) sehingga dua register dapat sekaligus

diakses dalam satu instruksi yang dieksekusi tiap clock-nya. Sehingga arsitektur seperti

ini lebih efisien dalam eksekusi kode program dan dapat mencapai eksekusi sepuluh

kali lebih cepat dibandingkan mikrokontroler CISC (Complete Instruction Set

Computer) (Atmel, 2009). Gambar 2.1, 2.2, dan 2.3 masing-masing menunjukkan

desain memori, susunan pin, dan arsitektur mikrokontroler ATmega32.

Gambar 2.1 susunan pin

Page 10: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

10

Susunan Pin Atmega 32

Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada

pada Mikrokontroler AVR ATMega 8535/16/32:

VCC: (Pin 10) merupakan pin yang berfungsi sebagai pin

masukan catu daya.

GND: (Pin 11) merupakan pin ground.

Port A (PA0-PA7): (Pin 33-40) merupakan pin I/O dua arah (bi-directional)

dan pin masukan ADC.

Port B (PB0-PB7): (Pin 1-8) merupakan pin I/O dua arah dan pin fungsi

khusus, yaitu timer/counter, komparator

analog, dan SPI.

Port C (PC0-PC7): (Pin 22-29) merupakan pin I/O dua arah dan pin fungsi

khusus, yaitu TWI, komparator analog, dan

Timer Oscilator.

Port D (PD0-PD7): (Pin 14-21) merupakan pin I/O dua arah dan pin fungsi

khusus, yaitu komparator analog, interupsi

eksternal, dan komunikasi serial.

Reset merupakan pin yang digunakan untuk me-

reset mikrokontroler.

XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

AVCC merupakan pin masukan tegangan untuk

ADC

AREF merupakan pin masukan tegangan referensi

ADC.

ATmega32 memiliki clock generator internal sehingga mikrokontroler ini dapat

bekerja langsung tanpa menggunakan clock eksternal. Sinyal clock internal yang

dibangkitkan sebesar 1 MHZ. Jadi, cukup dengan menghubungkan Vcc dan Gnd

dengan tegangan 5V DC mikrokontroler ini dapat bekerja.

Untuk membuat program untuk ATmega32 dapat digunakan WinAVR atau

AVR Studio yang dapat diperoleh secara gratis (freeware). Namun dalam

pembahasanini software yang digunakan adalah WinAVR. Program dibuat dalam

bahasa C dan menambahkan file header untuk ATmega32 yang berisi register-register

Page 11: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

pada ATmega32. Setelah program di-compile akan menghasilkan file dengan tipe Intel

hex (.hex). File inilah yang nantinya akan di-programkan ke ATmega32 melalui

interface bsd programmer (Brian Dean's Programmer) yang terhubung ke komputer

melalui port paralel.

II.2 Arduino Mega

Gambar 2.3 Arduino Mega

Controller yang kita gunakan pada kegiatan ini adalah Arduino Mega, dimana

Arduino Mega merupakan microcontroller yang berbasis pada Atmega

1280.Arduino Mega memiliki 54 pin input/ output digital(dimna 14 pin

digunakan sebagai output PWM), 16 input analog, 4 UART(port serial hardware),

16 MHz crystal oscillator,konektor USB, power jack, ICSP header, dan

tombol reset.

Arduino Mega memiliki spesifikasi sebagai berikut :

Microcontroller ATmega2560

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limit) 6-20V

Digital I/O Pins 54 (of which 15 provide PWM output)

Analog Input Pins 16

DC Current per I/O Pin 20 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 256 KB of which 8 KB used by bootloader

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Length 101.52 mm

Width 53.3 mm

Page 12: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

12

Weight 37 g

Page 13: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Gambar 2.3 Sususan Pin Arduino Mega 2560

Susunan Pin Arduino Mega

2560

Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang

ada pada Mikrokontroler Arduino Mega 2560:

VCC: (Pin 3.3v dan 5v) merupakan pin yang berfungsi

sebagai pin masukan catu daya.

GND: (Pin GND) merupakan pin ground.

Port A (PA0-PA7): (Pin Digital

22-29)

merupakan pin I/O dua arah

(bidirectional) dan pin masukan ADC.

Port B (PB0-PB7): (Pin Digital 50-

53 dan Pin PWM 10-13)

merupakan pin I/O dua arah dan pin

fungsi khusus, yaitu timer/counter,

komparator analog, dan SPI.

Port C (PC0-PC7): (Pin Digital 30-

37)

merupakan pin I/O dua arah dan pin

fungsi khusus, yaitu TWI,

komparator analog, dan Timer

Oscilator.

Port D (PD0-PD3 dan PD7): (Pin

Digital 38 dan Pin Communication

18-21)

merupakan pin I/O dua arah dan pin

fungsi khusus, yaitu komparator

analog, interupsi eksternal, dan

komunikasi serial.

Port E (PE0-PE1 dan PE3-PE5) (Pin TX-RX dan Pin PWM 2,3 dan

Page 14: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

14

5)

Port F (PF0-PF7) (Pin Analog 0-7)

Port G (PG0-PG2 dan PG5) (Pin Digital 39-41 dan Pin PWM 4)

Port H (PH0-PH1) (Pin Communication 16-17)

Port J (PJ0-PJ1) (Pin Communication 14-15)

Port K (PK0-PK7) (Pin Analog 8-15)

Port L (PL0-PL7) (Pin Digital 42-49)

Reset merupakan pin yang digunakan

untuk me-reset mikrokontroler. o.

AREF merupakan pin masukan tegangan

referensi ADC

II.3 Perbedaan Ardino dan Microcontrol ATMEGA 32

Mikrokontrol ATMega32 adalah sebuah modul elektronika yang berdasar

pada rangkaian sistem minimum mikrokontroler AVR (sismin AVR) ATMEGA32.

Modul ini pun dapat digunakan sebagai sistem minimum mikrokontroler AVR

lain yang pin-pin-nya bersesuaian dengan mikrokontroler ATMEGA32. Modul

sistem minimum mikrokontroler AVR ini telah dilengkapi dengan beberapa fitur

yang dapat mempermudah proses pembelajaran atau proses “troubleshooting”

pemrograman.

Arduino Mega adalah board mikrokontroler berbasis Atmega2560.

Mega memiliki 44 pin digital input / output (dimana 12 dapat digunakan sebagai

output PWM), 16 input analog, resonator keramik 16 MHz, koneksi USB, jack

listrik, header ICSP, dan tombol reset. Mega dibangun berdasarkan apa yang

diperlukan untuk mendukung mikrokontroler, sumber daya bisa menggunakan

power USB (jika terhubung ke komputer dengan kabel USB) dan juga dengan

adaptor atau baterai.

II.4 Sistem Minimum Mikrokontroler

Sistem Minimum Mikrokontroler adalah sebuah rangkaian paling sederhana

dari sebuah mikrokontroler agar IC mikrokontroler tersebut bisa beroperasi dan

diprogram. Dalam aplikasinya sistem minimum sering dihubungkan dengan

rangkaian lain untuk tujuan tertentu. Ada beberapa yang harus diperhatikan dalam

membuat sistem minimum mikrokontroler, yaitu:

Page 15: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

1. Power Supply

Semua komponen elektronika membutuhkan power supply atau sering

juga disebut catu daya. Mikrokontroler beroprasi pada tegangan 5 volt. Biasanya

pembuatan catu daya mikrokontroler menggunakan IC regulator 7805 agar

tegangannya bisa stabil.

Gambar 2.4 LM7805

2. Osilator (Pembangkit Frekuensi)

Pada dasarnya mikrokontroler memiliki sifat seperti manusia. Kalau

manusia memiliki jantung untuk bisa hidup maka mikrokontroler memiliki

osilator untuk bisa beroprasi. Mikrokontroler sendiri sudah memiliki osilator

internal yaitu sebesar 8Mhz tetapi kadang kala agar kinerja mikronkontroler lebih

cepat osilator internal tidak bisa menangani kasus tersebut. Oleh karena itu

dibutuhkan osilator eksternal (kristal) yang nilainya lebih dari 8Mhz. Perlu

diperhatikan mikrokontroler hanya bisa beroprasi sampai 16 Mhz. jadi kalau

memilih krsital untuk AVR tidak boleh lebih dari 16Mhz.

Page 16: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3. ISP (In-System Programmable)

Sistem Minimum Mikrokontroler dibuat untuk di program. Prinsipnya

mikrokontroler bisa diprogram secara parallel atau secara seri. Pemrograman

mikrokontroler secara seri atau lebih dikenal dengan ISP tidak perlu memerlukan

banyak jalur data. Tapi ISP memiliki kelemahan, jika salah setting fuse bit yang

memiliki fungsi fital misal pin reset di disable maka alamat DEH sudah tidak bisa

digunakan lagi. Untuk mengembalikan settingan fuse bit tadi, harus menggunakan

pemrograman tipe parallel (high voltage programming).

Gambar 2.6 Settingan Port ISP

4. Rangkaian Reset

Rangkaian reset sama fungsinya dengan rangkaian reset pada komputer.

Fungsi reset di mikrokontroler yaitu untuk merestart program, sehingga kembali

ke program awal. Penggunaan reset pada mikrokontroler opsional, bisa di pake

atau nggak tergantung si pengguna.

Gambar 2.7 rangkaian reset

Page 17: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

II.4 Komponen Mikro

II.4.1 LED

LED adalah salah satu komponen output dasar pada elektronika yang sering

digunakan pada project belajar pertama dalam mata kuliah pemrograman mikrokontroler

atau mikroprosesor. Program running led adalah program dimana led akan menyala

bergantian dari salah satu port ke port selanjutnya.

Gambar 2.8 LED

II.4.2 LCD

LCD atau Liquid Crystal Display, merupakan suatu display ( penampil ) berbahan

cairan kristal yang dioperasikan menggunakan system dot matriks. LCD banyak ditemui

dibeberapa alat elektronik, seperti meltitester digital, kalkulator, jam digital, dan lain-lain.

Pada LCD 16x2 karakter yaitu maksudnya 16 kolom dan 2 baris.

Gambar 2.9 LCD

Page 18: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

II.4.3 MOTOR

II.4.3.1 Motor DC

Motor DC memerlukan suplai tegangan yang searah pada kumparan medan

untuk diubah menjadi energi mekanik. Bagian utama motor DC adalah statos dan rotor

dimana kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan

kumparan jangkar disebut rotor (bagian yang berputar). Bentuk motor paling sederhana

memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub magnet

permanen.

Gambar 2.10 Motor DC

Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh

komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan

pada gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan untuk

komponen yang berputar di antara medan magnet.

Mekanisme kerja untuk seluruh jenis motor secara umum :

Arus listrik dalam medan magnet akan memberikan gaya.

Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran / loop,

maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan

gaya pada arah yang berlawanan.

Pasangan gaya menghasilkan tenaga putar / torque untuk memutar kumparan.

Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga

putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan

elektromagnetik yang disebut kumparan medan.

Page 19: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

II.4.3.2. Motor servo

Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi

dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor

servo. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan rangkaian

kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo.

Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim

melalui kaki sinyal dari kabel motor.

Gambar 2.11 Motor Servo

Tampak pada gambar dengan pulsa 1.5 mS pada periode selebar 2 mS maka sudut

dari sumbu motor akan berada pada posisi tengah. Semakin lebar pulsa OFF maka akan

semakin besar gerakan sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan

semakin besar gerakan sumbu ke arah yang berlawanan dengan jarum jam. Motor servo

biasanya hanya bergerak mencapai sudut tertentu saja dan tidak kontinyu seperti motor

DC maupun motor stepper. Walau demikian, untuk beberapa keperluan tertentu, motor

servo dapat dimodifikasi agar bergerak kontinyu. Pada robot, motor ini sering digunakan

untuk bagian kaki, lengan atau bagianbagian lain yang mempunyai gerakan terbatas dan

membutuhkan torsi cukup besar.

Page 20: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Pulsa Kendali Motor Servo

Gambar 2.12 Pulsa kendali Motor Servo

Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan

sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan frekuensi 50 Hz

tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti

tepat di tengah-tengah (sudut 0°/ netral).

Page 21: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

II.5 SENSOR

II.5.1 Sensor Suhu LM35

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi

untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan.

Gambar 2.13 Sensor Suhu LM35

II.5.2 Sensor ULTRASONIC (Sonic Range Finders)

Sensor ultrasonic adalah komponen elektronika yang dapat mengubah energy

listrik menjadi energy mekanik dalam bentuk gelombang suara ultrasonic dan

sebaliknya. Gelombang suara ultrasonic adalah gelombang suara yang tidak dapat

didengar oleh manusia secara normal karena frekuensi gelombang ultrasonic

diatas 20KHz.

Gelombang ultrasonic daeri sensor dari sensor yang berfungsi sebagai

transmitter dan diterima oleh sensor lain yang berfungsi sebagai receiver.

Gambar 2.14 Sensor Ultrasonic

II.5.2 Sensor PIR (PASSIVE INFRA RED)

Sensor PIR (Passive Infra Red) adalah sensor yang digunakan untuk

mendeteksi adanya pancaran sinar infra merah. Sensor PIR bersifat pasif,

artinya sensor ini tidak memancarkan sinar infra merah tetapi hanya menerima

Page 22: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

perancangan detektor gerakan berbasis PIR. Karena semua benda

memancarkan energi radiasi, sebuah gerakan akan terdeteksi ketika sumber

infra merah dengan suhu tertentu (misal: manusia) melewati sumber infra merah

yang lain dengan suhu yang berbeda (misal: dinding), maka sensor akan

membandingkan pancaran infra merah yang diterima setiap satuan waktu,

sehingga jika ada pergerakan maka akan terjadi perubahan pembacaan pada

sensor.

Gambar 2.15 Sensor PIR

II.5.3 KEYPAD

Keypad Matriks adalah tombol-tombol yang disusun secara maktriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh, Keypad Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol. Hal tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom:

Gambar 2.16 KEYPAD

Page 23: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

23

BAB III

SIMULASI MIKRO KONTROLER

3.1 Pengenalan Bahasa C dan Software CVAVR

3.1.1 Struktur Bahasa C pada CVAVR

Penggunaan mikrokontroler yang diterapkan di berbagai alat rumah

tangga, otomotif, sampai dengan kendali, membuat mikrokontroler mulai masuk

didunia pendidikan. Banyak varian dan type dari mikrokontroler yang dipelajari

dan digunakan di dunia pendidikan. Salah satu varian yang banyak dipelajari dan

digunakan adalah produk dari ATMEL dengan type keluarga AVR. Banyak

software yang dapat digunakan untuk memprogram mikrokontroler keluarga

AVR, dengan bahasa pemrograman masing-masing.

Salah satu bahasa pemrograman yang dikembangkan atau digunakan dunia

pendidikan adalah bahasa C dengan struktur dan kemudahan yang dimilikinya.

Perkembangan bahasa pemrograman yang dimulai dari bahasa tingkat rendah

(bahasa assembly/bahasa mesin) sampai dengan bahasa tingkat tinggi (salah

satunya bahasa C). Bagi mikrokontroler bahasa assembly merupakan bahasa yang

mudah untuk diterjemahkan bagi prosesornya, sehingga dikatakan sebagai bahasa

tingkat rendah. Sedangkan bahasa tinggkat tinggi merupakan bahasa yang sulit

diterjemahkan oleh prosesor yang ada di didalam mikrokontroler. Pemilihan

bahasa C sebagai bahasa pemrograman untuk mikrokontroler dikarenakan mudah

dipahami dan diterjemahkan bagi user atau programmer.

Bahasa C memiliki struktur pemrograman yang khusus, selain itu bahasa

C memiliki sifat case sensitive. Artinya tersebut adalah bahwa penulisan

kata/word program sangat sensitif dengan mendeteksi perbedaan kapital tidaknya

huruf yang digunakan. Satu huruf yang berbeda pada satu kata yang diulang,

menyebabkan software tidak akan bisa meng-compile seluruh program yang

dibuat.

Setiap bahasa pemrograman memiliki type data masing-masing. Type data

merupakan jangkauan suatu data yang mampu/dapat dikerjakan/diolah oleh

mikroprosesor dalam program yang dibuat. Penggunaan type data ini juga harus

sesuai kebutuhan dan disesuaikan dengan fungsi setiap data. Pemilihan

penggunaan type data dapat mempengaruhi besarnya memory file yang dibuat.

Berikut daftar type data yang dapat digunakan dalam pemrograman bahasa C ;

Page 24: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Penggunaan type data bersamaan dengan variable data yang akan

digunakan. Penulisan type data sesuai struktur dapat dilihat sebagai berikut:

bit data_1; => terdapat variable dengan nama data_1 dengan type data bit

int data_2; => terdapat variable dengan nama data_2 dengan type data integer

Selain tipe data, bahasa C memiliki struktur penulisan akan simbol-simbol operasi

aritmatik. Setiap penggunaan simbol-simbol aritmatik memiliki fungsi masing-

masing. Berikut table simbol-simbol aritmatik yang digunakan dalam bahasa C ;

Page 25: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Instruksi-instruksi bahasa pemrograman yang ada pada bahasa C tidak

semuanya digunakan dalam pemrograman mikrokontroler. Struktur dan urutan

penulisan program hampir sama untuk keduanya. Struktur bahasa C memiliki

kepala program, dan tubuh program, sedangkan tubuh program bisa terdiri dari

induk program dan anak program. Berikut struktur sederhana dari pemrograman

bahasa C.

Penggunaan struktur penulisan bahasa pemrograman bahasa C dapat

terusun dari sebuah tubuh program yang dapat terdiri dari sebuah induk program

dan satu atau lebih anak program. Anak program memiliki fungsi untuk

mengerjakan satu blok program yang sering digunakan secara berulang-ulang.

Anak program akan diakses oleh induk program sesuai dengan kebutuhan akan

sub bagian program tersebut. Sedangkan kepala program berfungsi untuk

menyertakan file acuan/library guna mengolah (Compile/Build) program yang

telah dibuat. Penulisan struktur bahasa C didalam CVAVR dapat dilihat seperti

dibawah ini :

Page 26: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Deklarasi sebuah variable dapat digolongkan menjadi dua, yaitu local

variable dan global variable. Local variable dipakai dan hanya dapat diakses pada

sub program tempat mendeklarasikannya, sedangkan global variable dipakai dan

dapat diakses seluruh bagian program. Inisialisasi PORT digunakan untuk

memfungsikan PORT yang dituju sebagai masukan/keluaran serta nilai

defaultnya. Sedangkan bagian sub rutin adalah blok program yang akan selalu

dikerjakan terus-menerus oleh mikroprosesor selama mikrokontroler hidup.

Beberapa Instruksi-instruksi dalam bahasa C yang sering digunakan dapat ditulis

sebagai berikut :

Page 27: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya
Page 28: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3.1.2 Pengenalan Software Code Vision AVR (CVAVR)

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated

Development Environtment (IDE), dan Automatic Program Generator yang

didesain untuk mikrokontroler buatan Atmel seri AVR. Cross-compiler C mampu

menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang

diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk

mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem

embedded.

CodeVisionAVR juga mempunyai Automatic Program Generator bernama

CodeWizardAVR, yang mengizinkan Anda untuk menulis, dalam hitungan menit,

semua instruksi yang diperlukan untuk membuat beberapa fungsi-fungsi tertentu.

Dengan fasilitas ini mempermudah para programmer pemula untuk belajar

pemrograman mikrokontroler menggunakan CVAVR. Secara garis besar bagian-

bagian CVAVR dapat diuraikan seperti gambar berikut ini ;

Gambar 3.1 Tampilan awal CVAVR

Untuk memulai menulis program didalam software CVAVR terlebih dahulu

melakukan langkahlangkah sebagai berikut:

1. File => New => Pilih Project.

Page 29: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Gambar 3.2 New Project

2. Selanjutnya akan muncul window konfirmasi menggunakan AGP CodeWizardAVR =>

Yes.

Gambar 3.3 Klik Yes

3. Window CodeWizardAVR digunakan untuk pengaturan PORT dan fasilitas sesuai

dengan fungsi yang diinginkan.

Gambar 3.4 Window pengaturan port

4. Setelah selesai dengan pengaturan pada CodeWizardAVR pilih File => Generate,

Save and

exit (catatan: pemeberian nama file sebanyak 3x; dengan nama file yang sama;

hindari kalimat yang panjang, capital dan spasi).

Page 30: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5. Selesai pemberian nama file, akan muncul window utama editor program seperti

berikut.

Gambar 3.5 Tampilan editor program

Beberapa langkah instruksi diatas akan sering dilakukan apabila setiap ingin

membuat project baru. Untuk itu, langkah-langkah pembuatannya harus dihafal

dan dipahami.

Page 31: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

31

3.2 Pengenalan Program ISIS Proteus

Proteus merupakan gabungan dari program ISIS dan ARES. Dengan

penggabungan kedua program ini maka skematik rangkaian elektronika dapat dirancang

serta disimulasikan dan dibuat menjadi layout PCB.

ISIS Singkatan dari Intelligent Schematic Input System dan merupakan salah satu

program simulasi yang terintegrasi dengan Proteus dan menjadi program utamanya. ISIS

dirancang sebagai media untuk menggambar skematik rangkaian elektronik yang sesuai

dengan standart internasional. Dalam ISIS juga dimasukkan sebuag program ProSPICE

yang berguna untuk menyimulasikan skematik rangkaian, sehingga ISIS dapat menjadi

program simulator rangkaian elektronika yang interaktif. ProSPICE dirancang

berdasarkan standar bahasa pemrograman SPICE3F5, sehingga mampu mensimulasikan

rangkaian gabungan dari komponen analog dan digital secara interaktif yang dikenal

dengan istilah Interactive Mixed Mode Circuit Simulator.

ISIS dapat menyimulasikan berbagai jenis mikroprosesor dan mikrokontroler,

termasuk mikrokontroler keluarga AVR. Diharapkan dengan menggunakan program

simulasi ini maka perancangan rangkaian berbasis mikrokontroler dapat lebih mudah

dilakukan serta mengurangi biaya produksi dan menghemat waktu. ISIS dilengkapi

program compiler, sehingga dapat mengkompilasi file kode sumberseperti Assembly

menjadi file Hex sehingga nantinya dapat digunakan oleh mikrokontroler yang

sebenarnya.

Mikrokontroler AVR adalah perangkat keras yang dapat deprogram cara

kerjanya dan dapat digunakan untu berbagai keperluan. Mikrokontroler AVR

mempunyai aturan-aturan serta bahasa pemrograman yang khusus, maka ada

baiknya dalam mempelajari cara kerja dan fungsi dari mikrokontroler ini kita

menggunakan program simulasi mikrokontroler ISIS.

Page 32: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3.2.1 Screen Layout pada ISIS

Screen layout pada ISIS Proteus berisi beberapa elemen dasar berikut:

Gambar 3.6 Screen layout program ISIS

Title Bar

Title bar berada pada posisi yang paling atas dalam screen layout ISIS Proteus. Title bar

berisi informasi mengenai nama file yang sedang aktif dan juga menunjukkan apakah animasi

simulasi sedang berjalan atau tidak.

Menu Bar

Menu bar berada tepat di bawah title bar dan merupakan menu utama dari ISIS, karena

pada menu bar terdapat perintah dari hampir seluruh fungsi yang ada pada ISIS Proteus. Dalam

menu bar terdapat beberapa menu utama yaitu File, View, Edit, Tools Design, Graph, Source,

Debug, Library, Template, System dan Help

Toolbars

Sama seperti program aplikasi berbasis sistem operasi Microsoft Windows yang lainnya,

program ISIS juga menyediakan fasilitas untuk mengakses dengan cepat perintah tertentu melalui

ikon-ikon yang terdapat pada toolbar. Toolbar yang disedakan ISIS ada tiga jenis yaitu Command

Page 33: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

33

Command Toolbar

Command toolbar berada pada bagian atas screen layout dan merupakan akses alternatif

dari menu bar. Pada command toolbar terdapat 4 subtoolbar lagi yaitu File, View, Edit dan

Design.

Mode Selector Toolbar

Mode Selector Toolbar dilokasikan pada sudut kiri bawah dari screen layout. Ada 3 jenis

mode selector toolbar yang disediakan oleh ISIS yaitu Main Modes, Gadget, 2D Graphics. Mode

toolbar tidak dapat disembunyikan dan fungsi-fungsinya tidak terdapat pada menu bar.

Orientation Toolbar

Orientation toolbar berguna untuk menampilkan dan mengontrol arah rotasi dan refleksi

objek yang diletakkan pada lembar kerja. Komponen yang akan diubah arahnya harus diseleksi

atau ditandai terlebih dahulu sebelum diubah arahnya. Komponen yang telah dipilih tersebut

akanberubah warnanya, biasanya berwarna merah. Proses penyeleksian komponen dikenal

dengan istilah Tag.

Window Editing

Window editing mempunyai daerah atau area yang paling besar pada screen layout ISIS.

Window editing akan menampilkan lembar kerja yang menjadi tempat untuk mengambar,

mengedit dan menyimulasikan skematik rangkaian. Window editing bias di-redraw (refresh)

dengan menggunakan perintah Redraw yang berada pda menu View.

Window Overview

Window overview berada pada bagian kiri atas dari screen layout ISIS, tepatnya berada

di samping kiri atas window editing dan di atas object selector. Window overview biasanya

berfungsi untuk merepresentasikan objek atau komponen yang terdapat pada window editing.

Object Selector

Object selector berada di sisi kiri window editing dan di bawah window overview. Object

selector biasanya digunakan untuk menyimpan berbagai jenis komponen, terminal, generator,

graph dan objek yang lainnya sebelum diletakkan pada window editing.

Kontrol Panel Animasi

Kontrol panel animasi berada pada di sudut kiri bawah screen layout. Kontrol panel

animasi berguna untuk menjalankan dan menghentikan simulasi rangkaian.

Page 34: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3.2.2 Memulai Program ISIS

=>Melalui Start/Program/Proteus 7 Professional/ISIS 7 profesioanal.

=>Setelah program dijalankan maka tampil screen layout ISIS:

Gambar 3.7 Tampilan awal proteus

=>Membuat Title Block, File | New Design. Kemudian pilihlah lembar kerja Landscape

A4 kemudia klik OK.

Gambar 3.8 Tampilan membuat file

Pada title block intinya berisi informasi yang berkaitan dengan desain skematik

rangkaian yang sedang aktif. Properti pada title block dapat diisi sesuai dengan kebutuhan

desain skematik rangkaian yang dirancang.

Page 35: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Untuk dapat mengedi properti title block, klik menu Design | Edit Design

Properties. Pada kotak isian Title ketikkan judul rangkaian sesuai dengan keinginan,

misalnya INPUT OUTPUT. Pada kota Author ketikkan nama Anda. Kotak isian Doc.

No: biasanya diisi dengan nomor dokumen. Anda dapat mengisi kotak yang lainnya

sesuai kebutuhan. Setelah kotak isian selesai dilakukan maka klik tombol OK.

Gambar 3.9 Desaign properties

Perhatikanlah perubahan yang terjadi pada title block. Bila title block tidak

berubah maka klik menu View/Redraw agar perubahan dapat diaplikasikan.

3.3 PEMROGRAMAN PORT INPUT DAN OUTPUT MENGGUNAKAN

PROTEUS

3.3.1 Tujuan

Setelah praktikum selesai dilakukan peserta harus dapat :

Memahami cara mengeluarkan data ke port output di proteus

Membuat program untuk mengirim data ke port di proteus

Mensimulasikan LED menggunakan simulator proteus

3.3.2 Langkah percobaan pengiriman data ke port Output

3.3.3 Kebutuhan yang diperlukan

Atmega32

LED 8.

Catu Daya.

Hubungkan sesuai gambar rangkaian.

Page 36: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

3.3.4 Gambar Rangkaian

Gambar 2.10 Rangkaian Pemrograman Ke Port

Output

Page 37: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

37

3.3.5 Pin yang dihubungkan

LED

Port LED Port Atmega

LED1 2

LED2 3

LED3 4

LED4 5

LED5 6

LED6 7

LED7 8

LED8 9

GND GND

3.3.6 Program Proses ini menerangkan tentang mengeluarkan data ke port output dan akan

disimulasikan di proteus, bisa di jelaskan output dalam program ini terdapat pada Port E, G

dan H yang diberi nilai output (&B00000000) dan (&B11111111)

3.3.7 Algoritma

#include <mega32.h> #include <delay.h> void main(void) { PORTH=0x00; DDRH=0x20; while (1) { PORTA.1 = 1; PORTA.0 = 0 ; // led mati delay_ms(100);

PORTA.1 = 0; PORTA.0 = 1; // led nyala delay_ms(50); } }

3.4 Pemrograman LCD ( Liquid Crystal Display ) Menggunakan Proteus

3.4.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara menampilkan data di LCD menggunakan Proteus

Membuat program untuk menampilkan data di LCD

Mensimulasikan LCD menggunakan simulator Proteus

3.4.2 Pemrograman LCD

3.4.2.1 Kebutuhan yang diperlukan

LCD ( Liquid Crystal Display ) 16 x 2.

Arduino Mega

Catu Daya.

Page 38: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Hubungkan sesuai gambar rangkaian.

3.4.2.2 Gambar Rangkaian

a. Rangkaian LCD

Gambar 3.11LCD 2 X 16

b. Gambar Rangkaian

Gambar 3.12 Rangkaian LCD dihub ungakan ke Port Arduino Mega

Page 39: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

39

Penjelasan Tiap Kaki LCD Nama Pin Deskripsi

GND 0V VCC +5V VEE Kontras LCD RS Register Select R/W 1 = Read ; 0 = Write EN Enabel LCD, 1= enable D0 Data Bus 0 D1 Data Bus 1 D2 Data Bus 2 D3 Data Bus 3 D4 Data Bus 4 D5 Data Bus 5 D6 Data Bus 6 D7 Data Bus 7 Anoda Anoda Backlight LED

3.4.2.2 Pin yang dihubungkan

LCD

Pin LCD Port Arduino Pin LCD Port Arduino

3.4.2.3 Algoritma #include <delay.h> // Alphanumeric LCD functions #include <alcd.h> while (1) { lcd_gotoxy(0,0);

lcd_putsf("ALFIYAN");

delay_ms(1000);

} }

Page 40: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

BAB IV

PEMROGRAMAN LED, LCD DAN BUZZER MENGGUNAKAN ARDUINO

4.1 ARSITEKTUR ARDUINO

4.1.1 Aplikasi pemrograman “Arduino 1.6.5”

Gambar 4.1 Logo IDE Arduino

Aplikasi Arduino merupakan software gratis yang dapat diunduh dari situs

“www.arduino.cc/en/main/software ”. Program ini dapat dijalankan pada sistem operasi

Mac OS, Windows, dan Linux.

Aplikasi Arduino menggunakan bahas pemrograman C/C++,dimana Perintah

pemrograman arduino dapat dibagi menjadi tiga bagian yaitu struktur

,Value/Varibel, dan fungsi.

Arduino adalah sebuah platform open source (sumber terbuka) yang

digunakan untuk membuat proyek-proyek elektronika. Arduino terdiri dari dua bagian

utama yaitu sebuah papan sirkuit fisik (sering disebut juga dengan mikrokontroler) dan

sebuah perangkat lunak atau IDE (Integrated Development Environment) yang berjalan

pada komputer. Perangkat lunak ini sering disebut Arduino IDE yang digunakan untuk

menulis dan meng-upload kode dari komputer ke papan fisik (hardware) Arduino.

Ketika membicarakan Arduino maka ada dua hal yang terlintas dalam pikiran para

penggunanya, yaitu hardware dan software. Dua bagian ini seakan satu kesatuan

utuh yang tidak bisa di pisahkan.

Struktur Variabel Fungsi I/O

setup()

loop()

Control Structures

if

Konstan

HIGH | LOW

INPUT | OUTPUT |

INPUT_ PULLUP

Digital pinMode()

digitalWrite()

digitalRead() Analog

I/O analogReference()

Page 41: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

41

if...else for

switch case

while

do... while

break continue

return

goto

Syntax Lebih

Lanjut

; (semicolon)

{} (curly braces)

// (single line comment)

/* */ (multi-line

comment)

#define

#include

Operator

Aritmatika

= (operator penetapan)

+ (penjumlahan)

- (pengurangan)

* (perkalian)

/ (pembagian)

% (modulo)

Operator

Pembanding

== (sama dengan)

!= (tidk sama dengan)

< (kurang dari)

> (lebih dari)

<= (kurang dari sama

dengan)

>= (lebih dari sama

dengan)

LED_BUILTIN

true | false

integer constants

floating point constants

Tipe Data

void

boolean

char

unsigned char

byte

int

unsigned int

word

long

unsigned long

short

float

double

string - char array

String - object

array

Konversi

char()

byte()

int()

word()

long()

float()

Jangkuan Variabel dan

Qualifier

variable scope

static

volatile

const

Utilities

analogRead()

analogWrite() - PWM Due

& Zero

analogReadResolutio n()

analogWriteResolutio n()

Advanced I/O

tone()

noTone()

shiftOut()

shiftIn()

pulseIn() Time

millis()

micros()

delay()

delayMicroseconds()

Matematik

min()

max() abs()

constrain()

map() pow()

sqrt()

Trigonometri

sin()

cos() tan()

Karakter

isAlphaNumeric()

isAlpha() isAscii()

isWhitespace() isControl()

isDigit() isGraph()

isLowerCase()

isPrintable()

isPunct() isSpace()

isUpperCase()

isHexadecimalDigit()

Angka Acak/Random

Page 42: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

42

Operator Boolean

&&(And)

||(or)

!(not)

Operators Akses

Pointer

* dereference operator

& reference operator

Operator Bitwise

& (bitwise and)

| (bitwise or)

+= (compound

penambahan)

-= (compound

pengurangan)

*= (compound

perkalian)

/= (compound

pembagian)

%= (compound modulo)

&= (compound bitwise

and)

|= (compound bitwise or)

^ (bitwise xor)

~ (bitwise not)

<< (bitshift kiri)

>> (bitshift

Operator

Gabungan/Compou nd

++ (bertambah)

-- (berkurang)

sizeof()

PROGMEM

randomSeed() random()

Bit dan Byte

lowByte()

highByte()

bitRead()

bitWrite() bitSet()

bitClear() bit()

External

Interrupt

attachInterrupt()

detachInterrupt()

Interrupt interrupts()

noInterrupts()

Komunikasi Serial

Stream

USB (hanya 32u4

based boards and

Due/Zero) Keyboard

Mouse

Page 43: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

4.2 Pemrograman LED

4.2.1 TUJUAN

Setelah praktikum selesai dilakukan peserta harus dapat :

Memahami cara mengeluarkan data ke port output

Membuat program untuk mengirim data ke port

4.2.2 Langkah percobaan pengiriman data ke port Output

4.2.3 Langkah percobaan I mengirim data ke port Output

Hubungkan ARDUINO MEGA 2560 dengan Downloader.

Hubungkan ARDUINO MEGA 2560 dengan PC menggunakan USB

Printer.

Hubungkan ARDUINO MEGA 2560dengan sumber tegangan.

Ketikkan program, pada editor program IDE ARDUINO MEGA

2560, kemudian compile dan download ke ARDUINO MEGA 2560, dan amati

hasilnya.

4.2.4 Gambar Rangkaian LED

Gambar 4.2 Rangkaian Pemrograman Ke

Port Output LED

Page 44: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

44

4.2.5 Program

Proses ini menerangkan tentang mengeluarkan data ke port output yang

bisa di jelaskan output dalam program ini terdapat pada Port E,G dan H (pin 2-

9). Semua pin menyala selama setengah detik

4.2.6 Algoritma

void setup() {

// put your setup code here, to run once:

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(8, OUTPUT);

pinMode(9, OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);

delay(500);

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

digitalWrite(9, LOW);

delay(200);

}

4.3 Pemrograman LCD ( Liquid Crystal Display )

4.3.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Page 45: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Memahami cara menampilkan di LCD

Membuat program untuk menampilkan data di LCD

4.3.2 Pemrograman di LCD

4.3.3 Langkah Pecobaan

Hubungkan port D/C Arduino Mega dengan “Port Output LCD

Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan

download ke Arduino Mega, dan amati hasilnya.

4.3.4 Gambar Rangkaian

a. Gambar Rangkaian LCD

Gambar 4.3

LCD 2 X 16

Page 46: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

b. Gambar Skematik LCD

Gambar 4.4 Rangkaian LCD dihubungakan

ke Port Arduino Mega

Penjelasa pin LCD

No. Nama Pin Deskripsi

GND 0V

VCC +5V

VEE KONTRAS LCD

RS REGISTER SELECT

R/W 1 = READ, 0 = WRITE

EN ENABLE LCD, 1 = ENABLE

D0 DATA BUS 0

D1 DATA BUS 1

D2 DATA BUS 2

D3 DATA BUS 3

D4 DATA BUS 4

D5 DATA BUS 5

D6 DATA BUS 6

D7 DATA BUS 7

Anoda ANODA BACKLIGHT LED

Katoda KATODA BACKLIGHT LED

Page 47: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

47

4.3.5 PIN YANG DIHUBUNGKAN :

LC

PinLCD Pin Arduino Pin LCD Pin Arduino 1 GN 9 -

2 VCC (5V) 10 -

3 - 11 24

4 22 12 25

5 - 13 26

6 23 14 27

7 - 15 VCC (5V)

8 - 16 GN

4.3.6 Program

Pada layar LCD mucul tulisan “TES” dengan durasi selama 5 detik.

4.3.7 ALGORITMA

#include <LiquidCrystal.h>

LiquidCrystal lcd(22,23,24,25,26,27);

void setup() {

// put your setup code here, to run once:

lcd.begin(16,2);

}

void loop() {

// put your main code here, to run repeatedly:

int i;

lcd.setCursor(0,0);

lcd.print(" TES ");

delay(5000);

}

}

4.4 Pemrograman BUZZER

4.4.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membunyikan BUZZER

Membuat program untuk membunyikan BUZZER

4.4.2 Pemrograman di BUZZER

4.4.3 Langkah Pecobaan

Hubungkan port D/C Arduino Mega dengan “Port Output BUZZER

Page 48: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan

download ke Arduino Mega, dan amati hasilnya.

4.4.4 Gambar Rangkaian BUZZER

a. Gambar Rangkaian

Gambar 4.5 BUZZER

b. Gambar Skematik

Gambar 4.5 Skematik BUZZER

Penjelasa pin BUZZER

No. Nama Pin Deskripsi

GND 0V

D30 OUTPUT

4.4.5 PIN YANG DIHUBUNGKAN :

BUZZER

PinLCD Pin Arduino Pin Pin Arduino

1 GND GND -

2 D0 30 -

Page 49: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

49

4.4.6 Program

Pada BUZZER akan bunyi selama 1 detik dan mati selama 1 detik.

4.4.7 ALGORITMA

void setup() {

// put your setup code here, to run

once:

pinMode(30, OUTPUT);

}

void loop() {

// put your main code here, to run

repeatedly:

digitalWrite(30, HIGH);

delay(1000);

digitalWrite(30, LOW);

delay(1000);

}

Page 50: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

MODUL V PROGRAM MOTOR

DAN SENSOR

5.1 Pemrograman Motor Servo

5.1.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membaca data dari Motor Servo

Membuat program untuk membaca data Motor Servo

5.1.2 Langkah Pecobaan

Hubungkan port L Arduino Mega dengan “Port Output Rangkaian Motor

Servo Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan

download ke Arduino Mega, dan amati hasilnya.

5.1.3 Gambar Rangkaian

Gambar 5.1 Rangkaian Minimum System

dengan Motor Servo

Page 51: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

51

5.1.4 Program

Servo pada pin 48 awalnya pada 0 Derajat berputar 180

Derajat dengan kecepatan (25)

5.1.5 Algoritma

#include <Servo.h> //Library motor servo

int servoPin = 48; //pin motor servo pada Arduino

Servo servo; //inisialisasi perangkat motor servo

int angle = 0; // posisi servo dalam derajat

void setup()

{

servo.attach(servoPin); //melampirkan pin sinyal motor

servo

}

void loop()

{

// scan from 0 to 180 degrees for(angle

= 0; angle < 180; angle++)

{

servo.write(angle);

delay(25);

}

Page 52: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

52

5.2 PROGRAM SENSOR ULTRASONIC (SRF)

5.2.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membaca data dari SRF

Membuat program untuk membaca data SRF

5.2.2 Langkah Pecobaan

Hubungkan port C Arduino Mega 2560 dengan “Port Output Rangkaian

SRF Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega 2560 dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega 2560 dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega 2560, dan amati hasilnya.

5.2.3 Langkah Pecobaan

Hubungkan port E, G, dan H Arduino Mega 2560 dengan “Port Output

Rangkaian LED Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega 2560 dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega 2560 dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download ke

Arduino Mega 2560, dan amati hasilnya

Page 53: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5.2.4 Gambar Rangkaian

a. Gambar Rangkaian sensor SRF

Gambar 5.2 Rangkaian Minimum System

dengan SRF

5.2.5 Program

#define echo 36

#define trig 37

int x,jarak;

void setup()

{

pinMode(echo,INPUT);

Serial.begin(9600);

}

void loop ()

{

srf();

}

void srf()

{

digitalWrite(trig,LOW);

delay(10);

Page 54: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

54

digitalWrite(trig,HIGH);

delay(5);

digitalWrite(trig,LOW);

x = pulseIn(echo,HIGH);

jarak=x/58;

Serial.print("jarak : ");

Serial.println(jarak);

5.2.6 Algoritma

1. Menampilkan jarak sensor Ultrasonic ke dalam LC

5.3 PROGRAM MOTOR DC

5.3.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membaca data dari Motor DC

Membuat program untuk membaca data Motor DC

5.3.2 Langkah Pecobaan

Hubungkan port C Arduino Mega 2560 dengan “Port Output Rangkaian

Motor DC Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega 2560 dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega 2560 dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega 2560, dan amati hasilnya.

Page 55: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5.3.3 Gambar Rangkaian

Gambar 4.2 Rangkaian Minimum System

dengan Motor DC

Page 56: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

56

5.3.4 Program

const int pwm = 11 ; //initializing pin 11 as pwm

const int in_1 = 32 ;

const int in_2 = 33 ;

//For providing logic to L298 IC to choose the direction of

the DC motor

void setup()

{

pinMode(pwm,OUTPUT) ; //we have to set PWM pin as

output

pinMode(in_1,OUTPUT) ; //Logic pins are also set as

output

pinMode(in_2,OUTPUT) ;

}

void loop()

{

//For Clock wise motion , in_1 = High , in_2 = Low

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,LOW) ;

analogWrite(pwm,255) ;

//Clockwise for 3 secs

delay(3000) ;

//For brake

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,HIGH) ;

delay(1000) ;

//For Anti Clock-wise motion - IN_1 = LOW , IN_2 = HIGH

digitalWrite(in_1,LOW) ;

digitalWrite(in_2,HIGH) ;

delay(3000) ;

//For brake

digitalWrite(in_1,HIGH) ;

digitalWrite(in_2,HIGH) ;

Page 57: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

57

delay(1000) ;

}

5.3.5 Algoritma

1. Motor DC berputar ke kanan, selama 3 detik

2. Motor berhenti 1 detik

3. Motor DC berputar ke kiri, selama 3 detik

5.4 PEMROGRAMAN TERMOMETER DIGITAL (LM35)

5.4.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara pemrograman penampil LCD pada mikrokontroler Arduino

Mega dengan program (IDE) Arduino

Memahami cara pemrograman ADC pada mikrokontroler Arduino Mega

dengan program Arduino

5.4.2 Langkah Percobaan

Hubungkan port ADC pin 0 Arduini Mega dengan IC LM 35

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega, dan amati hasilnya.

Page 58: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5.4.3 Gambar Rangkaian

a. Gambar Rangkaian LM35

Gambar 5.4 Rangkaian LM35 dihubungakan

ke Port Arduino Mega

5.4.4 PIN YANG DIHUBUNGKAN :

LM35

Port LM35 Port Arduino

1 POWER ( )

2 PIN A0 (nol)

3 GND

5.4.5 Program

#define sensor 0

float temp;

int tempPin = 0;

void setup() {

// put your setup code here, to run once:

Serial.begin (9600);

}

void loop() {

// put your main code here, to run repeatedly:

temp = analogRead(sensor);

Page 59: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

59

temp = temp * 0.48828125;

delay(400);

}

5.4.6 Algoritma

1. Memasukkan rumus suhu agar menjadi derajat celcius

Page 60: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

5.5 PEMROGRAMAN THERMOMETER DIGITAL

5.5.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara pemrograman penampil LCD pada mikrokontroler

Arduino Mega dengan program (IDE)Arduino Mega.

Memahami cara pemrograman ADC pada mikrokontroler Arduino Mega

dengan program (IDE) Arduino Mega.

5.5.2 Langkah Percobaan

Hubungkan port ADC pin 0 Arduino Mega dengan IC LM 35

Hubungkan pin Arduino Mega dengan LCD

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega, dan amati hasilnya.

5.5.3 Alat dan Bahan

Hubungkan port A Arduino Mega dengan “Port Output Rangkaian ADC

dan LCD Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega, dan amati hasilnya.

5.5.4 Gambar Rangkaian

a. Gambar Rangkaian LCD

Gambar 5.5 LCD

2 X 16

Page 61: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

b. Gambar Skematik LCD

Gambar 5.6 Rangkaian LCD

dihubungakan ke Port Arduino Mega

Penjelasa pin LCD

No. Nama Pin Deskripsi

GND 0V

VCC +5V

VEE KONTRAS LCD

RS REGISTER SELECT

R/W 1 = READ, 0 = WRITE

EN ENABLE LCD, 1 = ENABLE

D0 DATA BUS 0

D1 DATA BUS 1

D2 DATA BUS 2

D3 DATA BUS 3

D4 DATA BUS 4

Page 62: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

D5 DATA BUS 5

D6 DATA BUS 6

D7 DATA BUS 7

Anoda ANODA BACKLIGHT LED

Katoda KATODA BACKLIGHT LED

c. Gambar Rangkaian LM35

Gambar 5.7 Rangkaian LM35 dihubungakan ke

Port Arduino Mega

5.5.5 PIN YANG DIHUBUNGKAN :

LM35

Port LM35 Port Arduino

1 POWER ( )

2 PIN A0 (nol)

3 GND

5.5.6 Program

#include <LiquidCrystal.h>

#define sensor 0

float temp;

Page 63: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

63

LiquidCrystal lcd(22,23,24,25,26,27);

void setup() {

// put your setup code here, to run once:

lcd.begin(16, 2);

lcd.print("Temperature: "); Serial.begin

(9600);

}

void loop() {

// put your main code here, to run repeatedly:

temp = analogRead(sensor);

temp = temp * 0.48828125;

lcd.setCursor(0, 1);

lcd.print(temp); lcd.print(" C");

Serial.print ("Temperatur = ");

Serial.print (temp); Serial.print

(" 'C "); Serial.println();

delay(400);

}

5.5.7 Algoritma

1. Temperatur dari sensor suhu ditampilkan di LCD

Page 64: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

MODUL VI

PEMROGRAMAN SENSOR PIR

DAN KEYPAD

6.1 Pemrograman Sensor PIR

6.1.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membaca data dari sensor PIR

Membuat program untuk membaca data sensor PIR

6.1.2 Langkah Pecobaan

Hubungkan port L Arduino Mega dengan “Port Output Rangkaian

sensor PIR Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan

download ke Arduino Mega, dan amati hasilnya.

6.2 Gambar Rangkaian

Gambar 6.1 Rangkaian Minimum System

dengan PIR

Page 65: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

65

6.2.1 PIN YANG DHUBUNGKAN

Sensor PIR

Port PIR Port Arduino

Out Pin 10

VCC POWER ( )

GND GND

6.2.2 Program

int ledPin =

43;

int calibrationTime = 2

boolean lockLow = true;

boolean takeLowTime;

int pirPin =

10;

void setup() {

// Calibrates the PIR

Serial.begin(9600);

pinMode(pirPin, INPUT);

pinMode(ledPin, OUTPUT);

digitalWrite(pirPin, LOW);

clearLcd();

}

void loop() {

// Main execution loop

if(digitalRead(pirPin) == HIGH) {

// flash an alert a few times digitalWrite(ledPin,

HIGH); delay(flashDelay);

digitalWrite(ledpin, LOW);

delay(flashdelay);

}

}

6.2.3 Algoritma

1. Sensor PIR mendeteksi gerakan

2. Gerakan terdeteksi menghidupkan LED kedua

Page 66: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

66

6.3 Pemorgraman KEYPAD

6.3.1 Tujuan

Setelah praktikum selesai dilaksanakan peserta harus dapat :

Memahami cara membaca data dari Keypad

Membuat program untuk menggunakan Keypad

6.3.2 Langkah Percobaan

Hubungkan port Arduino Mega dengan “Port Output Rangkaian Keypad

Trainer Board menggunakan kabel Penghubung.

Hubungkan Arduino Mega dengan PC menggunakan USB Printer.

Hubungkan Arduino Mega dengan sumber tegangan.

Ketikkan program, pada editor program, kemudian compile dan download

ke Arduino Mega, dan amati hasilnya.

6.3.3 Gambar Rangkaian

Gambar 6.2 rangkain keypad

6.3.4 Program

#include <Keypad.h>

#include <LiquidCrystal.h>

LiquidCrystal lcd (22,23,24,25,26,27);

const byte ROWS = 4; // Four rows

const byte COLS = 4; // columns

// Define the Keymap

char keys[ROWS][COLS] = {

{'1','2','3','A'},

{'4','5','6','B'},

Page 67: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

67

{'7','8','9','C'},

{'*','0','#','D'}

};

byte rowPins[ROWS] = { 9,8,7,6 };// Connect keypad ROW0, ROW1,

ROW2 and ROW3 to these Arduino pins.

byte colPins[COLS] = { 5,4,3,2, };// Connect keypad COL0, COL1

and COL2 to these Arduino pins.

// Configurasi Keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins,

ROWS, COLS );

void setup(){

pinMode(42, OUTPUT);

Serial.begin(9600);

keypad.addEventListener(keypadEvent); //add an event listener

for this keypad

}

void loop(){

keypad.getKey();

}

void keypadEvent(KeypadEvent eKey){

switch (keypad.getState()){

case PRESSED:

lcd.clear();

lcd.setCursor(0,0);

lcd.print(" Input Angka : ");

lcd.println(eKey);

Serial.print("Tekan : ");

Serial.println(eKey);

switch (eKey){

case '1': LED();break;

case 'A': mati();break;

default: standby();

}

}

Page 68: BAB I SISTEM BILANGAN I.1 Pengertian off (ada arus). Konsep …informatika.itn.ac.id/wp-content/uploads/2017/09/MODUL-SYSTEM... · Pada mikrokontroler jenis-jenis tertentu (misalnya

68

}

void standby()

{

digitalWrite(42,LOW);

delay(200);

}

void LED()

{

digitalWrite (42, HIGH);

}

void mati()

{

digitalWrite(42, LOW);

}

6.3.5 Algoritma

Ketika keypad angka “1” ditekam, makan semua LED menyala