Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
TIM URO
1
-
1. PENGENALAN 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
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.
2
-
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.
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.
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.
3
-
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 45o, kemudian data ini
masuk kedalam microontroler dan diterjemahkan oleh Microprosesor dan
kemudian diperiksa kondisi yang akan dikeluarkan sebagai data output,
suhu 45o merupakan suatu kondisi, kemudian jika kondisi yang diharapkan
oleh programer yaitu jika suhu lebih besar dari 40o maka output yaitu
menghidupkan kipas, dan kondisi diatas dimana suhu 45o lebih besar dari
45o maka data keluaran adalah menghidupkan kipas.
4
-
AtMega8535/16/32
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
5
-
AVR Studio tidak berdiri sendiri dalam penggunaanya, Avr studio masih
membutuhkan software WinAVR sebagai Compillernya. Jadi juga
disertakan software winAvr disetiap software AVRStudio.
#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.
#include “namafilelibrarykamu.h”
Maksud dari tanda petik ini menunjukan bahwa file yang dijadikan
library berada dalam satu folder dengan file kode program utama.
6
-
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=True)
{Akibat;}
7
-
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.
Keluaran bernilai 1
Masukan bernilai 0
int main(void)
{
DDRB = 0b11111110;
. . . . . . . .
}
Timer Counter
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
. . . . . .
_delay_ms(1000); //1000 milisecond.
. . . . . .
_delay_us(1000); //1000 mikrosecond
. . . . . .
}
8
-
c. Pembuatan 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.
9
-
Input
Blok yang menyatakan adanya Input Masuk
Output
Blok yang menyatakan output dari sebuah
keadaan yang diproses
10
-
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.
Tujuan dari latihan ini ialah agar siswa mengetahui cara menggunakan
logika High atau Low.
Cara kerja :
1. Rangkai project board seperti skematik berikut ini :
11
-
2. Ketik Program 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);
}
}
4. Lihat hasilnya
Tujuan dari latihan ini agar siswa dapat mengerti cara menghidupkan dan
mematikan lebih dari satu buah LED.
Alat dan Bahan :
Cara Kerja :
12
-
13
#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);
}
}
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?
14
-
15
-
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 :
#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;
//============================================
. . . . . . . .
}
Untuk memanggil fungsi pada sebuah PWM maka dapat digunakan perintah
OCR1A = “nilai”;
OCR1B = “nilai”;
16
-
1023 = Berhenti (kecepatan Terendah)
Berikut adalah contoh penulisan program lengkap untuk memanggil fungsi PWM
#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;
}
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 :
17
-
#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;
}
}
3. Download ke microcontroller
4. Liat hasilnya dan ulangi dengan mengubah-ubah kecepatanya .
18
-
BAB V. SENSOR
Pada bab ini kita akan berkenalan dan membuat alat yang menggunakan
sensor, sensor yang digunakan dapat berupa sensor
cahaya(Phototransistor)
Sensor phototransitor ini pada robot biasanya digunakan pada robot line
follower. Dengan sensor ini robot dapat mendeteksi garis dengan warna
gelap dan warna terang.
19
-
Mikrokontroler
1 Phototransistor
LED
DOWNLOADER
#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))
BAB =III0b00000001;}
{PORTB PENGENALAN TOOLS
Else
{ PORTB = 0b00000000; }
}
}
20
-
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.
21
-
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.
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
MOSI-MISO-SCK-RESET-VCC-GROUND
yang jika dituliskan Pin (kaki) nya adalah
PINB3-PINB4-PINB5-RESET-VCC-GROUND
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.
22
-
23
-
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.
24
-
BAB VI DEVICE ROBOTIKA
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?
25
-
dapat anda download dari internet dengan gratis,
http://alldatasheet.com (ref:dX-077). Setiap komponen elektronika
pasti memiliki datasheet walaupun hanya sebuah resistor.
26
-
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 :
27
-
28
-
b. Sensor Suhu
29
-
Gambar
30
-
31
-
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.
TWCR=(1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
loop_until_bit_is_set(TWCR,TWINT);
}
32
-
PORTC |=0<<PC0;
33
-
34
-
35