You are on page 1of 0

-

1



MIKROKONTROLER DAN ROBOTIKA

Oleh

TIM URO

















-
2
1. PENGENALAN ROBOT


Apakah Robot itu?
Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik
menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program
yang telah didefinisikan terlebih dulu .


Tujuan Dari Robot?

Menciptakan tenaga kerja yang berkinerja tinggi dan dapat bekerja 24 jam.
Untuk menjalankan pekerjaan yang memerlukan ketelitian tinggi.
Menggantikan manusia dalam pekerjaan yang bersifat selalu berulang-
ulang
Untuk dapat bekerja pada tempat yang berbahaya bagi manusia
Sebagai media entertainment (hiburan) bagi manusia


Bentuk Dan Jenis Robot?

Humanoid : Bentuk robot ini menyerupai manusia. Memiliki dua kaki,
memiliki tangan, seperti manusia.
Animaloid : Bentuk robot ini menyerupai binatang, memiliki prilaku
seperti binatang dan bergerak seperti binatang.
Mesin : bentuk robot ini biasanya tergantung kebutuhan atau
fungsi robot itu.
Vehicles : bentuk robot ini memiliki roda.





Cara Membuat Robot?
Dalam pembuatan Robot dilakukan 3 Tahap yaitu:

1. Tahap Mekanik
Ditahap ini robot dibuat bentuk dan rangkanya terlebih dahulu dengan
mempertimbangkan banyak hal. Dan rancangan bentuk harus sesuai
dengan tujuan utama robot itu dibuat untuk apa

2. Tahap Elektronika
Ditahap ini, robot dilengkapi dengan elektronika yang akan
digunakan untuk bergeraknya robot. Termasuk Motor Roda,MC, Sound
Detector, Optocoupler, Sensor sensor.
Untuk pembuatan rangkaian elektronika ini dapat dengan menggunakan
perhitungan atau juga tersedia di internet.

-
3
3. Tahap Programing
Tahap ini merupakan tahap terakhir yang dilakukan karena untuk
melihat hasil dari tahap ini harus melewati 2 tahap sebelumnya.
Tahap programing ini juga memiliki tahapan tersendiri yaitu
pembuatan Algoritma, Pembuatan Kode Program, Kompilasi Program
Dan Download Program ke MicroControler.


Microcontroler, Sensor Dan Komponen

Sensor merupakan sebuah tools yang digunakan untuk mendeteksi suatu
element. Yang ada pada robot Unila, terdapat 2 Sensor, yaitu sensor jarak
(Ultrasonic Ping) dan sensor panas(TPA81).
Komponen yang digunakan pada robot ini yaitu Microcontroler Place
Holder, Rangkaian Optocoupler, Motor Driver, Sound Activation, Relay
on-Off dan Power Suplay

Microcontroller
Microcontroller ialah sebuah komponen elektronika yang digunakan untuk
mengatur gerak robot dengan cara diprogram. MicroControler ini juga
dapat disebut sebagai sebuah Otak dari robot. Karena dengan
microcontroler inilah robot dikendalikan.
Microcontroler yang saat ini menjadi favorit ialah jenis AtMega8535,
Atmega16, Atau Atmega32.

IC Microcontroler atmega 8535 dan sejenisnya ini dapat di isi program
hasil Kompilasi sebuah bahasa pemrograman yang disebut C AVR.

Jadi setiap perintah yang akan robot lakukan kita setting dengan
bahasa pemrograman C. kemudian hasil kompilasi dari bahasa C ini kita
Masukan ke Microcontroler dengan menggunakan sebuah alat yang diberi
nama Donwloader.
















-
4

BAB I PENGENALAN DENGAN MICROCONTROLER(C)


A. Karakteristik Utama Microcontroler

Microcontroler adalah sebuah device elektronika yang sangat penting
dalam dunia robotika saat ini. Dimana komponen ini berperan sebagai
sebuah otak sebuah robot. Didalam MC terdapat juga microprosesor yang
memproses data input dan menghasilkan data output.

Data Input ialah data yang dihasilkan dari luar dan masuk sebagai sebuah
data yang akan di proses dalam sebuah microcontroler. Dimana proses
dalam microcontroler ini meliputi penerjemahan input-periksa kondisi-
Prosesi-ouput.Sebagai sebuah contohnya dalam aplikasi robot yaitu.
Sebuah sensor panas mendeteksi panas sebesar 45
o
, kemudian data ini
masuk kedalam microontroler dan diterjemahkan oleh Microprosesor dan
kemudian diperiksa kondisi yang akan dikeluarkan sebagai data output,
suhu 45
o
merupakan suatu kondisi, kemudian jika kondisi yang diharapkan
oleh programer yaitu jika suhu lebih besar dari 40
o
maka output yaitu
menghidupkan kipas, dan kondisi diatas dimana suhu 45
o
lebih besar dari
45
o
maka data keluaran adalah menghidupkan kipas.

Dalam pembahasasn ini dan seterusnya Microntroler yang digunakan
adalah AtMega8/8535/16/32.dari ke 4 Jenis MC ini hanya AtMega 8 yang
memiliki kaki lebih sedikit dari yang lainya. Hanya memiliki 28 Pin kaki
sedangkan AtMega 8535/16/32 memiliki 40 Pin (kaki). Pada AtMega 8
Tidak terdapat PORTA seperti Atmega Lainya sedangkan yang tersedia
hanya PORTB,PORTC,PORTD. Namun karakteristik MP(Microprosesor)
dari 4 jenis MC ini hampir sama persis hanya kapasitas memorynya yang
berbeda, sehingga dalam penulisan kode programnya tidak ada bedanya.
Berikut adalah karakteristik dari masing masing atmega
Atmega8



-
5

AtMega8535/16/32


Pada gambar diatas dapat dilihat setiap Pin(Kaki) memiliki nama-nama.
Dan nama-nama tersebut memiliki fungsi khusus. Seperti OCR1A sebagai
penghasil pulsa dalam nilai 10 Bit(0-1023), OCR1B, INT(Interupt)
sebagai penerima pulsa dengan besar nilai Interger 16 Bit (0-65535).
Namun semua Pin juga memiliki kesamaan fungsi yaitu dapat sebagai
input atau sebagai Output bergantung dari kode program yang ditulis.


B. Hubungan Bahasa C AVR Dan Microcontroler

Bahasa C, ialah salah satu dari sekian bahasa pemrograman yang dapat
dimengerti oleh Microcontroler. Software yang biasa digunakan adalah
software AVR STUDIO dan CodeVision, antara AvrStudio dan Code
Vision terdapat beberapa penulisan kode Program yang berbeda, sehingga
jika dicompile dapat terjadi error yang dapat membuat anda bingung
nantinya. Sehingga kita tetapkan disini Software yang digunakan adalah
















-
6


BAB II BERKENALAN DENGAN AVR STUDIO


Avr Studio ialah software yang digunakan untuk memprogram
microcontroller produksi AVR Atmel. Dengan menggunakan bahasa
pemrograman C, yang pada umumnya mudah dimengerti. Karena bahasa
C ialah bahasa tingkat rendah,yang dimakasudkan ialah bahasa yang
mudah digunakan dan dimengerti. Tidak seperti bahasa Assembly yaitu
bahasa tingkat tinggi.

AVR Studio tidak berdiri sendiri dalam penggunaanya, Avr studio masih
membutuhkan software WinAVR sebagai Compillernya. Jadi juga
disertakan software winAvr disetiap software AVRStudio.

a. Library Standard dan Tambahan
Dalam bahasa C pada Umumnya, dapat anda lihat setiap awal kode
program pasti ada kode seperti ini

#include <namafilelibrary.h>

Hal ini maksudnya adalah kode khusus program yang akan digunakan
harus memiliki fungsi yang sudah di definisikan sebelumnya. Dan
pendefinisian itu sudah dimasukan dalam namafilelibrary.h tersebut.

Dalam AVR Studio juga sudah di sediakan library yang sudah
mendifinisikan fungsi fungsi Micrcontroler, yaitu

#include <avr / io.h>

Dimana didalam library ini juga sudah dikaitkan dengan library-library
standard yang lain yang dibutuhkan oleh Compiler. Sehingga kita
tidak perlu lagi memanggil setiap library standard tersebut.

Selain library standard juga terdapat library tambahan, library
tambahan merupakan library yang kita buat sendiri. Hal ini bertujuan
untuk mempermudah dalam pembagian penulisan dan membuat
penulisan kode program menjadi lebih rapi.contoh penulisan library
tambahan

#include namafilelibrarykamu.h

Maksud dari tanda petik ini menunjukan bahwa file yang dijadikan
library berada dalam satu folder dengan file kode program utama.



-
7


b. Fungsi Mostly Used
Fungsi Mostly Used ialah fungsi yang paling sering digunakan. Dalam
pemrograman microcontroler untuk aplikasi robotika, fungsi fungsi
yang paling sering digunakan adalah
if else . Penulisanya :
If (sebab)
{akibat;}
Else
{akibat3;}
Maksud dari fungsi ini ialah jika input memberikan sebab dengan
bernilai benar maka akan menghasilkan akibat sebagai data
keluaran dan jika sebab bernilai salah maka akibat3 sebagai
Output.
If-else if-else. penulisanya :
if (sebab)
{akibat;}
else if (sebab2)
{akibat2;}
else
{akibat3;}
Maksud dari fungsi ini ialah jika input memberikan kondisi dengan
bernilai benar maka akan menghasilkan akibat sebagai data
keluaran dan jika kondisi bernilai salah maka akan memeriksa
sebab2, jika sebab2 bernilai benar maka akan menghasilkan
akibat2 sebagai Output namun jika semua kondisi salah maka
akibat3 sebagai Output.



while (1)
Maksud dari fungsi ini ialah pengulangan (loop) tanpa batas. Jadi
program akan melakukan perulangan selama Microcontroler masih
memiliki daya untuk terus mengeksekusi intruksi program.

while (kondisi) Penulisanya :

while (kondisi=True)
{Akibat;}

Maksud dari fungsi ini ialah program akan melakukan pengulangan
selama kondisi bernilai benar. Dan jika kondisi salah maka
program akan keluar dari looping dan mengeksekusi baris
selanjutnya.



-
8
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
. . . . . .
_delay_ms(1000); //1000 milisecond.
. . . . . .
_delay_us(1000); //1000 mikrosecond
. . . . . .
}

Beda PIN,PORT,DDR

PIN ialah setiap kaki yang ada pada sebuah mikro,sebagai contoh
PINA1(dapat ditulis PA1) ialah kaki yang terdapat dalam PORTA
dan kaki ke 1.

PORT ialah bagian bagian berupa huruf yang ada pada sebuah
mikro sebagai contoh PORTA,PORTB,PORTC,PORTD. Tapi jika
kita menyebutkan kaki pada PORTA (contoh : PORTA1 ) ini sama
dengan PINA1.

DDR(Data Direct Register) ialah bagian yang menentukan PIN
tersebut sebagai masukan(input) atau sebagai keluaran(output).


Keluaran bernilai 1
Masukan bernilai 0

Sebagai contoh jika kita ingin membuat PINA0 sebgai masukan
dan PINB1,PINB2 dst sebagai keluaran maka kita dapat menulis








Timer Counter

Timer Counter ialah fasilitas yang terdapat dalam mikrokontroler
yang berfungsi sebagai waktu,sehingga kita dapat menggunakan
mikro untuk menghitung delay (waktu tunda) atau bahkan
membuat jam digital dengan menggunakan mikro ini.
Contoh penggunaan timer sederhana :






int main(void)
{
DDRB = 0b11111110;
. . . . . . . .
}

-
9
c. Pembuatan Algoritma

Pembuatan Algoritma Sangatlah penting dalam Robotika, karena anda
tidak dapat menulis program dengan baik tanpa algoritma. Algoritma
merupakan suatu metode membentuk suatu keadaan/kondisi menjadi
suatu blok blok diagram, sehingga dengan blok blok diagram ini alur
pemrograman anda akan menjadi jelas, dan penulisan kode program
akan menjadi sangat mudah (ref:dx-077). Mengingat sangat
pentingnya algoritma dalam pemrograman, maka sebaiknya saya
perkenalkan blok-blok diagram tersebut untuk mempermudah
pemahaman anda dalam memahami algoritma.


























START/STOP
Blok yang menyatakan mulai atau berhentinya suatu algoritma
DECISION/KEPUTUSAN
Blok yang menyatakan 2 pilihan
keadaan yaitu
Ya dan Tidak
Benar dan Salah
PROSES
Blok ini menggambarkan suatu prosesi suatu keadaan. Sehingga kode
yang memproses keadaan terdapat dalam blok ini.
-
10


C. Ponyprog Program Downloader

Ponyprog ialah suatu software yang digunakan untuk mendownload
program hasil compile oleh Avrstudio kedalam microcontroler.
Cara menggunakan Ponyprog sangatlah mudah. Cukup memilih tipe
Microcontroler, Cek Kabel Downloader Terhubung atau tidak, Open
*.Hex(Hexadesimal) atau *.eep(eeprom File) yang merupakan File hasil
Compile avr studio. Lalu Klik Write Flash dan masuklah program anda
tersebut kedalam Microcontroler.Software Ponyprog merupakan software
gratisan yang dapat anda download dari internet.Ponyprog ini digunakan
jika kita menggunakan downloader paralel DB25 atau serial DB9.























Input
Blok yang menyatakan adanya Input Masuk
Output
Blok yang menyatakan output dari sebuah
keadaan yang diproses
-
11
BAB III. LATIHAN I MENGGUNAKAN
PEMROGRAMAN BAHASA C AVR DENGAN LED


Agar lebih mudah memahami sesuatu sebaiknya kita perlu latihan atau
praktik. Dengan latihan ini kita dapat belajar dari kesalahan kesalahan yang
dilakukan dan dapat mengingatnya dikemudian hari.

Untuk latihan pemrograman ini kita akan menggunakan LED sebagai
indikator outputnya.sedangkan untuk inputnya sendiri kita dapat gunakan
potensiometer atau push Button High Atau Low. Sebagai media rangkaianya kita
menggunakan Project Board.


1. Menghidupkan dan Mematikan LED secara periodik.

Tujuan dari latihan ini ialah agar siswa mengetahui cara menggunakan
logika High atau Low.

Alat dan Bahan :

1. Project Board (1 buah)
2. lampu LED ( 1 Buah )
3. Kabel Jumper Secukupnya
4. Kabel Downloader
5. Microcontroler (1 Buah)

Cara kerja :
1. Rangkai project board seperti skematik berikut ini :


-
12
2. Ketik Program Berikut ini



















3. Download Program tersebut kedalam Microcontroler.

4. Lihat hasilnya


2. Menghidupkan Dan mematikan lebih dari satu buah LED secara
bergantian

Tujuan dari latihan ini agar siswa dapat mengerti cara menghidupkan dan
mematikan lebih dari satu buah LED.
Alat dan Bahan :

1. Project Board (1 buah)
2. lampu LED ( 3 Buah )
3. Kabel Jumper Secukupnya
4. Kabel Downloader
5. Microcontroler (1 Buah)

Cara Kerja :

1. Rangkai rangkaian seperti gambar berikut ini.
#include <avr/io.h>
#include <util/delay.h>

int main()
{
DDRA = 0b00000001;
while(1)
{
PORTA |=1<<PA0;
_delay_ms(1000);
PORTA &=~(1<<PA0);
_delay_ms(1000);
}
}
-
13

2. Ketik Program Berikut ini















-
14


5. Download Program tersebut kedalam Microcontroler.

6. Lihat hasilnya



Tugas :

1. Buat Program menghidupkan LED secara berurutan dan mati secara
berurutan.
2. Analisa mengapa jika diberi Low dia akan mati dan Jika diberi High
maka dia akan Nyala?
3. Jika Rangkaiannya seperti Berikut.Maka Program seperti apa yang
harus dibuat?

#include <avr/io.h>
#include <util/delay.h>

int main()
{
DDRA = 0b00000001;
while(1) //perintah looping
{
PORTA |=1<<PA0;
PORTA &=~(1<<PA1);
PORTA &=~(1<<PA2);
_delay_ms(1000);
PORTA &=~(1<<PA0);
PORTA |=1<<PA1;
PORTA &=~(1<<PA2);
_delay_ms(1000);
PORTA &=~(1<<PA0);
PORTA |=1<<PA2;
PORTA &=~(1<<PA1);
}
}

-
15






























-
16


BAB IV. MENGATUR KECEPATAN MOTOR DC DENGAN
MENGUNAKAN PWM TIMER-COUNTER 1


Seperti telah dijelaskan sebelumnya, timer counter ialah fasilitas yang disediakan
oleh mikrokontroler atmega8535. timer counter ini selain berfungsi sebagai
pembuat waktu delay dapat d\juga digunakan sebagai pengatur kecepatan motor.
Penggunaan timer counter ini biasa kita sebut PWM. Sehingga jika kita
menggunakan PWM.kita dapat mengatur kecepatan dari nol sampai fullspeed.

Untuk mengatur PWM motor kita dapat menggunakan Timer Counter 1 yang
memiliki 2 PIN yaitu PIND5 (OCR1A) dan PIND4(OCR1B).

Untuk mengatur PWM motor kita harus terlebih dahulu menginisialisasikan baris
program sebelum kita menggunakan baris program PWM dan jangan lupa
memberikan nilai keluaran pada DDR PWM.
Sebagai contoh :





















Untuk memanggil fungsi pada sebuah PWM maka dapat digunakan perintah

OCR1A = nilai;
OCR1B = nilai;

Nilai tersebut memiliki batasan yaitu dari 0 sampai 1023,
Dimana
0 = Kecepatan Fullspeed
#include <avr/io.h>

int main(void)
{
DDRD = 0b00110000;
//dibawah berikut adalah baris program inisialisasi
//============================================
TCCR1A = 0xF3; //pengertian disamping dapat
TCCR1b = 1; //dilihat didatasheet
TCNT1 = 0;
//============================================
. . . . . . . .
}
-
17
1023 = Berhenti (kecepatan Terendah)
Berikut adalah contoh penulisan program lengkap untuk memanggil fungsi PWM























Dari program diatas dapat diketahui bahwa kecepatan motor pada OCR1A atau
yang terhubung dengan PD5 adalah setengah dari kecepatan penuh. Dan pada
PD4(OCR1B) adalah mendekati kecepatan penuh


Latihan :
Buat Rangkaian seperti berikut :

#include <avr/io.h>

int main(void)
{
DDRD = 0b00110000;
//dibawah berikut adalah baris program inisialisasi
//============================================
TCCR1A = 0xF3; //pengertian disamping dapat
TCCR1b = 1; //dilihat didatasheet
TCNT1 = 0;
//============================================
While(1)
{
OCR1A = 512;
OCR1B = 134;
}
-
18


2. ketik Kode Program berikut




















3. Download ke microcontroller
4. Liat hasilnya dan ulangi dengan mengubah-ubah kecepatanya .























#include <avr/io.h>

int main(void)
{
DDRD = 0b00110000;
//dibawah berikut adalah baris program inisialisasi
//============================================
TCCR1A = 0xF3; //pengertian disamping dapat
TCCR1b = 1; //dilihat didatasheet
TCNT1 = 0;
//============================================
while(1)
{
OCR1A = 512;
OCR1B = 134;
}
}
-
19

BAB V. SENSOR



Sensor ialah suatu alat elektronika yang digunakan untuk mengubah
besaran fisis menjadi besaran elektris. Dengan menggunakan sensor, kita
dapat membuat suatu perangkat yang dapat mengenali lingkungan.
Sebagai contoh perangkat yang menggunakan sensor ialah Robot, AC,
Mouse Komputer,termometer digital dan masih banyak lainya perangkat
yang menggunakan sensor.

Pada bab ini kita akan berkenalan dan membuat alat yang menggunakan
sensor, sensor yang digunakan dapat berupa sensor
cahaya(Phototransistor)

Gambar: Sensor cahaya (phototransitor)

Sensor phototransitor ini pada robot biasanya digunakan pada robot line
follower. Dengan sensor ini robot dapat mendeteksi garis dengan warna
gelap dan warna terang.











Gambar : sensor phototransistor pada robot



Sensor cahaya ini mendeteksi perubahan cahaya, tiap cahaya dikeluarkan
hasil dalam bentuk setiap perubahan tegangan. Tegangan yang dihasilkan
dimulai dari 0-5 Volt. Namun dalam line follower yang diukur bukan
perubahan tegangannya namun berupa sinyal itu high atau low.


-
20


Sehingga dibutuhkan alat yang disebut komparator untuk mengubah
tegangan yang bervariasi tadi menjadi sinyal high low alat tersebut diberi
nama komparator, sesuai dengan namanya perangkat tersebut
membandingkan antara gelap atau terang saja.Namun untuk
mempermudah pelatihan kita dapat langsung menggunakan phototransitor
ini. Dengan syarat saat mencobanya harus di tutup dalam kondisi LOW
dan di beri cahaya terang untuk kondisi High.

A. Cara memprogram sensor phototransisor

Sensor merupakan inputan bagi mikro, sehingga dalam penulisanya
kita menggunakan DDRX = 0,

1. Alat Dan Bahan

Mikrokontroler
1 Phototransistor
LED
DOWNLOADER






2. Ketik Kode Program berikut









BAB III PENGENALAN TOOLS





#include <avr/io.h>

int main()
{
DDRA = 0b00000000; //PORTA Sebagai PORT Sensor
DDRB = 0b11111111; //PORTB sebagai Output/LED
While(1)
{
If (bit_is_set(PINA,0))
{PORTB = 0b00000001;}
Else
{ PORTB = 0b00000000; }
}
}

-
21




4. Download dan lihat hasilnya dengan cara menutupi atau menerangi sensor
dengan cahaya.

Tugas :
Buat Program hubungan antara 1 sensor dengan motor, Jika Sensor Terang
maka Motor Berjalan dan jika sensor Gelap maka motor mati.






































-
22

BAB VI. PENGENALAN TOOLS



Tools adalah alat yang digunakan dalam proses permbuatan robotika yang kita
gunakan. Dalam hal ini ada 2 jenis tools yang kita gunakan yaitu Tools untuk
Download File program ke Microcontroler dan Microcontroler Placeholder yang
digunakan sebagai wadah Microcontroler.

a. Tools For MC Downloader

Dalam proses Download program dibutuhkan suatu penghantar antara Komputer
dan Microcontroler.Seperti apakah penghantar itu? Sementara ini penghantar yang
kita gunakan adalah sebuah kabel penghubung yang disebut kable
Downloader.Mungkin suatu saat akan ada sebuah penghantar lain seperti
Bluetooth yang saat ini ada pada lego Mindstorm.

Terdapat beberapa jenis Kable Downloader yang dapat digunakan, tapi tergantung
dari Placeholder yang digunakan, seperti Misalnya PlaceHolder DT-LOWCOST
tidak dapat menggunakan Kabel downloader standard.

Pada dasarnya Kabel semua kabel downloader hanya memiliki 6 kabel yang
terhubung dengan Pin(kaki) MC. Yaitu

MOSI-MISO-SCK-RESET-VCC-GROUND
yang jika dituliskan Pin (kaki) nya adalah
PINB5-PINB6-PINB7-RESET-VCC-GROUND

Konfigurasi Pin Downloader diatas Untuk AtMega8535/16/32 sedangkan untuk
AtMega8 Konfigurasi PIN nya adalah

MOSI-MISO-SCK-RESET-VCC-GROUND
yang jika dituliskan Pin (kaki) nya adalah
PINB3-PINB4-PINB5-RESET-VCC-GROUND

Pada Jenisnya ada dua jenis kabel Downloader yaitu :
Kabel Downloader Paralel
Kabel Downloader Serial

Jenis Kabel Downloader ini berpengaruh pada setingan ponyprog. Sehingga jika
anda menggunakan kabel yang berbeda harus mengganti settingan pada
ponyprognya. Bagaimana sich cara membedakan antara Serial Dengan Paralel?
Hal ini dapat terlihat langsung dari bentuk Female konektor pada kabel
Downloader. Bentuk Female Conektror pada kabel Downloader Paralel Memiliki
bentuk yang lebih besar dari pada Kabel Downloader Serial. Seperti pada gambar
berikut.
-
23





b. Microcontroler PlaceHolder (MCPH)

Microcontroler Placeholder ialah tempat beradanya Microcontroler yang
terhubung dengan rangkaian rangkaian lain seperti sensor, roda, dan lain
lain. Guna dari MCPH ini adalah untuk menahan microcontroler tidak
lepas dengan kabel kabelnya.

Ada banyak jenis MCPH, sbagai contohnya MCPH DT-LOWCOST yang
dapat dibeli dengan harga diatas 300rb yang juga sudah satu paket dengan
Kabel downloadernya, tapi tenang saja bray ada juga kok MCPH standard
yang dapat dibuat sendiri, murah. Namun tentunya ada kekurangan jika
anda menggunakan MCPH Standard ini. Dari akibat yang pernah alami,
-
24
MCPH standard ini, dapat terjadinya tidak stabilnya tegangan yang masuk
kedalam MC dan dapat mempercepat perusakan MC, ketidak stabilan
tegangan ini dapat juga membuat MC melakukan hang (Program Error)
sehingga butuh tombol reset sehingga program harus mengeksekusi dari
awal baris lagi, kabel downloader yang digunakan adalah kabel
downloader standard yang juga dapat dibuat sendiri dengan biaya tidak
lebih dari 30rb( ref: dx-077).

c. Project Board

Project Board ialah alat yang digunakan untuk uji coba rangkaian sebelum
dijadikan rangkaian yang tercetak pada PCB. Dengan project board kita
bias meminimalisir kerugian yang diakibatkan oleh kesalahan dalam jalur.
Project board memerlukan kabel yang disebut kabel Jumper yang
fungsinya untuk menghubungkan jalur 1 dengan jalur yang lain. Kabel
jumper ini biasanya diambil dari kabel kabel lan.karena kabel lan lebih
kaku kabelnya.



Project Board ini dapat digunakan untuk komponen elektronika yang
standar ukuranya.sebagai contoh
LCD2x16,Potensiometer,IC,Microkontroler sensor2 dan lain-lain.












-
25
BAB VI DEVICE ROBOTIKA


Device Robotika ada banyak jenis device robotika, namun dikelompokan
dalam beberapa hal seperti Sensor, Roda, dan lain-lain. Sehingga dalam
pembahasan sub bab kali ini saya membaginya menjadi beberapa bagian.


A. Sensor

Sensor, setiap robot pasti memiliki sensor karena sensor merupakan proses
input. Sensor yang paling mudah dan murah ialah sensor yang terbuat dari
InfraRed (IR) dan Phototransistor. Contoh aplikasi dari sensor yang
terbuat dari IR dan phototransistor ialah sensor garis. Berikut adalah jenis
jenis sensor yang biasa digunakan di robotika Indonesia.

a. Sensor Jarak

Sensor jarak ialah sensor yang mendeteksi jarak suatu daerah atau area.
Ada banyak jenis sensor jarak. Di Robotika Unila, sensor yang sering
kita gunakan adalah Ultrasonic Ping)). Ultrasonic Range Finder, itu
nama lengkapnya. Harga sensor Ultrasonic Ping)) ini adalah US $ 29.
dan dapat dibeli di Indonesia di Toko Online Digiware. Web :
http://digiware.com ( ref: dX-077). Lalu bagaimanakah cara
menggunakan ultrasonic Ping)) ini?


Gambar 3.1 Ping Paralax Sensor

Dalam penggunaan setiap komponen di robotika, hal yang paling
utama ialah kita harus memahami terlebih dahulu karakteristik dari
setiap komponen atau device tersebut. Hal ini sangat dianjurkan,
malah saya wajibkan. Mengingat betapa pentingya hal ini. Untuk
melihat karakteristik dan semua informasi dapat anda melihat
datasheet komponen elektronika tersebut. Datasheet ialah file yang
berisi semua informasi tentang suatu komponen Elektronika. Datasheet
-
26
dapat anda download dari internet dengan gratis,
http://alldatasheet.com (ref:dX-077). Setiap komponen elektronika
pasti memiliki datasheet walaupun hanya sebuah resistor.

Pada Ping)) karakteristik utama yang perlu diketahui yaitu:
a. Terdapat tiga buah kawat penghubung, dengan susunan SiGnal-
5Vdc-Ground. Susunan ini tidak boleh terbalik.Sumber Listrik
yang dibutuhkan ialah 5V DC.sumber listrik ini sebaiknya tidak
kurang dan tidak lebih terlalu banyak. Jika kelebihan tegangan
akan merusakan Ping)) dan jika kekurangan tegangan akan
membuat Ping tidak akurat dalam mendeteksi jarak. Kabel signal
dihibungkan dengan salah satu pin MC. Kabel signal ini ialah
kabel yang digunakan sebagai penghubung yang mengirimkan dan
menerima signal hasil jarak yang diperoleh untuk di proses di
microcontroler.

b. Untuk mendapatkan jarak dapat dilakukan perhitungan hal seperti
berikut.
MC mengirimkan sinyal High ke Ultrasonic Ping)) dan MC
mulai melakukan perhitungan waktu dalam satuan
mikrosekon(us). Jika PING mendapatkan logika High maka
Ping akan mengeluarkan getaran suara sebesar 40kHz. Pada
saat mengirimkan gelombang suara sebesar 40 kHz ini,
LED indikator pada Ping akan menyala.


Kemudian gelombang suara yang dikeluarkan oleh salah
satu spekaer akan diterima oleh satu speaker receiver
gelombang, pada saat menerima gelombang Ultrasonic ini
Led Indikator akan Padam.
Untuk memperoleh jarak , maka diperlukan suatu
perhitungan yaitu dengan menghitung Lama waktu
pengiriman dan penerimaan dan dikalikan setengah.
-
27
Sehingga dalam Program yang menggunakan bahasa C
adalah sebagai berikut.
jarak = 0; //memulai jarak awal ialah 0
DDR_Uson|=_BV(Left_Uson); //DDR dan PORT ping diset
High
PORT_Uson|=_BV(Left_Uson); //untuk mengirimkan
sinyal
delay_tus(3); //beri delay selama 3us
PORT_Uson &=~_BV(Left_Uson); //Set Low untuk
menerima
DDR_Uson &=~_BV(Left_Uson); //gelombang
loop_until_bit_is_set(PIN_Uson,Left_Uson);
// ultrasonik sudah mengirimkan sinyal
while(bit_is_set(PIN_Uson,Left_Uson) && jarak<=254)
{
jarak = jarak + 1;
delay_tus(29);
}
if (jarak >= 254)
jarak = 255;
else if (jarak<=8)
jarak=2;
else if (jarak==9)
jarak=3;
else if (jarak>9 && jarak<=31)
jarak=((jarak-2)/2);
else
jarak=((jarak-1)/2);
}

c. Karakteristik Elektronika :

Supply Tegangan 5 VDC
Supply Arus 30 mA typ; 35 mA max
jarak tempuh 2 cm to 3 m (0.8 in to 3.3 yrds)
Input Trigger positive TTL pulse, 2 uS min, 5 s typ.
Echo Pulse positive TTL pulse, 115 uS to 18.5 ms
Echo Hold-off 750 s from fall of Trigger pulse
Burst Frequency 40 kHz for 200 s
Burst Indicator LED shows sensor activity
Delay before next measurement 200 s
Size 22 mm H x 46 mm W x 16 mm D (0.84 in x 1.8 in x 0.6
in)
(ref : ping-datasheet)









-
28




d. Bentuk gelombang yang dapat dibentuk oleh Ping ialah sebagai
berikut dengan sebuah target adalah sebuah silinder












-
29






e. Bentuk gelombang yang dapat dibentuk oleh ping jika mengenai
permukaan datar



b. Sensor Suhu

Sensor suhu ialah sensor yang mendeteksi temperatur suatu udara
atau benda. Sensor ini sangat efektif sekali jika digunakan dalam
robotika KRCI untuk mendeteksi panas ruangan yang terdapat api
lilinya. Sensor suhu yang kita gunakan adalah TPA81 (Termophile
Array) . Sensor TPA81 ini dapat di beli di Toko Elektronika
Online indonesia yaitu Digiware dengan harga sekitar US $ 112.
-
30

Cara kerja TPA81 yaitu dengan mendeteksi sinar InfraRed(IR)
dengan panjang gelombang sebesar 2m-22m. Panjang
gelombang ini dihasilkan oleh benda benda yang memancarkan
panas. Jarak maksimum yang dapat dibaca oleh TPA81 ialah
sejauh 3 m.

TPA81 memiliki 8 Pixel dengan sudut setiap pixelnya ialah sebesar
5.12 sehingga totalnya adalah 41 Terhadap sumbu horizontal
dan 6 terhadap sumbu vertikal.

















Gambar

Jalur komunikasi data TPA81 menggunakan teknologi i2C( inter
integrated circuit ).sehingga dalam menggunakanya diperlukan dua
penghubung yang menghubungkan antara Microcontroler dengan
TPA81 yang disebut dengan SDA (untuk jalur data) dan SCL
(untuk jalur Clock). (ref: hendawan subekti)

-
31

Gambar : Konfigurasi PIN TPA81.


Register dalam TPA81 terdiri dari 10 buah register yang dapat
ditulis dan dibaca yaitu



Fungsi register diatas dapat kita terapkan dalam pemrograman,
dalam aplikasi robotikanya yang biasa digunakan adalah register 2-
9 yang digunakan untuk membaca suhu pada pixel yang berjumlah
delapan pixel.

TPA81 juga dapat mengendalikan servo, Pin servo pada TPA81
dihubungkan dengan pin signal pada servo, dengan sumber ground
yang sama.

-
32














Untuk mendapatkan panas, dapat dilakukan dengan melakukan
pemrograman sebagai berikut

void i2c_start (void)
{
PORTC |= 1<<PC1;
PORTC |=1<<PC0;

TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
loop_until_bit_is_set(TWCR,TWINT);
}


void i2c_write (uint8_t data1)
{
TWDR = data1; //SLA+W ditulis ke TWDR, nilai SLA+W 0xC0
TWCR = (1<<TWINT)|(1<<TWEN) ;
loop_until_bit_is_set(TWCR,TWINT); // cek TWINT apakah set
}

uint8_t i2c_read (uint8_t data2)
{
TWDR = data2;
//SLA+R ditulis ke TWDR, nilai SLA+R adalah 0xC1
TWCR = (1<<TWINT) | (1<<TWEN);
loop_until_bit_is_set(TWCR,TWINT);
return TWDR; //derajat terukur
}

void i2c_stop (void)
{
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO); //stop
operasi
PORTC |= 0<<PC1;
PENTING!!
Setiap Ground pada rangkaian robotika harus dihubungkan
menjadi satu walaupun sumber Vcc berbeda. Jika kabel
ground tidak dihubungkan menjadi satu hal ini
mengakibatkan tidak dapat dikontrolnya komponen tersebut
oleh microcontroler.
-
33
PORTC |=0<<PC0;

}











untuk fungsi utama mendapatkan suhunya menggunakan perintah
sebagai berikut

unsigned char panas (unsigned char dx)
{
i2c_start (); //start kondisi
i2c_write (0xD0); //kirim data SLA+W ke TPA81
i2c_write (dx); //minta data dari TPA pada pixel dx
i2c_start (); //repeat start
i2c_write (0XD1); //minta data dari TPA pada register 1
suhu = i2c_read(255);
i2c_stop();
return suhu;
}

jadi untuk mendapatkan panas pada pixel 9 maka cukup
menuliskan pixel (9) maka akan didapatkan berapa besar panas
pada register 9.

Untuk mengontrol gerakan servo dapat dilakukan dengan
menambahkan program berikut :

unsigned char servo (unsigned char a)
{
i2c_start (); //start kondisi
i2c_write (0xC0); //kirim data SLA+W ke kompas
i2c_write (a); //minta data dari kompas pada register 0
i2c_start (); //repeat start
i2c_write (0XC1); //minta data dari kompas pada register 1
suhu = i2c_read(255);
i2c_stop();
return suhu;
}

-
34

Maka untuk mendapatkan posisi servo maximum, dapat dilakukan
dengan menuliskan kode program servo(31) atau servo(0x1F)



c. Sensor Flame Detector


Sensor flame detector ialah sensor yang digunakan untuk
mendeteksi adanya api atau tidak. Sensor yang biasa digunakan
untuk menangani ini adalah sensor Uv-Tron produksi Hamatsu.Uv-
Tron dapat dibeli dengan harga US $100 di Toko digiware.



Uv-Tron menggunakan sebuah elemen kaca semi konduktor yang
dapat mendeteksi efek fotolistrik dari sebuah besi atau gas.
Hamatsu Uv-Tron memiliki tingkat kesensitifan sebesar 185
260nm
-
35


Uv-Tron disuplai oleh tegangan sebesar 5- 9 V.

You might also like