Vous êtes sur la page 1sur 64

Introduction to

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

 Perkembangan robot dan jenis-jenisnya


 Aplikasi Robot pada dunia Industri
ILMU-ILMU YANG DIPELAJARI
DALAM ROBOTIKA

• Mechanical Eng. • CS & AI • Biology


• Electrical Eng. • Vision, HCI • Neuroscience
• Control • Software Dev. • Cognitive Science

Robotics Video Pembuatan Robot

• Architecture • Sensing and Motion • Visual Control


• Mapping • Cooperative Robotics • Entertainment

• Planning / Modeling • Robot Learning


BAGIAN-BAGIAN ROBOT
Tren Robotic Sekarang
Pengetahuan Dasar Untuk Membuat Robot

• Elektronika Dasar dan Robot Analog


1

• Dasar-dasar logic dan pemrograman


2 Mikrokontroller

• Aplikasi mikrokontroller untuk sistem otomasi


3

• Aplikasi Mikrokontroller untuk robot line follower,


4 maze solving dan prison break

• Aplikasi Mikrokontroller untuk robot berkaki dan


5 berlengan
Dasar- dasar Elektronika
• Konsep dasar elektronika:
• Arus listrik, Tegangan, Hambatan, Hukum Ohm,
Hukum Kirchof, Rangkaian Seri-Paralel, dll
• Komponen-Komponen Elektronika:
• Resistor, Kapasitor, Dioda, Transistor, Integrated
Circuit (IC), Mikrokontroller, dll
• Pembacaan dan pembuatan Skematik Rangkaian,
Perakitan dan penyolderan komponen elektronika.
• Pengetahuan mengenai alat perkakas dan alat ukur
elektronik seperti solder, tank, multimmeter, timah, dll.
Dasar-Dasar Elektronika
Resistor (Hambatan)
• Hambatan adalah komponen elektronika yang selalu digunakan dalam
setiap rangkaian elektronika karena dia berfungsi sebagai pengatur
arus listrik. Hambatan disingkat dengan huruf "R" (huruf R besar).
Satuan Hambatan adalah Ohm, yang menemukan adalah George Simon
Ohm (1787-1854), seorang ahli fisika bangsa Jerman. Hambatan listrik
dapat didistribusikan sesuai dengan kebutuhan.
SAKLAR/ SWITCH
• Saklar adalah komponen elektronika yang berfungsi
untuk memutus dan menyambung arus listrik
• Bentuk dan jenis saklar bermacam-macam sesuai dengan
fungsi dan kegunaannya.
KAPASITOR

• Kapasitor (kondensator) dalam rangkaian elektronika


dilambangkan dengan huruf ‘C’ adalah suatu alat yang
dapat menyimpan energi/muatan listrik di dalam medan
listrik, dengan cara mengumpulkan ketidakseimbangan
internal dari muatan listrik. Kapasitor ditemukan oleh
Michael Faraday (1791-1867). Satuan kapasitor disebut
Farad (F).
macam kapasitor lambang kapasitor
DIODA
• Dioda adalah komponen elektronika yang hanya
memperbolehkan arus listrik mengalir dalam satu arah
sehingga dioda biasa disebut juga sebagai “Penyearah”. Dioda
terbuat dari bahan semikonduktor jenis silicon dan
germanium.
• Dioda terbuat dari penggabungan dua tipe semikonduktor
yaitu tipe P (Positive) dan tipe N (Negative), kaki dioda yang
terhubung pada semikonduktor tipe P dinamakan “Anode”
sedangkan yang terhubung pada semikonduktor tipe N
disebut ”Katode
• Light Emiting Diode (LED)
Light Emmiting Dioda atau lebih dikenal dengan sebutan LED
(light-emitting diode) adalah suatu semikonduktor yang memancarkan
cahaya monokromatik
FOTO DIODA
• Dioda foto adalah jenis dioda yang berfungsi mendeteksi
cahaya. Berbeda dengan dioda biasa, komponen
elektronika ini akan mengubah cahaya menjadi arus listrik.
Cahaya yang dapat dideteksi oleh dioda foto ini mulai dari
cahaya infra merah, cahaya tampak, ultra ungu sampai
dengan sinar-X. Aplikasi dioda foto mulai dari penghitung
kendaraan di jalan umum secara otomatis, pengukur
cahaya pada kamera serta beberapa peralatan di bidang
medis.
TRANSISTOR
• Merupakan komponen elektronika yang terdiri dari tiga
lapisan semikonduktor sebagai contoh NPN dan PNP.
Transistor mempunyai tiga kaki yang disebut dengan
Emitor (E), Basis/Base (B) dan Kolektor/collector (C).
Aplikasi komponen Resistor, Kapasitor,
Transistor dan LED (rangkaian Flip Flop)
Rangkaian Line Follower Analog
• Robot line follower adalah robot yang dapat bergerak
mengikuti garis secara OTOMATIS
• Robot line follower analog tidak perlu adanya
pemrograman robot secara software (perangkat lunak)
sedangkan line follower mikro (digital) melibatkan
pemrograman/software
Pengenalan Dasar Mikrokontroller
ATMega 16
• Mikrokontroller adalah piranti elektronik berupa IC
(Integrated Circuit) yang memiliki kemampuan
manipulasi data (informasi) berdasarkan suatu urutan
instruksi (program) yang dibuat oleh programmer.
• Mikrokontroller merupakan contoh suatu sistem
komputer sederhana yang masuk dalam kategori
embedded komputer. Dalam sebuah struktur
mikrokontroller akan kita temukan juga komponen-
komponen seperti: processor, memory, clock dll.
Contoh Mikrokontroller
Konfigurasi Pin Chip AT16
Sistem minimum ATMega16
I/O BOARD
Konfigurasi Pin Chip AT8535
Chip AT8535 mempunyai 40 pin I/O dimana masing-masing
fungsinya seperti dibawah ini :

• VCC untuk tegangan pencatu daya positif.


• GND untuk tegangan pencatu daya negatif.
• PortA (PA0 - PA7) sebagai port Input/Output dan memiliki
kemampuan lain yaitu sebagai input untuk ADC
• PortB (PB0 – PB7) sebagai port Input/Output dan juga memiliki
kemampuan yang lain.
• PortC (PC0 – PC7) sebagai port Input/Output untuk ATMega8535.
• PortD (PD0 – PD7) sebagai port Input/Output dan juga memiliki
kemampuan yang lain.
• RESET untuk melakukan reset program dalam mikrokontroler.
• XTAL1 dan XTAL2 untuk input pembangkit sinyal clock.
• AVCC untuk pin masukan tegangan pencatu daya untuk ADC.
• AREF untuk pin tegangan referensi ADC.
Aplikasi Bantu CVAVR
• Cara memulai pengoperasian (lihat module)
1.Jalankan aplikasi code vision AVR pada komputer anda
2.Pilih file – new, kemudian muncul box dialog, pilih project.
3.Kita diberi pilihan, apakah menggunakan wizard atau tidak. Jika iya,
pilih yes.
4.Akan mucul box dialog lagi, silakan pilih chip yang akan digunakan.
Misalnya ATmega8535.
5.Buka tab Ports. Pada bagian ini, kita diberi kesempatan untuk mengatur
ports-ports yang akan digunakan. Pilih PortC sebagai output.
6.Jika sudah, klik file-generate,save and Exit Proses menyimpan file
dilakukan sebanyak 3 kali, masing-masing menghasilkan ekstensi *.C ,
*.prj, dan *.cwp. Simpan dengan nama file ledblink.
7.Setelah proses meyimpan file selesai, sekarang baru bisa membuat
program pada CVAVR. Seperti pada module yang kalian pegang.
Susunan Pemrograman CVAVR
• Header
• Variable
• Pembuka Fungsi
• Isi Fungsi
• Penutup Fungsi
• Komentar
• Fungsi/Sub Program
Susunan Pemrograman CVAVR
• Header, merupakan include file (.hex), yang berguna untuk memberitahu
compiler agar membaca file yang ada pada library tersebut. Sehinga
compiler dapat mengenali definisi dari instruksi yang telah dibuat pada
program dan tidak dianggap error. Contoh “#include(atmega8535)”
• Variable,perintah untuk menyimpan data untuk dibaca datanya dengan
diwakilkan memori pada mikrokontroller. Namun sebelumnya harus
dideklarasikan dengan “tipe data” dan “nama variable” yang akan
digunakan. Varible global adalah variable yang nilainya dapat diakses dan
ditulis dari seluruh fungsi program yang ada. Sedangkan varible lokal
hanya dapat diakses dan ditulis sesuai dimana letak dari variable tersebut.
• Pembuka Fungsi, merupakan suatu perintah dimana disertakan sebelum
kita memulai menulis isi fungsi dari subprogram maupun program utama
(int main()). Dengan simbol “{“
• Isi Fungsi, merupakan susunan dari instruksi – instruksi baha C yang
isinya sesuai dengan perintah yang kita inginkan.
• Penutup Fungsi, merupakan suatu perintah yang disertakan dimana
setelah kita selesai menulis isi fungsi/pemrograman dengan simbol “}”
Susunan Pemrograman CVAVR
• Komentar, berguna untuk mempermudah mengingat fungsi dari statment
yang kita buat diprogram. Ada dua cara penulisan komentar yaitu dengan
menggunakan “//’ (untuk komentar 1 baris) dan “/*_____*/”(untuk komentar
lebih dari 1 baris/bisa berupa paragraf).
• Fungsi/Subprogram, Suatu program yang dimana dapat menampung
semua instruksi untuk suatu keperluan tertentu yang sering dijalankan.
Langkah ini akan dapat menghemat memory dibanding bila instruksi –
instruksi tersebut ditulis berulang – ulang. Cara penulisannya diawali
dengan kata “void”.
Pengenalan Dasar I/O
Output
PORTX=data; //mengirim data secara byte ke portX(A,B,C,D)
Input
Data_in=PINX; //mengambil data byte dari pinX(A,B,C,D) to Var
Sebelum memulai pemrograman dasar I/O dengan bahasa C perlu diketahui bahwa
mikrokontroller ATmega8535 perlu diseting DDR dan PORT agar bias digunakan sebagai mana
mestinya.
Contoh :
…..
PORTA=0xCC;
DDRA=0x0F;
…..
Dari DDR terlihat bahwa port A0-3=Output, port A4-7=Input. Sedangkan dari PORT terlihat bahwa
PA0-1=low, PA2-3=Hight, PA4-5 tanpa Rpull-up (Floating) dan PA6-7 dengan Rpull-up.pengaturan
I/O port bisa dilakukan untuk tiap bit dengan fungsi yang berbeda. Port I/O hanya memiliki arus
20mA.
DDR bit=1 DDR bit=0
PORT bit=1 Output; hight Input; R pull-up
PORT bit=0 Output; low Input; Floating
Pengenalan Dasar I/O

• 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

• Buat Program Pada Aplikasi Traffict Light


Perulangan “for”
• merupakan suatu perulangan yang akan melakukan beberapa kali sesuai
yang diinginkan. Contoh :

• #include <atmega8535.h>

• Int main(void);

• a=1;
• for (b=1; b<40; b++) //akan melakukan perulangan sebanyak
• { a=a*2; //40 kali
• PORTB=a;};
Pemrograman Aplikasi 4
• Pengendalian “if”,”if else”,”if -if else….else”,”break”
• Operator
• Pemrograman Aplikasi (AND, OR, XOR) Circuit
Pengendalian Percabangan
• “if”
Untuk memeriksa satu kondisi untuk satu operasi jawaban N
terakhir jika benar. Contoh : if
……..
Y
If(data==2) //ujikondisi data harus bernilai 2
{PORTB=0xFF;} //PORTB=0xFF jika data bernilai 2 Opsi
………
• “if-else”
Untuk memeriksa satu kondisi dengan dua operationjawaban jika benar dan salah . contoh :
……….
If(data==2) //ujikondisi jika data bernilai 2
{PORTB=0xFF;} //PORTB=0xFF jika data bernilai 2 N
if
Else
{PORTB=0x00;} //PORTB=0x00 jika data tidak ada yang benar Y
………..
Opsi Opsi
Pengendalian Percabangan
• “if-if else…..else”
Digunakan untuk menguji beberapa kondisi untuk beberapa operation
N
jawaban.
Contoh :
………….
If(data==2) Y
if
{PORTC=0xFF;}
Else if(data==3) N Opsi
{PORTB=0xFF;} Y
Else if(data==4) if
{PORTA=0xFF;}
N Opsi
Else
{PORTC=0x00; Y
PORTB=0x00; if
PORTA=0x00;} N Opsi
…………….
Opsi
Operator
• Aritmatika

Binary Operator Keterangan Contohnya

+ Penambahan Z=c+a
- Pengurangan Z=c-a
* Perkalian Z=c*a
/ Pembagian Z=c/a
% Modulo Z=c%a
Unary Operator Keterangan Contohnya

++ Penambahan nilai dengan Z++


nilai 1 (increment)
-- Pengurangan nilai dengan Z--
nilai 1 (decrement)
Operator
• Penugasan
Penugasan Penjelasan Contoh Keterangan

= Pemberian nilai G=2 -


+= Penambahan nilai G+=2 G=G+2
-= Pengurangan nilai G-=2 G=G-2
*= Perkalian nilai G*=2 G=G*2
/= Pembagian nilai G/=2 G=G/2
%= Modulo nilai G%=2 G=G%2
<<= Pergeseran nilai ke kiri G<<=2 G=G<<2

>>= Pergeseran nilai ke kanan G>>=2 G=G>>2


Operator
• Relasional

Operator Kondisi Contoh


== Sama dengan If(A==5)//jika nilai A sama
dengan 5
!= Tidak sama If(A!=5)//jika nilai A tidak sama
dengan dengan 5
> Lebih besar If(A>5)//jika nilai A lebih besar
dari 5
< Lebih kecil If(A<5)//jika nilai A lebih kecil dari
5
>= Lebih besar If(A>=5)//jika nilai A lebih besar
sama dengan sama dengan 5
<= Lebih kecil sama If(A<=5)//jika nilai A lebih kecil
dengan sama dengan 5
Operator
• Bit

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

|| Operator untuk memeriksa dua data yang salah satu


nilai harus benar (or) baru kondisi tersebut
dinyatakan benar

! Operator ini untuk pemeriksaan nilai yang salah


dianggap benar (kebalikannya /not)
Tugas 11
• Buatlah program dengan menggunakan logika AND,
OR, XOR Circuit pada rangkaian aplikasi lampu
ADC
Penggunaan ADC ini sangat banyak sekali, terutama ketika memanfaatkan
kinerja sensor yang masih berupa analog dimana harus di converse oleh
mikrokontroller. Fitur dari ADC ATmega8535 : Vcc

~ Resolusi 10 bit,
~ Waktu konversi 65 – 260 uS,
PORTA n
~ 8 ch input,
~ 0 – Vcc input ADC,
~ 3 Mode pemilihan tegangan referensi
Gnd

Gambar diatas merupakan rangkaian pembagi tegangan dengan


potensiometer. Untuk melihat hasil kerja dari ADC kita dapat memasang
rangkaian LED ataupun dengan LCD. Yang didalam contoh ini kita akan
menampilkan pada keduanya.
Interrupsi
Interrupt adalah fasilitas mikrokontroller untuk menyela suatu program yang
sedang berjalan. Interrupt dapat dianalogikan sebagai hak untuk menyela pada suatu
rapat. Dari sekian banyak peserta rapat hanya 21 orang yang diberi hak untuk
menyela. Jika terdapat 2 atau lebih orang yang menyela, maka orang dengan
prioritas paling tinggi yang diperbolehkan bicara. Pada ATMEGA8535 terdapat 21
fasilitas interrupt dengan prioritas seperti pada table prioritas interrupsi. ATmega8535
menyediakan 3 interrupsi ekternal, yaitu INT1, INT0, INT2 yang mana bias dilakukan
dengan pemberian logika 0 atau 1 bahkan perubahan logika seperti (rising, falling).
Bissa dilihat pada tabel hubungan PIN dan Interrupt.
Timer/Counter
• Timer/Counter0
• Timer/Counter1
• Timer/Counter2

• 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