new mantan pogez ta_q n calon buku ta_qq

53
 BAB I PENDAHULUAN 1.1 Latar Belakang Perkembanga n teknologi di bidang elektronika khususnya konsentrasi robotika, menghasilkan para ahli yang dapat menciptakan sebuah rekayasa sistem yang sangat membantu manusia dalam meny elesa ikan tugas tuga snya . Keba kara n di suat u tempat, wilayah tertentu harus segera dipadamkan. Untuk memudahkan manusia dalam menyelesaikan tugas pemadaman, maka diciptakan sebuah robot pemadam api yang dapat secara otomatis menemukan titik api yang akan dipadamkan. Kemajuan teknologi di bidang robotika sangat diminati oleh generasi muda yan g me miliki kem amp uan dalam bid ang ele ktr onika. Robot yan g dibuat har us memiliki kecerdasan dan ketangkasan dalam menjalankan misi – misinya seperti mencari titik api dan memadamkanny a. Sebelum memadamkan api, robot harus dapat menemukan dan menyelamatkan orang ya ng terperangkap kob aran api. Dalam usaha me mb erikan ko nt ri busi ke pa da tekn ol og i, ma ka tuga s ak hi r yang ak an ka mi realisasikan adalah rancang bangun robot cerdas pemadam api. 1. 2 Peru mu san Masalah ’Kegiatan pemadaman api adalah tugas wajib, namun penyelamatan bayi adalah tugas utama’, demikianlah dasar semangat pembuatan robot pemadam kebakaran dalam KRCI ini. Berdasarkan hal tersebut, maka dapat dirumuskan bahwa masalah yang akan dihadapi adalah: ”Perancangan suatu robot pemadam kebakaran yang tidak hanya memadamkan api, tetapi juga menyelamatkan bayi, terutama di suatu ge du ng be rt ingk at de ng an ce pa t” . Selain it u, be rbag ai pe rmasalahan dalam  perancangan dan pembuatan robot antara lain adalah bagaimana menentukan sistem  pe ngg erak dar i robot se rta bag aimana me ran can g sistem ele ktr oni k yan g aka n dipergunakan, seperti pendeteksian suhu bayi yang mungkin dapat terganggu dengan suhu api, pendeteksian api yang dapat dipengaruhi cahaya tampak, serta benda –  benda dan dinding yang dapat menjadi penghalang gerak robot. Permasalahan yang  juga sering dihadapi para mahasiswa adalah mengenai biaya yang tidak ekonomis dikarenakan terjadi trouble atau kegagalan sistem yang seringkali merusak komponen  – komponen utama. 1

Upload: yeyes-ristintares

Post on 10-Jul-2015

151 views

Category:

Documents


0 download

TRANSCRIPT

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 1/53

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi di bidang elektronika khususnya konsentrasi robotika,

menghasilkan para ahli yang dapat menciptakan sebuah rekayasa sistem yang sangat

membantu manusia dalam menyelesaikan tugas – tugasnya. Kebakaran di suatu

tempat, wilayah tertentu harus segera dipadamkan. Untuk memudahkan manusia

dalam menyelesaikan tugas pemadaman, maka diciptakan sebuah robot pemadam api

yang dapat secara otomatis menemukan titik api yang akan dipadamkan.

Kemajuan teknologi di bidang robotika sangat diminati oleh generasi mudayang memiliki kemampuan dalam bidang elektronika. Robot yang dibuat harus

memiliki kecerdasan dan ketangkasan dalam menjalankan misi – misinya seperti

mencari titik api dan memadamkannya. Sebelum memadamkan api, robot harus dapat

menemukan dan menyelamatkan orang yang terperangkap kobaran api. Dalam usaha

memberikan kontribusi kepada teknologi, maka tugas akhir yang akan kami

realisasikan adalah rancang bangun robot cerdas pemadam api.

1.2 Perumusan Masalah

’Kegiatan pemadaman api adalah tugas wajib, namun penyelamatan bayi adalah

tugas utama’, demikianlah dasar semangat pembuatan robot pemadam kebakaran

dalam KRCI ini. Berdasarkan hal tersebut, maka dapat dirumuskan bahwa masalah

yang akan dihadapi adalah: ”Perancangan suatu robot pemadam kebakaran yang

tidak hanya memadamkan api, tetapi juga menyelamatkan bayi, terutama di suatu

gedung bertingkat dengan cepat”. Selain itu, berbagai permasalahan dalam

 perancangan dan pembuatan robot antara lain adalah bagaimana menentukan sistem  penggerak dari robot serta bagaimana merancang sistem elektronik yang akan

dipergunakan, seperti pendeteksian suhu bayi yang mungkin dapat terganggu dengan

suhu api, pendeteksian api yang dapat dipengaruhi cahaya tampak, serta benda – 

 benda dan dinding yang dapat menjadi penghalang gerak robot. Permasalahan yang

 juga sering dihadapi para mahasiswa adalah mengenai biaya yang tidak ekonomis

dikarenakan terjadi trouble atau kegagalan sistem yang seringkali merusak komponen

 – komponen utama.

1

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 2/53

1.3 Pembatasan Masalah

Pada penulisan kali ini masalah yang akan dibahas oleh penulis hanya

mengenai pemrograman sebagai pengontrol gerak robot. Untuk pembahasan kontroler 

dapat dilihat pada tulisan lainnya yang mempunyai sub system yang sama.

1.4 Tujuan

Tujuan pembuatan alat ini adalah untuk merealisasikan, mengembangkan,

meningkatkan ilmu pengetahuan yang telah dipelajari, dengan keterampilan dan

kemampuan dalam perancangan sebuah sistem yang dapat diaplikasikan sesuai

kebutuhan masyarakat modern. Pembuatan alat ini bertujuan untuk mengembangkan

sebuah sistem pemadam api yang secara otomatis akan mencari titik api dan

kemudian memadamkannya dalam bentuk prototipe robot.

1.5 Metode Penyelesaian Masalah

Metode penyelesaian masalah yang diterapkan adalah membangun model alat dengan

menggunakan pendekatan masalah system dynamics, yaitu:

a. Identifikasi masalah

 b. Konseptualisasi sistem

Perencanaan dan perancangan dibuat dengan konsep yang pasti disesuaikandengan masalah yang teridentifikasi, sehingga dalam perealisasian tidak 

menyimpang dari konsep yang telah ditetapkan, tetapi tepat mengenai sasaran.

c. Formulasi model

Model alat yang direncanakan, diformulasikan kesesuaiannya sesuai ilmu yang

telah didapatkan, sehingga perealisasiannya lebih baik.

d. Simulasi

Perencanaan rangkaian juga melalui tahap simulasi / disimulasikan terlebih

dahulu untuk melihat perubahan dan indikasinya terhadap fenomena dan

lingkungan sekitar. Sehingga bila terdapat trouble, masih dapat diperbaiki dengan

efisien.

e. Realisasi

Rangkaian yang telah dirasa baik, direalisasikan menjadi kesatuan sistem.

f. Evaluasi

Tahap evaluasi diperlukan untuk mengecek kondisi sistem yang telah dibuat,

apakah sesuai dengan rencana, hasil simulasi, ataukah ada yang perlu diperbaiki.

2

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 3/53

BAB II

DASAR TEORI

2.1 Deskripsi Sistem Robot

Deskripsi sistem robot adalah seperti tampak pada gambar 2.1 di bawah ini.

Fenomena lingkungan yang dihadapi robot dideteksi oleh sensor dan disampaikan ke

kontroler melalui pengkondisi sinyal yang mengkondisikan sinyal yang masuk.

Sensor Suara berfungsi sebagai   sound activation. Sensor Navigasi untuk 

menunjukkan arah robot saat akan mulai berjalan, rotasi robot saat berputar pada

home berdasarkan sudut keberangkatannya menuju jalan yang dikehendaki robot

untuk dapat melewati lorong arena. Sensor Warna untuk mendeteksi home yang

 berwarna putih sebagai tanda awal perjalanan robot, robot harus dapat kembali lagi

 pada tempat asalnya yaitu home. Sensor Jarak berfungsi mendeteksi dinding arena

robot untuk mendapatkan jarak aman ketika robot melintasi lorong – lorong arena.

Sensor Api berfungsi mendeteksi keberadaan cahaya api lilin pada suatu ruangan.

Sensor Suhu berfungsi mendeteksi suhu yang dihasilkan sebuah lampu pijar pada

sebuah boneka bayi. Output dari kontroler adalah memberikan perintah kepada

driver untuk menghasilkan daya gerakan.

Sensor Suara

S en sor Navigasi

Sensor Warna

Sensor J arak

Sensor Api

Sensor Suh u

Pengkondisi Sinyal

Pengkondis i S in yal

SlaveM ikrokon trollerD T-Basic M ini1 M aster

M ikrokon trol ler

AVR ATM ega8535

Sistem R oda(Navigasi/Gerak berpindah

S istem B lower(Pemadam Api)

SlaveM ikrokon troller 

D T-Basic M ini2

Driver U VTron

Proses

Gambar 2.1  Diagram Blok Sistem Robot 

3

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 4/53

2.2 Cara Kerja Robot

Robot akan aktif saat suara buzzer dibunyikan dengan frekuensi 3 – 4 kHz yang

dideteksi oleh sensor suara. Selanjutnya robot akan bergerak. Robot mendeteksi suhu

yang dipancarkan dari tubuh bayi terlebih dahulu dan menyusuri jalan menuju bayi.

Setelah bayi ditemukan, robot akan memberi tanda dengan menjatuhkan beeper .

Dalam menyusuri jalan, bila terdapat  furniture, robot menghindar dan tidak 

menabraknya, robot juga tidak akan menabrak dinding yang menjadi halangan.

Setelah bayi menjadi prioritas utama, kemudian robot mulai mencari sumber api

terdekat dengan menyusuri ruang yang lain. Kemudian robot memadamkan api yang

ditemukan, lalu kembali ke home ( posisi siaga ).

2.3  Sistem Kontroler Robot

Untuk mengontrol semua gerakan robot, berjalan lurus, berbelok ke kiri/kanan,

adalah melalui program yang dimasukkan ke prosesor/mikrokontroler. Melalui

mikrokontroler ini, semua gerakan robot dapat diprogram sesuai dengan yang

diinginkan, mulai dengan mengontrol motor DC sampai menerima hasil respon dari

sensor yang kemudian akan diproses menjadi berbagai macam output. Prosesor 

utama yang digunakan dalam robot ini adalah mikrokontroler tipe AVR 

ATMega8535 yang berfungsi mengatur dan mengontrol seluruh mekanisme kerjarobot (sistem kontroler). Selain itu, digunakan mikrokontroler Basic Stamp sebagai

 pembantu sistem input bagi Atmega8535.

2.4 Mikrokontroler AVR (Alf and Vegard’s Risc Processor)

AVR merupakan bagian dari keluarga CMOS 8 bit buatan Atmel. AVR 

mempunyai 32 register    general purpose, timer/counter  fleksibel dengan mode

compare, interrupt  internal dan eksternal, serial UART,  programmable watchdog 

timer  dan mode   power saving . AVR juga mempunyai  In System Programmable

 Flash on-chip yang mengijinkan memori program untuk diprogram berulang–ulang

dalam sistem menggunakan hubungan serial SPI. Mikrokontroler yang digunakan

 pada robot ini adalah Atmega8535.

Beberapa keistimewaan dari Atmega8535, antara lain:

a. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.

 b. ADC ( Analog to Digital Converter ) 10-bit sebanyak 8 channel .

c. Tiga buah Timer/Counter dengan kemampuan pembandingan.

4

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 5/53

d. Watchdog Timer dengan osilator internal.

e. SRAM sebanyak 512 byte.

f. Memori Flash sebesar 8 Kb dengan kemampuan Read While Write.

g. EPROM sebesar 512 byte yang dapat diprogram saat operasi.

h. Antarmuka komparator analog.

i. Port USART untuk komunikasi serial.

 j. 4 channel PWM internal

Gambar 2.2 Memory Map Mikrokontroler AVR ATmega8535

2.4.1 Konfigurasi Pin Mikrokontroler Atmega8535

Gambar 2.3  Konfigurasi Pin Mikrokontroler ATmega8535

5

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 6/53

2.4.2 Deskripsi Pin Atmega8535

  Berikut adalah penjelasan susunan pin/kaki dari Atmega8535:

a. VCC (pin 10) : Merupakan pin masukan positif catu daya. Setiap

  peralatan elektronika tentunya membutuhkan

sumber catu daya.

b. GND (pin 11 & 31) : Sebagai pin Ground .

c. Port A (pin 33 - 40) : Port A (PA0..PA7) merupakan pin I/O dua arah dan

dapat diprogram sebagai pin masukan ADC.

d. Port B (pin 1 - 8) : Port B (PB0..PB7) merupakan pin I/O dan pin

fungsi khusus, yaitu Timer/Counter , komparator 

analog dan SPI. Pin-pin port B untuk fungsi-fungsi

alternatif khusus dapat dilihat dalam tabel berikut.

Tabel 2.1 Fungsi khusus Port B

 Atmega8535

Port

PinFungsi Khusus

PB0 T0 = timer/counter 0 external counter inputPB1 T1 = timer/counter 0 external counter inputPB2 AIN0 = analog comparator positive input

PB3 AIN1 = analog comparator negative inputPB4 SS = SPI slave select inputPB5 MOSI = SPI bus master output/slave inputPB6 MISO = SPI bus master input/slave outputPB7 SCK = SPI bus serial clock 

e. Port C (pin 22 - 29) : Port C (PC0..PC7) merupakan pin I/O. Selain itu,

dua pin port C (PC6 dan PC7) juga memiliki fungsi

alternatif sebagai oscillator untuk timer/counter 2.

f. Port D (pin 14 - 21) : Port D (PD0..PD7) merupakan pin I/O dan pinfungsi khusus, yaitu komparator analog, interupsi

eksternal dan komunikasi serial. Pin-pin port D

untuk fungsi-fungsi alternatif khusus seperti yang

dapat dilihat dalam tabel berikut.

Tabel 2.2  Fungsi khusus Port D Atmega8535

Port Pin Fungsi Khusus

6

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 7/53

PD0 RDX (UART input line)PD1 TDX (UART output line)PD2 INT0 ( external interrupt 0 input )PD3 INT1 ( external interrupt 1 input )PD4 OC1B (Timer/Counter1 output compareB match output)

PD5 OC1A (Timer/Counter1 output compareA match output)PD6 ICP (Timer/Counter1 input capture pin)PD7 OC2 (Timer/Counter2 output compare match output)

g. RESET (pin 9) : Merupakan pin yang digunakan untuk me-reset 

mikrokontroler, yaitu dengan memberikan masukan

low pada pin ini minimal dua machine cycle.

h. XTAL 1 (pin 12) : Sebagai masukan ke inverting oscillator amplifier 

dan input ke internal clock operating circuit .

i. XTAL 2 (pin 13) : Merupakan output dari inverting oscillator 

amplifier 

j. AVCC (pin 30) : Sebagai pin masukan tegangan untuk ADC. Pin ini

harus secara eksternal terhubung ke Vcc melalui

lowpass filter .

k. AREF (pin 32) : Sebagai pin masukan tegangan referensi bagi ADC.

Untuk operasionalisasi ADC, suatu level tegangan

antara AGND dan Avcc harus diberikan ke pin ini.

Masing-masing port, output buffer nya dapat memberi arus 20 mA dan

dapat mengendalikan display LED secara langsung.  Data Direction Register 

 port  (DDR) harus disetting terlebih dahulu sebelum Port digunakan. Bit-bit

DDR diisi 0 jika ingin memfungsikan pin-pin port yang bersesuaian sebagai

input, atau diisi 1 jika sebagai output.

2.4.3 Interrupt

 Interrupt merupakan suatu peristiwa yang menyebabkan mikrokontroler 

menghentikan program sejenak untuk mengerjakan proses interrupt  tersebut.

Setelah interrupt  yang dikerjakan tersebut telah selesai, maka mikrokontroler 

akan kembali ke rutin program yang telah dihentikan sejenak.  Interrupt  yang

mempunyai prioritas tertinggi tidak dapat diganggu oleh program lain maupun

interrupt  yang mempunyai prioritas lebih rendah. Selama proses interrupt 

dijalankan maka program counter  (alamat dari proses instruksi yang sedang

7

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 8/53

  berjalan) disimpan ke stack . Berikut merupakan prioritas interrupt  dari yang

tertinggi sampai terendah.

Tabel 2.3 Prioritas Interrupt Atmega8535

Vecto

r No.

 Progra

m

 Address

 Source Interrupt Definition

1 0x000 RESET External Pin, Power-on Reset,

Brown-out Reset and Watchdog

Reset2 0x001 INT0 External Interrupt Request 03 0x002 INT1 External Interrupt Request 1

4 0x003 TIMER2 COMP External Pin, Power-on Reset,Brown-out Reset and Watchdog

Reset5 0x004 TIMER2 OVF Timer/Counter2 Overflow6 0x005 TIMER1 CAPT Timer/Counter1 Capture Event7 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A8 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B9 0x008 TIMER1 OVF Timer/Counter1 Overflow10 0x009 TIMER0 OVF Timer/Counter0 Overflow11 0x00A SPI, STC Serial Transfer Complete

12 0x00B USART, RXC USART, Rx Complete13 0x00C USART, UDRE USART Data Register Empty14 0x00D USART, TXC USART, Tx Complete15 0x00E ADC ADC Conversion Complete16 0x00F EE_RDY EEPROM Ready17 0x010 ANA_COMP Analog Comparator  18 0x011 TW1 Two-wire Serial Interface19 0x012 INT2 External Interrupt Request 220 0x013 TIMER0 COMP Timer/Counter0 Compare Match21 0x014 SPM_RDY Store Program Memory Ready

2.4.4 Tool CodeVision AVR 

Pemrograman yang digunakan untuk mengisi program pada mikrokontroler 

AVR ini digunakan tool codevision AVR dan bahasa pemrograman yang

digunakan adalah bahasa C. Pada tool codevision AVR ini dapat ditentukan

  port–port dari mikrokontroler AVR yang berfungsi sebagai input maupun

output, serta dapat juga ditentukan tentang penggunaan fungsi-fungsi internal

8

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 9/53

dari AVR. Untuk menentukan port–port yang akan digunakan sebagai input

maupun output dapat dilihat pada gambar 2.3.

 

Gambar 2.4 Penentuan Port ATmega8535 yang akan

dipakai

9

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 10/53

Setelah port dari AVR ditentukan sebagai input atau output, maka program

ditulis dalam bahasa C. Setelah itu program dicompile apakah ada kesalahan

atau tidak, lalu program didownload  ke mikrokontroler dengan alur seperti

gambar 2.4.

 

Gambar 2.5 Alur Pemrograman dan Proses Download Tool CodeVision AVR

2.4.5 Rutin – Rutin Standar

Pada codevision AVR telah disediakan beberapa rutin-rutin yang siap diisi

dengan program. Setelah mengatur port AVR yang berfungsi sebagai input

maupun output, maka program disesuaikan dengan penentuan port yang telah

ditentukan. Beberapa contoh fungsi yang telah disediakan pada codevision

AVR seperti berikut:

a. Fungsi delay

Untuk menghasilkan delay pada pemrograman AVR, maka fungsi

delay harus dideklarasikan pada header  sebelum dipanggil pada sub rutin

 program. Letaknya pada header program, dituliskan sebagai berikut:

# include <delay.h>

Pada codevision AVR juga terdapat fungsi untuk memanggil delay selain

cara di atas, yaitu:

void delay_us(unsigned int n) : menghasilkan delay selama n mikro-detik,

void delay_ms(unsigned int n) : menghasilkan delay selama n mili-detik.

 b. Fungsi LCD ( Liquid Crystal Display)

Fungsi LCD harus dideklarasikan terlebih dahulu pada header 

 program apabila ingin dipanggil. Selain itu, harus diaktifkan terlebih dahulu

 pada codevision wizard, misal jika LCD tersebut diletakkan pada Port B

dari mikrokontroler, ditunjukkan seperti berikut:

10

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 11/53

Gambar 2.6 Contoh Pengaturan LCD pada Port B

 b.1 void lcd_clear (unsigned char x, unsigned char y)

Untuk menghapus karakter yang tampil di layar LCD dan

 posisi karakter kembali ke posisi semula.

 b.2 void lcd_gotoxy (unsigned char x, unsigned char y)

void lcd_putchar (char c)

dua baris tulisan tersebut adalah untuk meletakkan posisi c pada layer LCD pada kolom ke-x dan baris ke-y.

2.5 DT Basic Mini System

  DT Basic Mini System adalah suatu modul kontroler    single chip yang

menggunakan mikrokontroler   Basic Stamp 2P 40 (BS2P 40) interpreter chip dan

kemampuan komunikasi serial secara UART dan serial downloading . Kontroler ini

memiliki memori 8x2 Kbyte EEPROM yang mampu menampung hingga 4000

instruksi dengan kecepatan prosesor 20 MHz Turbo dan kecepatan eksekusi

  programnya hingga 12.000 instruksi per detik. Selain itu, kontroler ini memiliki

memori RAM sebesar 38 byte dengan  scratch pad sebesar 128 byte. Memiliki jalur 

I/O sebanyak 32 pin dan memiliki jalur komunikasi serial UART RS232 dengan

konektor DB9. Tegangan input yang dibutuhkan antara 9-12 Volt dan tegangan

outputnya sebesar 5 Volt.

2.5.1 Konfigurasi pin IC BS2P 40

11

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 12/53

Gambar 2.7 IC BS2P 40

2.5.2 Deskripsi Pin IC BS2P 40

Tabel 2.4  Deskripsi Pin IC BS2P 40

Pin Nama Pin Deskripsi

1 SOUT Serial Out: dihubungkan ke pin Rx port serial PC (pin

2 DB9 / pin 3 DB25) untuk pemrograman2 SIN Serial In: dihubungkan ke pin Tx port serial PC (pin

3 DB9 / pin 2 DB25) untuk pemrograman3 ATN Attention: dihubungkan ke pin DTR port serial PC

(pin 4 DB9 / pin 20 DB25) untuk pemrograman4 VSS Sistem ground: dihubungkan ke pin GND port serial

PC (pin 5 DB9 / pin 7 DB25) untuk pemrograman5-20 P0-P15 Pin I/O general - purpose

21-36 X0-X15 Auxiliary bank dari pin I/O general - purpose37 VDD 5 Volt DC input/output

38 RES Reset input/output39 VSS Sistem ground: dihubungkan ke terminal ground

 power supply40 VIN Power input yang tidak diregulasikan: menerima

tegangan 5,5 – 12 Volt yang kemudian diregulasikan

secara internal menjadi 5 Volt.

2.5.3 Basic Stamp Editor

Untuk memprogram modul  Basic Mini System ini digunakan  software

khusus Basic Stamp Editor dengan pemrograman yang digunakan untuk modul

12

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 13/53

ini adalah bahasa basic yang sintaksnya tidak jauh berbeda dengan bahasa C.

Untuk memulai, kita dapat mengidentifikasikan tipe basic stamp yang kita

gunakan dengan memilih  Run → Identify, atau dapat langsung memilihnya

 pada window.

 

Gambar 2.8  Test koneksi Basic Stamp  Gambar 2.9  Pemilihan tipe BasicStamp

Program dapat mulai diketik, lalu dicompile dan dirun atau didownload ke

modul. Di sini, dapat pula menampilkan jendelarunning 

program sehingga

dapat mengetahui hasil program yang dibuat.

 Gambar 2.10 Icon pilihan run Gambar 2.11 Jendela Running Basic Stamp

2.6 PWM

 Pulsa Width Modulation (PWM) adalah suatu metode/cara untuk mengontrol

kecepatan putaran motor dengan memberikan tegangan DC berfrekuensi khusus.

Frekuensi yang diberikan ke motor dilakukan oleh mikrokontroler melalui rangkaian

 penguat arus sehingga motor dapat bergerak dan mikrokontroler tidak mengalami

kelebihan arus. Frekuensi dibuat oleh mikrokontroler dengan program yang mengatur 

13

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 14/53

siklus kerjanya (duty cycle). Siklus kerja ini didapatkan dari perbandingan antara

lamanya tegangan pada nilai maksimum (tH) dengan lamanya periode. Dengan kata

lain, duty cycle adalah kondisi waktu tinggi (high) pada suatu waktu tertentu.

Pengaturan duty cycle akan menjadikan motor dapat bergerak dengan kecepatan

yang dapat diatur seperti kecepatan penuh, kecepatan 50% dari kecepatan penuh dan

lain sebagainya. Jadi, PWM pada dasarnya adalah menyalakan (ON ) dan mematikan

(OFF ) motor DC dengan cepat. Kuncinya adalah mengatur berapa lama waktu ON 

dan berapa lama waktu OFF , di mana kondisi ON adalah kondisi pada saat logic ‘1’

dan kondisi OFF adalah kondisi saat logic ‘0’. Untuk mencari besarnya siklus kerja

yang dipakai dapat menggunakan rumus sebagai berikut:

% Duty Cycle = %100xtt

t

LH

H

+ → tH = waktu tinggi ( logic ‘1’)tL = waktu rendah (logic ‘0’)

Periode (T) = tH + tL

Sedangkan untuk mencari besarnya tegangan keluaran rata-rata yang dihasilkan

setelah menggunakan PWM adalah:

Vrata-rata = %  Duty Cycle x Input Voltage  

Pada gambar 2.6 diperlihatkan transisi waktu tinggi dan waktu rendah pada

suatu waktu tertentu.

Gambar 2.12  Duty Cycle dalam suatu Periode (rasio waktu ON terhadap waktu

total)

 Duty cycle umumnya dinyatakan dalam persen.

14

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 15/53

Gambar 2.13 Contoh  Duty Cycle

Frekuensi yang diberikan ke motor akan sangat berpengaruh terhadap sistem

kerja dari motor itu sendiri. Pada saat motor mendapatkan frekuensi tinggi dalam hal

ini periode waktu menjadi kecil, akan menurunkan kekuatan torsi motor itu sendiri.

Hal ini berarti semakin kecil nilai duty cyclenya, maka kekuatan torsi menjadi

 berkurang sehingga diperlukan percobaan untuk dapat menentukan pada duty cycle

 berapa motor masih dapat bergerak.

2.7 I2C

I2C ( Inter-Integrated Circuit ) merupakan jalur komunikasi serial multi-master .Dengan I2C, hanya dibutuhkan dua jalur untuk berkomunikasi antar perangkat. Kita

tidak memerlukan address decoder  untuk mengimplementasi jalur I2C. Dua jalur 

tersebut adalah SDA (Serial Data) dan SCL (Serial Clock ). SCL merupakan jalur 

yang digunakan untuk mensinkronisasi transfer data pada jalur I2C, sedangkan SDA

merupakan jalur untuk data. Beberapa perangkat dapat terhubung ke dalam jalur I2C

yang sama dimana SCL dan SDA terhubung ke semua perangkat tersebut, hanya ada

satu perangkat yang mengontrol SCL yaitu perangkat master . Jalur dari SCL danSDA ini terhubung dengan  pull-up resistor yang besar resistansinya tidak menjadi

masalah (bisa 1K, 1.8K, 4.7K, 10K, 47K atau nilai diantara range tersebut). Dengan

adanya  pull-up disini, jalur SCL dan SDA menjadi open drain, yang maksudnya

adalah perangkat hanya perlu memberikan output 0 ( LOW ) untuk membuat jalur 

menjadi  LOW , dan dengan membiarkannya,   pull-up resistor sudah membuatnya

 HIGH . Umumnya, dalam I2C ada satu perangkat yang berperan menjadi master 

(meskipun dimungkinkan beberapa perangkat, dalam jalur I2C yang sama, menjadi

master ) dan satu atau beberapa perangkat  slave. Dalam jalur I2C, hanya perangkat

15

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 16/53

master yang dapat mengontrol jalur SCL yang berarti transfer data harus diinisialisasi

terlebih dahulu oleh perangkat master  melalui serangkaian pulsa clock  ( slave tidak 

 bisa, tapi ada satu kasus yang disebut clock streching ). Tugas perangkat slave hanya

merespon apa yang diminta master . Slave dapat memberi data ke master  dan

menerima data dari master  setelah  server  melakukan inisialisasi. Misalkan

mikrokontroler adalah perangkat master  yang terhubung dalam satu I2C dengan

 perangkat-perangkat slave seperti modul pengendali motor servo, modul kompas dan

sensor lainnya. Dari sini, mikrokontroler dapat mengontrol pergerakan servo dengan

memberikan data ke modul servo, mendapatkan data kompas dengan memerintahkan

modul kompas agar mengirimkan data. Semua itu hanya dibutuhkan 2 jalur dengan

tambahan 2 resistor sebagai pull-up.

Gambar 2.14 Contoh Implementasi Jalur I2C 

Sebelum memulai transfer data antara  slavenya, master  terlebih dahulu

melakukan inisialisasi. Inisialisasi diawali dengan sinyal START (transisi high ke low

 pada jalur SDA dan kondisi high pada jalur SCL, lambang S pada gambar 2.15), lalu

transfer data dan sinyal STOP (transisi low ke high pada jalur SDA dan kondisi high

 pada jalur SCL, lambang P pada gambar 2.15) untuk menandakan akhir transfer data.

Gambar 2.15 Sinyal untuk START dan STOP   Komunikasi I2C  Banyaknya byte yang dapat dikirimkan dalam satu transfer data itu tidak ada

aturannya. Jika transfer data yang ingin dilakukan sebesar 2 byte, maka pengiriman

 pertama adalah 1 byte dan setelah itu 1 byte. Setiap byte yang ditransfer harus diikuti

16

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 17/53

dengan bit Acknowledge (ACK) dari si penerima, menandakan data berhasil diterima.

Byte yang dikirim dari pengirim diawali dari bit MSB. Saat bit dikirim, pulsa clock 

(SCL) diatur ke HIGH lalu ke LOW . Bit yang dikirim pada jalur SDA tersebut harus

stabil saat periode clock  (SCL)  HIGH . Kondisi  HIGH  atau  LOW  dari jalur data

(SDA) hanya dapat berubah saat kondisi sinyal SCL itu LOW .

Gambar 2.16 Transfer Bit pada Jalur I2C  

Setiap pulsa clock  itu dihasilkan (di jalur SCL) untuk setiap bit (di jalur SDA)

yang ditransfer. Jadi untuk pengiriman 8 bit akan ada 9 pulsa clock  yang harus

dihasilkan (1 lagi untuk bit ACK). Kronologi sebelum perangkat penerima

memberikan sinyal ACK adalah sebagai berikut: saat pengirim selesai mengirimkan

 bit ke-8, pengirim melepaskan jalur SDA ke pull-up (penjelasan open drain di atas)sehingga menjadi  HIGH . Saat kondisi tersebut terjadi, penerima harus memberikan

kondisi LOW ke SDA saat pulsa clock ke-9 berada dalam kondisi HIGH .

Gambar 2.17 Data Transfer pada Jalur I2C  

Jika SDA tetap dalam kondisi  HIGH  saat pulsa clock  ke-9, maka ini

didefinisikan sebagai sinyal  Not Acknowledge (NACK). Master dapat menghasilkan

sinyal STOP  untuk menyudahi transfer, atau mengulang sinyal START  untuk 

memulai transfer data yang baru. Ada 5 kondisi yang menyebabkan NACK:

17

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 18/53

a. Tidak adanya penerima dengan alamat yang diminta pada jalur, sehingga

tidak ada perangkat yang merespon ACK.

 b. Penerima tidak dapat menerima atau mengirim karena sedang mengeksekusi

fungsi lain dan tidak siap untuk memulai komunikasi dengan master .

c. Pada saat transfer data, penerima mendapatkan data atau perintah yang tidak 

dimengerti oleh penerima.

d. Pada saat transfer data, penerima tidak dapat menerima lagi byte data yang

dikirimkan.

e. Penerima-master    perlu memberi sinyal pengakhiran transfer data ke

 penerima- slave.

Untuk membedakan  slave–slave, misal modul servo atau modul kompas, yaitu

menggunakan pengalamatan tentunya, dimana setiap perangkat  slave itu mempunyai

alamat yang unik.

Pengalamatan dalam I2C bisa 7 bit atau 10 bit. Pengalamatan 10 bit jarang

digunakan. Semua perangkat (mikrokontroler dan modul-modul) yang terhubung ke

dalam jalur I2C yang sama dapat dialamati sebanyak 7 bit. Ini berarti sebuah jalur 

I2C dengan pengalamatan 7 bit dapat menampung 128 (2^7) perangkat. Saatmengirimkan data alamat (yang 7 bit itu), kita tetap mengirim data 1 byte (8 bit). 1

 bit lagi digunakan untuk menginformasikan perangkat  slave apakah master menulis

(write) data ke  slave atau membaca (read ) data dari  slave. Jika bit tersebut 0, maka

master  menulis data ke  slave. Jika bit tersebut 1, maka master  membaca data dari

 slave. Bit ini (untuk infomasi tulis/baca) merupakan LSB, sedangkan sisanya adalah

data alamat 7 bit. Berikut adalah contoh sinyal yang dimulai dengan data alamat lalu

data yang ingin ditransfer ke alamat tersebut:

Gambar 2.18 Sinyal Alamat dan Data

Saat mengalamati perangkat-perangkat dalam I2C, sebaiknya dengan anggapan

menggunakan 8-bit. Jika menggunakan 7 bit akan membingungkan. Misal diberikan

alamat 0×14 (dalam penghitungan 7 bit), maka untuk menulis ke alamat 0×14 kita

18

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 19/53

harus memberikan byte 0×28 dengan menggesernya 1 bit (bit 0 pada LSB berarti

menulis).

Pada perangkat lunak ( software), hal yang pertama kali terjadi untuk 

mengimplementasikan protokol I2C adalah  server  mengirimkan sinyal START 

(gambar 2.18). Ini akan menginformasikan perangkat-perangkat  slave yang

terhubung dalam jalur I2C bahwa akan ada transfer data yang ingin dilakukan oleh

master  dan para  slave harus siap memantau siapa yang akan dipanggil alamatnya.

Selanjutnya master akan mengirimkan data berupa alamat  slave yang ingin diakses.

Perangkat slave yang sesuai dengan alamat yang diberikan master akan meneruskan

transaksi data,  slave lainnya dapat mengacuhkan transaksi tersebut dan menunggu

sampai sinyal berikutnya. Setelah mendapatkan slave dengan alamat tersebut, saatnya

master  memberitahukan alamat internal atau nomor register yang ingin ditulis atau

dibaca dari slave tersebut. Jumlah lokasi atau nomor register tersebut tergantung pada

 perangkat slave yang diakses. Ada beberapa yang memiliki dan ada beberapa yang

tidak. Setelah mengirim data berupa alamat  slave dan kemudian data alamat internal

register  slave yang ingin diakses, kini saatnya master  mengirim byte data. Master 

dapat melanjutkan mengirim byte data ke  slave dan byte-byte akan ditampung di

register setelahnya karena  slave secara otomatis akan menaikkan alamat internal

register setelah setiap byte. Ketika master  selesai menulis semua data ke  slave,

master  akan mengirim sinyal STOP  untuk mengakhiri transaksi data. Jadi untuk 

menulis ke slave langkahnya adalah:

a. Mengirim sinyal START 

 b. Mengirim alamat slave serta operasi yang akan dilakukan (LSB)

c. Mengirim nomor internal register yang ditulis

d. Mengirim byte data

e. Mengirim sinyal STOP 

Sebelum membaca data dari  slave, master  harus memberitahu alamat internal

mana yang ingin dibaca. Jadi operasi baca dari slave sebenarnya dimulai dulu dengan

operasi tulis. Ini sama seperti operasi tulis. Master  mengirim sinyal START , alamat

I2C slave dengan LSB utk operasi tulis/baca dan nomor internal register yang ingin

ditulis. Setelah itu master mengirim sinyal START lagi (terkadang disebut ‘restart’ )

dan alamat I2C slave lagi - tapi kali ini set LSB ke 1 untuk operasi baca. Lalu master 

19

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 20/53

dapat mulai membaca banyak  byte data yang diinginkan dan menyudahi transaksi

dengan mengirimkan sinyal STOP .

BAB III

PERANCANGAN DAN REALISASI KONTROLER 

3.1 Sistem Kontroler Robot

Sistem kontrol robot dibagi menjadi dua, yaitu dengan sistem input – output

seperti terlihat pada gambar, di mana DT Basic Mini 1 dan 2 akan mengirimkan data

output hasil pembacaan sensor ke pin input kontroler utama (Atmega8535). Padametode ini tidak memerlukan komunikasi khusus (misal komunikasi serial atau

 paralel), tetapi kontroler  slave (DT Basic Mini) akan mengolah data sensor yang telah

masuk dan mengirimkan hasilnya berupa logic ‘1’ atau ‘0’ kepada kontroler utama.

Jadi cukup menghubungkan pin output kontroler  slave ke pin input kontroler utama.

Blok diagram rancangan kontroler adalah sebagai berikut.

20

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 21/53

Konektor 

output

ultrasonik 

 

Gambar 3.1 Blok Diagram Rancangan Sistem

3.2 Perancangan Interfacing I/O

  Nama, fungsi dan jumlah hardware yang digunakan dalam robot dapat

dilihat pada tabel 3.1

Tabel 3.1  Daftar Hardware yang digunakan

Nama Jumlah KegunaanSensor Suara 1 Sebagai sound activation pendeteksi suaraSensor Jarak 5 Sebagai pendeteksi halanganSensor Suhu 1 Untuk mendeteksi keberadaan bayiSensor Api 1 Untuk mendeteksi adanya apiSensor Garis 1 Untuk mendeteksi lingkaran putih (home)Sensor Kemiringan 1 Untuk mendeteksi kemiringan tanggaMotor DC 2 Menggerakkan roda-roda robotMotor DC Blower 1 Untuk menggerakkan blower Solenoid 1 Untuk mendorong beeper (penanda

ditemukannya bayi)

21

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 22/53

Tabel 3.2 Daftar Kebutuhan Input Output 

Port

Mikrokontroler

TipeKeterangan

Input Output

BasicStamp (1)

P0 Echo

Ultrasonik kananP2 Trigger  P4 Echo

Ultrasonik serong kananP6 Trigger  P8 Echo

Ultrasonik DepanP10 Trigger  P12 Echo

Ultrasonik serong kiriP14 Trigger  P1 Echo

Ultrasonik KiriP3 Trigger  P7 √ kondisi Ultrasonik kanan

P9 √kondisi Ultrasonik serongkanan

P11 √ kondisi Ultrasonik depanP13 √ kondisi Ultrasonik serong kiriP15 √ kondisi Ultrasonik kiri

BasicStamp (2)

P8 SDATermal array

P9 SCLP0 √ Kondisi termal array

Atmega8535

PA.0 √ kondisi Ultrasonik depanPA.1 √ kondisi Ultrasonik kananPA.2 √ kondisi Ultrasonik kiri

PA.3 √ kondisi Ultrasonik serongkanan

PA.4 √ kondisi Ultrasonik serong kiriPA.5 Kondisi naik 

Sensor kemiringanPA.6 Kondisi turunPA.7 √ Sensor suaraPC.0 SCL

KompasPC.1 SDAPC.2 √ Kondisi termal arrayPD.0 √ SolenoidPD.1 √ Blower  PD.2 √ Sensor apiPD.3 √ Sensor garisPD.4 √ Direction motor kananPD.5 √ Pwm motor kananPD.6 √ Direction motor kiriPD.7 √ Pwm motor kiri

3.3 Perancangan Perangkat Lunak (Program)

3.3.1 Perancangan Program Pendeteksian Suara

22

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 23/53

Ketika robot diposisikan pada posisi home circle, robot dalam kondisi

 standby. Robot mulai bergerak bila mendengar suara dengan frekuensi 3–4

kHz sebagai sinyal start .

 Listing Program:

#define suara PORTA.7 // mendefinisikan sensor suara di Port A.7

PORTA = 0x00 // kondisi awal Port A adalah low

DDRA = 0x00 // menyatakan arah Port A sebagai input

while(1) // Program looping

{

if (suara==1) // cek sensor suara{program_jalan();} // prosedur program pengendalian robot

}

Pada awal program, didefinisikan terlebih dahulu peletakan input dari

sensor suara (tone decoder ) pada mikrokontroler. Kondisi awal input adalah

logic ’1’. Pada main program, program akan menunggu sampai ada sinyal

suara dengan frekuensi 3–4 kHz yang mentrigger tone decoder  sehingga

mengeluarkan output logic ’0’ dan program akan berlanjut ke prosedur  program_jalan yang artinya robot mulai berjalan sesuai program_jalan.

3.3.2 Perancangan Program Sensor Ultrasonik tipe SRF04

' {$STAMP BS2p}

' {$PBASIC 2.5}

ukur VAR Word ‘pendeklarasian variable ukur 

srf1:

PULSOUT 2,10 ‘memberikan pulsa dengan lebar10us pada pin trigger 

PULSIN 0,1,ukur ’membaca pulsa pada berlogic ’0’ pada pin echo

ukur=ukur/29 ’pulsa yang terbaca dibagi 29 untuk cm

IF(ukur<=19)THEN sen_kanan ’membandingkan jarak dekat

IF(ukur>=18)THEN sen_kanan1 ’membandingkan jarak jauh

23

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 24/53

sen_kanan1:

LOW 7 ’memberikan nilai kondisi low pada pin 7

GOTO srf2

sen_kanan:

HIGH 7 ’memberikan nilai kondisi high

GOTO srf1

Untuk mengaktifkan SRF04, pin 2 SRF04 harus diberi trigger  dengan

lebar pulsa minimal 10us. Pin 1 yang merupakan pin echo dari SRF04 akan

membaca waktu terima dengan menggunakan ukur yang merupakan

 pembacaan waktu yang diterima, kemudian hasil tersebut dibagi dengan

 bilangan 29 agar jarak yang dihasilkan dapat dibaca dalam cm. Jarak yang

dihasilkan dibandingkan sesuai kebutuhan. Data hasil kondisi pada pin 7 akan

dikirimkan ke mikrokontroler utama yaitu Atmega8535.

3.3.3 Perancangan Program Sensor Api

#define blo PORTD.1 //mendefinisikan letak output blower 

#define api PORTD.2 //mendefinisikan letak input dari sensor api

#include <delay.h> //menyertakan program delay

while (1)

{

// Place your code here

if (api==1)

{

blo=1; delay_ms(3000); //blower aktif selama 3 detik 

} else

{blo=0;

}

};

}

Untuk sistem kompleks, program pendeteksian api adalah sebagai

interrupt  dimana api dapat terdeteksi di mana saja. Peletakan input pun

diletakkan pada PORTD.2 di mana port ini merupakan jalur interrupt 0.

24

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 25/53

 Listing program interrupt:

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

{ blo=1;delay_ms(3000);

}

Jika PortD.2 mendapat logic 1, ini berarti jalur  interrupt  0 aktif. Maka

  program akan menjalankan program interrupt  yang berupa menyalakan

 blower selama 3 detik.

3.3.4 Perancangan Program Sensor Garis

#define garis PORTA.0 //sensor garis pada jalur ADC channel 0

#define ADC_VREF_TYPE 0x40 //inisialisasi ADC

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input|ADC_VREF_TYPE;

// Mulai konversi ADC

ADCSRA|=0x40;

// menunggu konversi selesaiwhile ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

}

while(1)

{

garis=read_adc(0); //input sensor garis dibaca dari hasil konversi

}

Data masukan tegangan ADC yang masuk ke port A diubah menjadi data

digital oleh ADC yang sudah terintegrasi di dalam mikrokontroler. Data 10

 bit hasil konversi ADC yang selanjutnya disebut NKADC (Nilai Konversi

ADC) yaitu:

Vref  

Vin 1024. NKADC = ..................................................................................

(3.1)

25

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 26/53

Tegangan referensi sama dengan Vcc yaitu 5 volt. Nilai tegangan masukan 0

sampai 5 volt, maka ADC ini memilki resolusi sebagai berikut.

Resolusi ADC = 5/1024 volt/level = 4,8828125 mV/level

3.3.5 Perancangan Program Sensor Kompas (cmps03)

Pembacaan posisi sensor kompas melalui jalur I2C:

// I2C Bus functions

#asm

.equ __i2c_port=0x15 ;PORTC

.equ __sda_bit=1

.equ __scl_bit=0

#endasm#include <i2c.h>

// Fungsi alphanumeric LCD

#asm

.equ __lcd_port=0x18 ;PORTB

#endasm

#include <lcd.h>

unsigned int data;unsigned char kata[16];

unsigned char compas_readb(unsigned char addr)

{

unsigned char posisi;

i2c_start(); //mengirim start bit sequence

i2c_write(0xC0);

i2c_write(addr);

i2c_start();

i2c_write(0xC1);

posisi=i2c_read(0);

i2c_stop(); //mengirim stop bit sequence

return posisi;

}

i2c_init(); //inisialisasi I2C

lcd_init(16); //inisialisasi LCD

26

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 27/53

while (1)

{

data=compas_readb(1);

sprintf(kata,"%d ",data);

lcd_gotoxy(0,1);

lcd_puts(kata);

{

printf("\n\r");

 printf("KOMPAS");

printf("Data = %d ",data);

 putchar(0x0D);

putchar(0x0A);delay_ms(1000);

}

delay_ms(500);

};

   Penjelasan listing program kompas:

Baris paling atas adalah header  yang berisi alamat memori register-

register dari ATmega8535. Baris selanjutnya adalah pendefinisian I2C, di

mana digunakan PORTC.0 untuk SCL dan PORTC.1 untuk SDA. Baris

selanjutnya adalah pendefinisian LCD yang dihubungkan dengan PORTB.

Fungsi putchar(0x0D) dan putchar (0x0A) digunakan untuk mengkonversi

nilai desimal sesuai dengan ASCII tiap digitnya. Misalnya nilai inByte adalah

255, maka pertama digit ratusan akan diambil dan dikonversi ke nilai ASCII-

nya (2 = 32), kemudian digit puluhan (5 = 35), lalu digit satuan (5 = 35). Ini

 perlu dilakukan karena fungsi lcd putchar menerima data ASCII dan jika 255

di berikan ke fungsi ini maka karakter yang nilai ASCII-nya 255 yang akanditampilkan.

Masuk ke fungsi main, I2C perlu diinisialisasi terlebih dahulu dan

cukup sekali saja. Lalu LCD juga perlu diinisialisasi dengan parameter berupa

 banyaknya kolom. Nah sekarang blok while, barisan kode yang berada dalam

  blok while ini akan selalu dieksekusi oleh mikrokontroler. Fungsi

lcd_gotoxy(0,0) akan menempatkan kursor LCD pada baris 0 dan kolom 0

(ujung atas kiri LCD). Fungsi i2c_start() akan mensinyalkan START ke jalur I2C. Setelah memberikan sinyal  start , master  perlu menuliskan alamat slave

27

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 28/53

yang dituju (dengan pemanggilan fungsi i2c_write(0xC0), LSB nya 0 jadi

merupakan operasi tulis). Setelah mendapatkan alamat slave yang diinginkan,

master    perlu memberitahukan alamat/register internal  slave yang diakses

(dengan i2c_write(0x01) dimana alamat 0×01 merupakan bearing byte).

Selanjutnya master    perlu memulai sinyal START  lagi untuk operasi

 pembacaan dari alamat internal slave 0×01. Karena selanjutnya adalah operasi

 pembacaan maka menjadi i2c_write(0x0C1). Untuk pembacaan, digunakan

fungsi i2c_read(0), dimana paramater 0 akan menyebabkan tidak perlunya

 pemberian sinyal ACK setelah pembacaan. Fungsi i2c_read jika sukses akan

mengembalikan nilai pembacaan. Nilai hasil pembacaan akan menjadi

 parameter bagi fungsi konversi ke LCD. Setelah selesai pembacaan, master 

mengirim sinyal STOP  dengan i2c_stop(). Dan program akan kembali lagi

dari penempatan kursor LCD ke 0,0.

3.3.6 Perancangan Program Sensor Thermall Array

' {$STAMP BS2p} ’menggunakan basic stamp 2P

' {$PBASIC 2.5} ’menggunakan software basic versi 2.5

SDA CON 8 ' I2C data ’pembacaan pixel suhu melalui jalur I2CSCL CON 9 ' I2C clock 

Pix1 VAR Byte

Pix2 VAR Byte

Pix3 VAR Byte

Pix4 VAR Byte

Pix5 VAR Byte

Pix6 VAR Byte

Pix7 VAR BytePix8 VAR Byte

arah VAR Byte

DO

I2CIN SDA, $d1, 2, [Pix1, Pix2, Pix3, Pix4, Pix5, Pix6, Pix7, Pix8]

’**jika pixel suhu sesuai yang diinginkan

IF pix3>=90 OR pix4>=90 OR pix5>=90 THENLOW 0

28

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 29/53

ELSE

HIGH 0

ENDIF

LOOP

3.3.7 Perancangan Program PWM

#define dirka PORTD.2 //direction untuk motor kanan

#define pwmka PORTD.3 //output pengatur pwm motor kanan

#define dirki PORTD.4 //direction untuk motor kiri

#define pwmki PORTD.5 //output pengatur pwm motor kiri

unsigned char pwmr, pwml, x=0;

// Timer 0 overflow interrupt service routine

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

{

// Reinitialize Timer 0 value

TCNT0=0xC0; //timer 0 akan mulai menghitung dari 192 (0xc0)

// Place your code here

x++;

if(x==255){x=0;}if(x>=pwmr){pwmka=1;}

else {pwmka=0;}

if(x>=pwml){pwmki=1;}

else {pwmki=0;}

}

void stop(void) //prosedur untuk menghentikan motor  

{ dirka=0;dirki=0;pwmka=0;pwmki=0; }

void maju(void) //prosedur bila ingin berjalan maju

{ dirka=1;dirki=1;pwmka=200;pwmki=200;

delay_ms(100); }

void beki(void) //prosedur gerak belok kiri

{ dirka=1;dirki=0;pwmka=50;pwmki=255;delay_ms(1000); }

void beka(void) //prosedur gerak belok kanan

29

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 30/53

{ dirka=0;dirki=1;pwmka=255;pwmki=50;delay_ms(1000); }

Program yang dibuat adalah menggunakan timer , dimana pada prinsipnya

timer ini adalah sebagai counter (penghitung). Jadi, kita memanfaatkan mode

0 dari timer 0 agar dapat bekerja sebagai PWM. Pada awal program,

didefinisikan terlebih dahulu 2 pin enable untuk motor kiri dan kanan. Selain

itu, dibuat suatu penampung nilai PWM yang berperan sebagai duty cycle dari

 pwm (pwmr untuk motor kanan dan pwml untuk motor kiri). Variabel duty

cycle PWM ini mempunyai nilai 0–255 (unsigned char ). Jika duty cyclenya

100%, maka nilai itu adalah 255. jadi dapat digambarkan nilai untuk  full-

 speed  adalah 255, half-speed  adalah 127 dan no-speed    berarti 0. Ini

diimplementasikan pada tiap prosedur.Pada rutin overflow interrupt Timer 0, ditentukan nilai TCNT0 = 0xc0, ini

akan membuat Timer mulai menghitung dari 192 (0xc0). Selanjutnya Timer 0

akan terus menghitung naik. Hitungan Timer 0 selalu disimpan dalam register 

TCNT0. lalu rutin overflow ini akan dieksekusi bila Timer 0 sudah

menghitung sampai TOP  atau sudah mencapai nilai 255 (0xFF). Jadi jika

sudah 255, Timer (overflow) akan memberikan sinyal, dan kita bisa

mengerjakan sesuatu dalam program (disinilah PWM bekerja) dan menyuruhTimer  untuk menghitung lagi dari 0. Demikian seterusnya terjadi jika nilai

255 tercapai, dan Timer hanya akan berhenti jika kita memprogramnya untuk 

 berhenti.

30

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 31/53

BAB IV

PENGUJIAN DAN ANALISIS

4.1 Pengujian Waktu Respon Sensor Ultrasonik 

4.1.1 Tujuan Pengujian

1. Mengetahui respon pulsa yang dihasilkan oleh modul sensor jarak 

terhadap jarak yang diukur.

2. Mengetahui apakah data hasil pengujian yang diperoleh sesuai

dengan data hasil pengukuran.

4.1.2 Target Pengujian

Memperoleh gelombang pulsa output (sinyal echo) dari modul sensor SRF04.

4.1.3 Data Lingkungan Pengujian

a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok 

 b. Tanggal Pengujian : 05 Agustus 2008

c. Waktu Pengujian : 13.30 WIB – 16.30 WIB

d. Pelaksana : Yeyes Ristintares

31

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 32/53

4.1.4 Konfigurasi Pengujian

Gambar 4.1 Konfigurasi pengujian ultrasonik 

4.1.5 Peralatan Pengujian

Tabel 4.1 Daftar peralatan pengujian ultrasonik 

No Nama Alat Merk Tipe Fungsi1

Power supply5 V

Leybold-Heraeus

Sumber tegangan 5 Volt

2 Osiloskop Tektronix TDS1002Melihat bentuk pulsahasil pembacaan jarak.

3Kabel BNC toCrocodile

- -Penghubung antaraosiloskop dengan modulultrasonik.

4Kabel Bananato Crocodile

- -

Penghubung antara power supply denganmikrokontroler dan

modul ultrasonik 

4.1.6 Langkah Pengujian

1. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.

2. Menyusun konfigurasi pengujian seperti gambar 4.1

3.  Power supply dinyalakan dengan memastikan tegangan supplynya

5 Volt.

32

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 33/53

4. Program pemberian pulsa trigger  dan pembacaan sinyal echo

modul SRF04 diketik pada tool codevision AVR, lalu dicompile dan

didownload ke modul mikrokontroler (minimum sistem).

5. Hasil pengujian diamati pada osiloskop dan digambarkan pada

data hasil pengujian.

6. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke

tempat semula.

 4.1.7 Data Hasil Pengujian

Tabel 4.2 Respon Ultrasonik terhadap jarak yang diukur 

Jarak 

(cm) Bentuk Pulsa hasil foto

Bentuk pulsa dengan

penyimpanan melaluiUSB

5

Jarak 

(cm)Bentuk Pulsa hasil foto

Bentuk pulsa dengan

penyimpanan melalui

USB

10

15

33

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 34/53

20

25

Jarak 

(cm)Bentuk Pulsa hasil foto

Bentuk pulsa dengan

penyimpanan melalui

USB

30

4.1.8 Analisa Hasil Pengujian

34

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 35/53

Dari hasil pemgujian, tidak dapat diketahui dengan pasti lebar pulsa dari

sinyal echonya dikarenakan gelombang terlalu cepat sehingga penyesuaian

 pengukuran dengan pembacaan menjadi sulit. Untuk itu dipilih gelombang

dengan tampilan yang mudah dilihat. Bentuk gelombang yang didapat,

memberikan respon yang baik seiring dengan jarak yang diukur. Dari

 percobaan didapatkan bahwa semakin jauh jarak yang diukur, maka lebar 

 pulsa semakin besar.

4.2 Pengujian Respon Sensor Kompas

4.2.1 TujuanPengujian

1. Mengetahui pembacaan posisi kompas secara langsung melalui protokol

I2C.

2. Mengetahui posisi kompas dari gelombang pulsa PWM yang didapat.

3. Mencocokkan hasil pembacaan dengan perhitungan.

4.2.2 Target Pengujian

Memperoleh gelombang pulsa yang mewakili pembacaan posisi magnet.

4.2.3 Data Lingkungan Pengujian

a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok 

b. Tanggal Pengujian : 18 Juli 2008

c. Waktu Pengujian : 13.30 WIB – 15.30 WIB

d. Pelaksana : Yeyes Ristintares

4.2.4 Konfigurasi Pengujian

Osilosk Osilosk 

35

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 36/53

Gambar 4.2 Konfigurasi pengujian kompas

4.2.5 Peralatan Pengujian

Tabel 4.3 Daftar peralatan pengujian modul kompas

No Nama Alat Merk Tipe Fungsi

1Power supply5 V

Leybold-Heraeus

Sumber tegangan 5 Volt

2 Osiloskop TektronixTDS

1002Melihat bentuk pulsa hasilnavigasi

3Kabel BNC toCrocodile

- -Penghubung antaraosiloskop dengan modulkompas

4Kabel Banana

to Crocodile- -

Penghubung antara power supply dengan kontroler danmodul kompas

4.2.6 Langkah Pengujian

a. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.

 b. Menyusun konfigurasi pengujian seperti gambar 4.2

c.  Power supply dinyalakan dengan memastikan bahwa tegangan

 supply adalah 5 Volt.

d. Program pembacaan register kompas diketik pada tool codevision

AVR, lalu dicompile dan didownload ke modul mikrokontroler (minimum

sistem).

e. Hasil pengujian diamati pada osiloskop dan digambarkan pada

data hasil pengujian.

f. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke

tempat semula.

 4.2.7 Data Hasil Pengujian

Tabel 4.4 Pulsa pembacaan posisi sudut 

Posisi

sudut

(0)

Nilai

binerBentuk gelombang Spesifikasi

0 0Volt / div = 2 VTime / div = 10 msPeriode (T) = 66 ms

Jml strip/T = 33Strip tH = 1

36

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 37/53

Strip tL = 32

45 30

Volt / div = 2 VTime / div = 25 msPeriode(T) = 70.3 ms

Jml strip/T = 14Strip tH = 1Strip tL = 13

90 60

Volt / div = 2 VTime / div = 25 msPeriode (T) =74.6 msJml strip/T = 15Strip tH = 2Strip tL = 13

Posisi

sudut

(0)

Nilai

binerBentuk gelombang Spesifikasi

37

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 38/53

135 100

Volt / div = 2 VTime / div = 25 msPeriode (T) = 78.7 msJml strip/T = 16Strip tH = 3

Strip tL = 13

180 130

Volt / div = 2 VTime / div = 25 msPeriode (T) = 84.2 ms

Jml strip/T = 17Strip tH = 4Strip tL =13

225 160

Volt / div = 2 VTime / div = 25 msPeriode (T) =87.1 msJml strip/T = 17.5Strip tH = 4.5Strip tL = 13

Posisi

sudut

(0)

Nilai

binerBentuk gelombang Spesifikasi

38

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 39/53

270 190

Volt / div = 2 VTime / div = 25 msPeriode (T) = 94 msJml strip/T = 19Strip tH = 6

Strip tL = 13

315 220

Volt / div = 2 VTime / div = 25 msPeriode (T) = 98.2 ms

Jml strip/T = 20Strip tH = 7Strip tL = 13

360 255

Volt / div = 2 V

Time / div = 25 msPeriode(T)= 101.7 msJml strip/T = 20Strip tH = 7Strip tL = 13

4.2.8 Analisa Hasil Pengujian

Sinyal PWM yang dihasilkan kompas merupakan sinyal yang lebar pulsanya

dapat berubah–ubah. Pulsa berlogika ’1’ (tH) menyatakan derajat. Lebar pulsa

 berlogika ’1’ bervariasi antara 1 mili-detik (untuk 00) sampai 36,99 mili-detik 

(untuk 359,90). Dengan kata lain, kompas memiliki resolusi 100 mikro-detik 

tiap 1 derajat dengan offset sebesar 1 mili-detik. Setelah itu, sinyal kemudian

akan berlogika ’0’. Lebar pulsa berlogika low (tL) besarnya selalu sama untuk 

39

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 40/53

tiap posisi sudut yaitu sebesar 65 mili-detik. Jadi, perioda sinyal PWM adalah

65 mili-detik ditambah lebar sinyal berlogika ’1’.

1) posisi sudut = 00

tH = ( strip tH x T ) / jml strip = ( 1 x 66 ms ) / 33 = 2 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 2 ms – 1 ms ) / 100 µs

= 1 ms / 0,1 ms

= 10

tL = T - tH = 66 ms – 2 ms = 64 ms

2) posisi sudut = 450

tH = ( strip tH x T ) / jml strip = ( 1 x 70,3 ms ) / 14 = 5,02 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 5,02 ms – 1 ms ) / 100 µs

= 4,02 ms / 0,1 ms

= 40,02

tL = T - tH = 70,03 ms – 5,02 ms = 65,01 ms

3) posisi sudut = 900

tH = ( strip tH x T ) / jml strip = ( 2 x 74,6 ms ) / 15 = 9,95 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 9,95 ms – 1 ms ) / 100 µs

= 8,95 ms / 0,1 ms

= 89,5

tL = T - tH = 74,6 ms – 9,95 ms = 64,65 ms

4) posisi sudut = 135

0

tH = ( strip tH x T ) / jml strip = ( 3 x 78,7 ms ) / 16 = 14,75 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 14,75 ms – 1 ms ) / 100 µs

= 13,75 ms / 0,1 ms

= 137,5

tL = T - tH = 78,7 ms – 14,75 ms = 63,95 ms

5) posisi sudut = 1800

tH = ( strip tH x T ) / jml strip = ( 4 x 84,2 ms ) / 17 = 19,81 ms

40

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 41/53

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 19,81 ms – 1 ms ) / 100 µs

= 18,81 ms / 0,1 ms

= 188,1

tL = T - tH = 84,2 ms – 19,81 ms = 64,39 ms

6) posisi sudut = 2250

tH = ( strip tH x T ) / jml strip = ( 4,5 x 87,1 ms ) / 17,5 = 22,39 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 22,39 ms – 1 ms ) / 100 µs

= 21,39 ms / 0,1 ms

= 213,9tL = T - tH = 87,1 ms – 22,39 ms = 64,71 ms

7) posisi sudut = 2700

tH = ( strip tH x T ) / jml strip = ( 6 x 94 ms ) / 19 = 29,68 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 29,68 ms – 1 ms ) / 100 µs

= 28,68 ms / 0,1 ms

= 286,8tL = T - tH = 94 ms – 29,68 ms = 64,32 ms

8) posisi sudut = 3150

tH = ( strip tH x T ) / jml strip = ( 7 x 98,2 ms ) / 20 = 34,37 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= 34,37 ms – 1 ms ) / 100 µs

= 33,37 ms / 0,1 ms

= 333,7tL = T - tH = 98,2 ms – 34,37 ms = 63,83 ms

9) posisi sudut = 3600

tH = ( strip tH x T ) / jml strip = ( 7,5 x 101,7 ms ) / 20,5 = 37,2 ms

 posisi sudut (0)= ( lebar pulsa tH – offset ) / resolusi

= ( 37,2 ms – 1 ms ) / 100 µs

= 36,2 ms / 0,1 ms

= 362

41

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 42/53

tL = T - tH = 101,7 ms – 37,2 ms = 64,5 ms

4.3 Pengujian Respon Sensor Thermall Array

4.3.1 Tujuan Pengujian

1. Mengetahui pembacaan suhu secara langsung melalui protokol I2C.

2. Mencocokkan hasil pembacaan dengan ketentuan.

4.3.2 Target Pengujian

Memperoleh gelombang I2C yang dipengaruhi oleh api.

4.3.3 Data Lingkungan Pengujian

a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok 

b. Tanggal Pengujian : 18 Juli 2008

c. Waktu Pengujian : 13.30 WIB – 15.30 WIB

d. Pelaksana : Yeyes Ristintares

4.3.4 Konfigurasi Pengujian

Gambar 4.3 Konfigurasi pengujian termal array

4.3.5 Peralatan Pengujian

Tabel 4.5 Daftar peralatan pengujian termal array

42

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 43/53

No Nama Alat Merk Tipe Fungsi

1Power supply5 V

Leybold-Heraeus

Sumber tegangan 5 Volt

2 Osiloskop Tektronix TDS 1002BMelihat bentuk pulsahasil navigasi

3Kabel BNC toCrocodile

- -Penghubung antaraosiloskop dengan modultermal array

4Kabel Bananato Crocodile

- -

Penghubung antara power supply denganmikrokontroler danmodul termal array

4.3.6 Langkah Pengujian

a. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.

 b. Menyusun konfigurasi pengujian seperti gambar 4.3

c.  Power supply dinyalakan dengan memastikan tegangan supply

adalah 5 Volt.

d. Program pembacaan register   thermall array diketik pada tool

codevision AVR, lalu dicompile dan didownload  ke modul

mikrokontroler 

(minimum sistem).

e. Hasil pengujian diamati pada osiloskop dan digambarkan padadata hasil pengujian.

f. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ke

tempat semula.

 4.3.7 Data Hasil Pengujian

Tabel 4.6 Respon perubahan suhu terhadap api

Kon-

disi

Pembacaan Suhu pada tiap

pixel

Bentuk gelombang output (SDA) Spe-

sifikasi

Tdk 

ada

api

Volt/div= 2 VoltTime/div= 2,5 ms

Kon- Pembacaan Suhu pada tiap Bentuk gelombang output (SDA) Spe-

43

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 44/53

disi pixel sifikasi

Ada

api

Volt/div= 2 Volt

Time/div= 2,5 ms

4.4 Pengujian Tegangan Output PWM

4.4.1 TujuanPengujian

1. Mengetahui bentuk gelombang PWM yang dihasilkan mikrokontroler 

Atmega8535.

2. Mengetahui respon gelombang PWM dengan persentase yang berbeda -

 beda.

3. Mencocokkan hasil pembacaan dengan perhitungan.

4.4.2 Target Pengujian

Memperoleh data gelombang PWM.

4.4.3 Data Lingkungan Pengujian

a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok  

 b. Tanggal Pengujian : 31 Juli 2008

c. Waktu Pengujian : 14.30 WIB – 16.00 WIB

d. Pelaksana : Yeyes Ristintares

4.4.4 Konfigurasi Pengujian

44

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 45/53

Gambar 4.4 Konfigurasi pengujian PWM 

4.4.5 Peralatan Pengujian

Tabel 4.7 Daftar peralatan pengujian PWM 

No Nama Alat Merk Tipe Fungsi

1Power supply

5 VLeybold-Heraeus

Sumber tegangan 5 Volt

2 Osiloskop Tektronix TDS 1002B Melihat bentuk pulsa

3Kabel BNC to

Crocodile- -

Penghubung antaraosiloskop dengan pinmikrokontroler 

4Kabel Bananato Crocodile

- -Penghubung antara

 power supply denganmikrokontroler 

4.4.6 Langkah Pengujian

1. Alat dan modul yang dibutuhkan disiapkan terlebih dahulu.

2. Menyusun konfigurasi pengujian seperti gambar 4.4

3.  Power supply dinyalakan dengan memastikan tegangan  supply

adalah 5 Volt.

4. Program pemberian pulsa PWM diketik pada tool codevision

AVR, lalu dicompile dan didownload ke modul mikrokontroler (minimum

sistem).

5. Hasil pengujian diamati pada osiloskop dan digambarkan pada

data hasil pengujian.

6. Setelah selesai, semua peralatan dirapihkan dan dikembalikan ketempat semula.

45

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 46/53

4.4.7 Data Hasil Pengujian

Tabel 4.8 Bentuk pulsa PWM dari mikrokontroler 

PWM

(%)Bentuk gelombang Spesifikasi

10

Volt/div = 2VTime/div= 250 µsPeriode(T) = 1 msJml strip 1 T = 20Strip tH = 2,5Strip tL = 17,5

20

Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 4,5Strip tL = 15,5

30 Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 6,5Strip tL = 13,5

46

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 47/53

PWM

(%)Bentuk gelombang Spesifikasi

40

Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 8,5Strip tL = 11,5

50

Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 10,5Strip tL = 9,5

60 Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 12,4Strip tL = 7,6

47

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 48/53

PWM

(%)Bentuk gelombang Spesifikasi

70

Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH = 14,5Strip tL = 5,5

80

Volt/div = 2VTime/div= 250 µsPeriode(T)= 1 msJml strip 1 T = 20Strip tH =16,5,5Strip tL = 3,5

90

Volt/div = 2VTime/div= 500µsPeriode(T)= 1 msJml strip 1 T = 10Strip tH = 8,2Strip tL = 1,8

48

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 49/53

PWM

(%)Bentuk gelombang Spesifikasi

100

Volt/div = 2VTime/div= 500 µs

Periode(T)= ~Jml strip 1 T = tH

Strip tL = 0

4.4.8 Analisa Hasil Pengujian

Persentase PWM = duty cycle = %100xtt

t

LH

H

+→ LH

tt + = periode

Untuk memudahkan perhitungan, analisa lebar pulsa dinyatakan dalam

 jumlah strip tiap pulsa dibagi jumlah strip pulsa dalam satu periode. Ini akan

menghasilkan pembagi yang sama bila dinyatakan dalam skala detik. Namun

  bila menggunakan skala detik, perhitungannnya akan melalui tahap yang

 panjang.

Vrata-rata = tegangan output yang dikeluarkan mikrokontroler disesuaikan

dengan besarnya persentase PWM.

Vrata-rata = PWM x Vin → Vin = 5 Volt

1) PWM = 10% → Vrata-rata = 10% x 5 V = 0,5 V

Analisa pembacaan: PWM =%100x

17,52,5

2,5

+ = 12,5 %Vrata-rata = 12,5% x 5 V = 0,625 V

2) PWM = 20% → Vrata-rata = 20% x 5 V = 1 V

Analisa pembacaan: PWM = %100x15,54,5

4,5

+= 22,5 %

Vrata-rata = 22,5% x 5 V = 1,125 V

3) PWM = 30% → Vrata-rata = 30% x 5 V = 1,5 V

Analisa pembacaan: PWM = %100x13,56,5

6,5

+= 32,5 %

49

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 50/53

Vrata-rata = 32,5% x 5 V = 1,625V

4) PWM = 40% → Vrata-rata = 40% x 5 V = 2 V

Analisa pembacaan: PWM = %100x

11,58,5

8,5

+

= 42,5 %

Vrata-rata = 42,5% x 5 V = 2,125 V

5) PWM = 50% → Vrata-rata = 50% x 5 V = 2,5 V

Analisa pembacaan: PWM = %100x9,510,5

10,5

+= 52,5%

Vrata-rata = 52,5% x 5 V = 2,625 V

6) PWM = 60% → Vrata-rata = 60% x 5 V = 3 V

Analisa pembacaan: PWM = %100x7,612,4

12,4

+= 62 %

Vrata-rata = 62% x 5 V = 3,1 V

7) PWM = 70% → Vrata-rata = 70% x 5 V = 3,5 V

Analisa pembacaan: PWM = %100x15,514,5

14,5

+= 72,5%

Vrata-rata = 72,5% x 5 V = 3,625 V

8) PWM = 80% → Vrata-rata = 80% x 5 V = 4 V

Analisa pembacaan: PWM = %100x3,516,5

16,5

+= 82,5 %

Vrata-rata = 82,5% x 5 V = 4,125 V

9) PWM = 90% → Vrata-rata =90% x 5 V = 4,5 V

Analisa pembacaan: PWM = %100x1,88,2

8,2

+ = 82 %

Vrata-rata = 82% x 5 V = 4,1 V

10) PWM = 100% → Vrata-rata = 100% x 5 V = 5 V

Analisa pembacaan: PWM = %100x1 = 100 %

Vrata-rata = 100% x 5 V = 5 V

4.5 Pengujian Fungsional Robot

50

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 51/53

4.5.1 TujuanPengujian

Mengetahui keberhasilan program yang telah dibuat

4.5.2 Target Pengujian

Mengetahui kekurangan program yang dibuat dan dapat memperbaiki atau

memodifikasinya.

4.5.3 Data Lingkungan Pengujian

a. Lokasi Pengujian : Laboratorium Elektronika PNJ, Depok 

 b. Tanggal Pengujian : 7 Agustus 2008

c. Waktu Pengujian : 12.30 WIB – 15.30 WIB

d. Pelaksana : Yeyes Ristintares

4.5.4 Konfigurasi Pengujian

Gambar 4.5 Konfigurasi pengujian fungsional robot 

4.5.5 Peralatan Pengujian

Tabel 4.9 Daftar peralatan pengujian fungsional robot 

No Nama Alat Merk Tipe Fungsi

1 Robot Trevor_G Robot yang akan diuji

2 Stopwatch Nokia 1325Mengetahui waktu kerjarobot

3 Lapangan KRCISebagai denah lintasanrobot

51

 Robot 

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 52/53

4.5.6 Langkah Pengujian

1. Peralatan yang dibutuhkan disiapkan terlebih dahulu.

2. Menyusun konfigurasi pengujian seperti gambar 4.5

3. Robot posisi siaga dan mempersiapkan penghitung waktu( stopwatch)

4. Robot start .

5. Hasil pengujian diamati pada  stopwatchp dan dimasukkan pada

data hasil pengujian.

6. Setelah selesai, semua peralatan dirapihkan.

 4.5.7 Data Hasil Pengujian

Tabel 4.10 Performa robot memadamkan api

Keberadaan

Api

Keberhasilan memadamkan

api

(dari 5 kali percobaan)

Waktu rata-rata (detik)

Ruang 1 5 kali 13,53

Ruang 2 3 kali 47

Ruang 4 2 kali 90,47

Tabel 4.11 Performa robot menemukan bayi

Keberadaan

Bayi

Keberhasilan menemukan

bayi

(dari 5 kali percobaan)

Waktu rata-rata (detik)

Ruang 3 4 kali 77,3

52

5/10/2018 New Mantan Pogez TA_Q n Calon Buku tA_Qq - slidepdf.com

http://slidepdf.com/reader/full/new-mantan-pogez-taq-n-calon-buku-taqq 53/53

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil pengujian, dapat disimpulkan :

1. Output pulsa dari modul SRF04 merupakan waktu tempuh yang didapat dari hasil

 pemantulan benda yang diukur. Untuk mendapatkan jarak dari waktu tempuh

yang dihasilkan yaitu dengan cara: waktu tempuh dibagi dengan 29 mikrodetik 

karena waktu tempuh untuk jarak 1 cm adalah 29 mikrodetik dengan acuan cepat

rambat suara diudara sekitar 34399,22 cm/detik.

2. Lebar pulsa PWM (  Pulse Width Modulation) untuk input motor DC yang

dihasilkan oleh mikrokontroler sesuai dengan perancangan.

3. Berdasarkan hasil pengujian sensor jarak dan lebar pulsa PWM, telah didapatkan

hasil yang sesuai dengan perencanaan, sehingga robot dapat bergerak dengan baik 

untuk menelusuri lorong dan memasuki setiap ruangan tanpa menyentuh dinding,

kemudian memadamkan api disalah satu ruangan yang diletakkan secara acak dan

 juga dapat mendeteksi keberadaan bayi.

53