Professional Documents
Culture Documents
Robotics
CIREBON 2012
Introduce about me..
• Nama : Ari Kurniawan Saputra, S.T.
• TTL : Madiun, 1 April 1986
• Alamat : Jln. Purwakarta No. 124, Bandung
• Pendidikan:
• Lulus Sarjana Teknik Mesin ITB 2009
• Pasca Sarjana Teknik Mesin ITB 2010 s/d sekarang,
Bidang Keahlian Tenik Otomasi dan Manufaktur
• Pengalaman:
• Tim KRI ITB 2008
• R&D Robota Robotics School (2009-2011)
• R&D MYROBO School Of Robotics (2011-Sekarang)
APA SIH ROBOT ITU???
Definisi Robot
• American Heritage Dictionary: ro·bot (rbt, -bt) n.
1: A mechanical device that sometimes resembles a human being and
is capable of performing a variety of often complex human tasks on
command or by being programmed in advance.
2: A machine or device that operates automatically or by remote control.
3: A person who works mechanically without original thought, especially
one who responds automatically to the commands of others.
• Websters:
• a machine that looks like a human being and performs various
complex acts (as walking or talking) of a human being; also : a similar
but fictional machine whose lack of capacity for human emotions is
often emphasized
• RIA
• A programmable multi-function manipulator designed to move
material, parts, or specialized devices through variable programmed
motion for the performance of a variety of tasks" (RIA, Robot Institute
of America, A group within Society of Manufacturing Engineering)
PERKEMBANGAN ROBOT DAN
APLIKASINYA
• Aplikasi Output
A. Settingan Hardware
1. Hubungkan PORTC universal board dengan led array (port OUTPUT pada input/output-
board) menggunakan kabel pita.
2. Hubungkan SPI port pada universal board dengan port parallel PCdownloader.
3. Hidupkan saklar power, led power pada universal board harus dalam keadaan nyala.
B. Programing (lihat module masing-masing)
1. Buka CV AVR., pilih File->New->Project.
2. Klik YES ketika terdapat option untuk meggunakan codeWizardAVR.
3. Pilih chip yang akan digunakan ATMEGA8535 dengan harga clock 16Mhz.
4. Klik tab Ports, pilih tab Port C seperti pada gambar, ubah setting bit 0 – bit 7 sebagai out.
Hasil setting ini berpengaruh pada nilai register DDRxn, dan PORTxn.
5. Setting selesai, untuk mengenerate program pilih File >> Generate, Save, and Exit.
6. Buat direktori dengan nama io1.
7. Save file CV AVR dengan nama io1.cwp pada direktori io1.
8. Save file .C dengan nama io1.c pada direktori io1.
9. Save file project dengan nama io1.prj pada direktori io1.
Pengenalan Dasar I/O
C. Project Setting
1. Terlihat pada tampilan CV AVR kode yang telah digenerate. Konfigurasi project dengan
memilih menu project >> configure.
2. Pilih tab after make, aktifkan program the chip. Terlihat tampilan seperti pada gambar
dimodule yang kalian pegang, setting ini akan membantu kita mengotomasi untuk
langsung memrogram chip ketika kita selesai Make Project File
D.Listing Program
1. Sekarang perhatikan kode bahasa C pada bagian setting register DDRxn, dan PORTxn,
seperti pada gambar yang tampak di module, DDRC = 0xFF yang berarti 8 bit port C
difungsikan sebagai output. PORTC = 0x00 berarti nilai awalan output adalah 0(low).
2. Nilai register PORTC diatas adalah nilai awalan pada saat mikrokontroller start-up, kita
bisa
mengubah nilai output port C dengan mengubah nilai register PORTC pada looping while.
PORTC = 0xCD, nilai output port C adalah CD dalam bentuk hexa atau 11001101 dalam
bentuk biner.
3. Program chip dengan memilih menu Project >> Make atau dengan menekan shift + F9.
Jika pada kode masih terdapat kesalahan/error akan terlihat pada message.
4. Klik Program, jika ada kesalahan periksa kembali setting hardware.
5. Perhatikan led array, lampu led akan menyala 11001101 jika diurut dari Port7- Port0.
6. Ulangi langkah 2 sampai 6 dengan memberikan nilai PORTC yang berbeda beda pada
looping while. Perhatikan perubahan nyala led pada led array.
Pengenalan Dasar I/O
• Aplikasi Input
A. Settingan Hardware
1. Hubungkan PORTC universal board dengan led array (port OUTPUT pada input/output
board ) menggunakan kabel pita.
2. Hubungkan PORTB universal board dengan push button array (port INPUT pada
input/output board ) menggunakan kabel pita.
3. Hubungkan SPI port pada universal board dengan port parallel PC menggunakan
downloader.
4. Hidupkan saklar power, led power pada universal board harus dalam keadaan nyala.
B. Programing (lihat module masing-masing)
1. Buka CV AVR., pilih File->New->Project.
2. Klik YES ketika terdapat option untuk meggunakan codeWizardAVR.
3. Pilih chip yang akan digunakan ATMEGA8535 dengan harga clock 16 Mhz.
4. Setting port C sebagai output (out).
5. Setting port B sebagai Input (in) dan aktifkan pull-up resistor.
6. Setting selesai, untuk mengenerate program pilih File >> Generate, Save, and Exit.
7. Buat direktori dengan nama io2.
8. Save file CV AVR dengan nama io2.cwp pada direktori io2.
9. Save file .C dengan nama io2.c pada direktori io2.
10. Save file project dengan nama io2.prj pada direktori io2.
Pengenalan Dasar I/O
C. Project Setting
1. Terlihat pada tampilan CV AVR kode yang telah digenerate. Konfigurasi project dengan
memilih menu project >> configure.
2. Pilih tab after make, aktifkan program the chip. Terlihat tampilan seperti pada gambar
dimodule yang kalian pegang, setting ini akan membantu kita mengotomasi untuk
langsung memrogram chip ketika kita selesai Make Project File
D.Listing Program
1. Sekarang perhatikan kode bahasa C pada bagian setting register PORTB dan PORTC Port B
difungsikan sebagai input (DDRB = 0x00) dengan 8 bit pull-up resistor diaktifkan
(PORTB=0xFF). Port C difungsikan sebagai output (DDRC=0xFF) dengan nilai awalan pada
tiap bit 1 (high).
2. Pada listing kode diatas kita telah men-set port B sebagai input dengan pull-up resistor
dan port C sebagai output. Untuk dapat menunjukkan funggsi input mikrokontroller
tambahkan listing kode berikut pada bagian looping while. maksud dari listing program diatas
adalah kita menscan register PINB terus menerus dari PINB.0 – PINB.7. Perhatikan bahwa
untuk membaca perubahan keadaan input dari push-button dibaca pada register PINxn
bukan pada register PORTxn maupun DDRxn.
3. Program chip dengan memilih menu Project >> Make atau dengan menekan shift + F9.
Jika pada kode masih terdapat kesalahan/error akan terlihat pada message.
4. Klik Program, jika ada kesalahan periksa kembali setting hardware.
5. Perhatikan led array, lampu led akan menyala 11001101 jika diurut dari Port7- Port0.
6. Ulangi langkah 2 sampai 6 dengan memberikan nilai PORTC yang berbeda beda pada
looping while. Perhatikan perubahan nyala led pada led array.
Tugas 7
• Sekarang integrasikan lampu pada PORTC dan
nyalakan satu per satu
Selamat mengerjakan
Tipe Data
Type Size Range
(bits)
bit 1 0,1
char 8 -128 to 127
Unsigned char 8 0 to 255
Signed char 8 -128 to 127
int 16 -32768 to 32767
short int 16 -32768 to 32767
unsigned int 16 0 to 65535
signed int 16 -32768 to 32767
long int 32 -2147483648 to 2147483647
unsigned long int 32 0 to 4294967295
signed long int 32 -2147483648 to 2147483647
float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38
Perulangan “while”
• Merupakan suatu perulangan yang dimana alur programnya yaitu, jika suatu kondisi
bernilai true atau benar maka pernyataan-pernyataan dibawahnya (while) akan
diteruskan hingga selesai kemudian akan menguji kembali kondisi diatas
WHI
Y
LE
N
Pros2 Pros1
Pustaka tunda
• Merupakan suatu perintah untuk menjeda alur program. Ada dua instruksi
perintah pada pustaka tunda yaitu :
• Delay_us(500); //jeda dengan waktu 500 mikro detik
• Delay_ms(500); //jeda dengan waktu 500 mili detik
• Adapun cara untuk memanggi pustaka tunda, mudah saja cukup dengan
menambahkan perintah include,seperti contoh dibawah ini :
•
• #include <atmega8535.h>
• #include <delay.h> //memanggil pustaka tunda pada library
•
• Int main(void);
• While(1)
• { PORTC.1=0;
• Delay_ms(200);
• PORTC.1=1;
• Delay_us(20000);}:
Tugas 8
• Buat Aplikasi Untuk Pemrograman FLIP FLOP
• Buat Aplikasi Untuk Pemrograman Running LED dan
Pencacah Binary
Tugas 9
+ Penambahan Z=c+a
- Pengurangan Z=c-a
* Perkalian Z=c*a
/ Pembagian Z=c/a
% Modulo Z=c%a
Unary Operator Keterangan Contohnya
Operator Operation
& Perintah kogika and
| Perintah logika or
^ Perintah lohika ex-or
~ Perintah logika not
>> Perintah untuk menggeser tiap bit ke kanan
<< Perintah untuk menggeser tiap bit ke kiri
Operator
• Logika
Operator Operation
&& Operator untuk memeriksa dua data yang nilai
keduanya harus benar (and) baru kondisi tersebut
dinyatakan benar
~ Resolusi 10 bit,
~ Waktu konversi 65 – 260 uS,
PORTA n
~ 8 ch input,
~ 0 – Vcc input ADC,
~ 3 Mode pemilihan tegangan referensi
Gnd
• Timer/Counter0
Timer/Counter0
Merupakan 8 bit timer/counter dengan fitur :
• 8 bit timer/counter 1 kanal
• Auto reload, yaitu timer akan kembali ke nol saat match compare
• Dapat menghasilkan pulsa PWM dengan glitch – free
• Frequence generator
• Prescalar 10 bit untuk timer
• Membangkitkan interrupsi saat timer overflow dan atau match compare
Timer/Counter
• Timer/Counter1
Timer/Counter1
Merupakan 16 bit timer/counter dengan fitur:
• 16 bit timer/counter
• Memiliki 2 compare unit
• Memiliki 2 register pembanding
• Memiliki 1 input capture unit
• Auto reload, dimana timer akan dinolkan kembali saat match compare
• Dapat menghasilkan pulsa pwm dengan glitch – free dan periode yang bias diubah –
ubah
• Frequence generator
• Memiliki 4 buah suber intterupsi, yaitu TOV1, OCF-1A, OCF1b, ICFL
Timer/Counter
• Timer/Counter2
Timer/counter2
• 8 bit timer/counter 1 kanal
• Auto reload, yaitu timer akan di nolkan kembali saat match compare
• Dapat menghasilkan pulsa pwm dengan glitch – free
• Frequence Generator
• Prescallar 10 bit untuk timer
• Membangkitkan interupsi saat timer overflow dan atau match compare