SIMULASI ROBOT PENDETEKSI MANUSIA
Disusun Oleh:
Nama : Agustinus Dwi Kristianto
NRP : 0622004
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha
Jalan Prof. drg. Suria Sumantri, MPH 65, Bandung 40164, Indonesia
Email : kris_050888@yahoo.com
ABSTRAK
Seiring dengan berkembangya teknologi, manusia menciptakan robot
untuk mempermudah dan mengurangi resiko pekerjaan manusia. Dengan
banyaknya aksi demonstrasi saat ini, pasukan anti huru-hara selalu berada dalam
keadaan paling bahaya. Atas dasar ini lah Tugas Akhir ini dibuat.
Pada Tugas Akhir ini dibuat simulasi robot pendeteksi manusia yang
dilengkapi wireless camera, gas air mata dan sensor gerak. Simulasi robot ini
sebagai langkah awal untuk dikembangkan menjadi robot anti huru hara. Robot
menggunakan sensor PIR untuk mendeteksi gerakan manusia, ATMEGA16
sebagai pengontrol mikro dan TLP/RLP 434A untuk komunikasi data antara robot
dan komputer secara wireless. ATMEGA16 diprogram dengan bahasa C untuk
melakukan proses data yang terbaca sensor dan perintah dari komputer.
Robot diuji pada keadaan indoor dan outdoor dengan jarak yang berbeda
untuk mengetahui kinerja sensor dan komunikasi. Hasil percobaan menunjukkan
bahwa simulasi robot ini dapat dikontrol dengan baik dari jarak 10m sampai 30m.
Pengujian pengendalian dengan sensor di dalam ruangan agar robot dapat
mendeteksi manusia secara otomatis berhasil 75%. Untuk pengujian di luar
ruangan robot berhasil mendeteksi dengan persentase keberhasilan 50%. Dari
beberapa percobaan robot lebih mudah mendeteksi gerakan manusia bila ada dua
atau tiga orang di depannya.
SIMULATION OF HUMAN DETECTOR ROBOT
Composed by :
Name : Agustinus Dwi Kristianto
Nrp
: 0622004
Electrical Engineering, Engineering Faculty, Maranatha Christian University
Prof. drg. Suria Sumantri, MPH 65 Street, Bandung 40164, Indonesia
Email : kris_050888@yahoo.com
ABSTRACT
Nowadays one of high technologies is developing replacement human with
robot to reduce the rick of hazardous work. Settling down riots is a dangerous and
needs to be done in safe way. This Final Project is based on riots matter.
This Final Project creates simulation of human detector robot with wireless
camera as first step from anti riots robot. Robot uses PIR sensor as human motion
detector, ATMEGA16 as microcontroller and TLP/RLP 434A for wireless data
communication between robot and computer. ATMEGA16 is embedded with C
program for data processing from sensor and command from computer.
Robot is experimented on indoor and outdoor condition also different of
distance to acknowledge performances of sensor and communication. The
experiment results show the robot can be controlled well in below 30m. The
experiment at indoor result show the robot can move automatically and success
75%. The experiment at outdoor result show the robot can move automatically
and success 50%. From several experiment result show robot easily to detect
human motion if two or three people in there.
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... ix
BAB I PENDAHULUAN ... 1
I.1 Latar Belakang ... 1
I.2 Identifikasi Masalah ... 1
I.3 Tujuan ... 1
I.4 Pembatasan Masalah ... 2
I.5 Spesifikasi Alat ... 2
I.6 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 4
II.1 Pengontrol Mikro AVR ATMEGA16 ... 4
II.1.1 Arsitektur AVR ATMEGA16 ... 4
II.1.2 Deskripsi Pin/Kaki pada AVR ATMEGA16 ... 6
II.1.3 PORT sebagai Input/Output Digital ... 8
II.1.4 Pemrograman pada AVR ATMEGA16 ... 9
II.2 Sensor Gerak ... 9
II.2.1.1 Sensor Gerak Ultrasonik ... 9
II.2.1.2 Sensor Gerak Passive Infrared ... 10
II.2.1.3 Sensor Gerak Active Infrared ... 10
II.2.2 Sensor PIR ... 11
II.3 Modul Pengirim dan Penerima TLP/RLP 434A ... 13
II.3.2 Pengujian TLP/RLP 434A Menggunakan HT12E/D ... 15
II.4 Teknik Kendali Mengatasi Huru-Hara ... 15
BAB III PERANCANGAN DAN REALISASI ... 17
III.1 Perancangan dan Realisasi pada Perangkat Keras ... 18
III.1.1 Perancangan dan realisasi pada bagian kontrol ... 18
III.1.1.1 Perancangan pada PC ... 19
III.1.1.2 Perancangan pada RS232 ... 19
III.1.1.3 Perancangan pada pengontrol mikro ATMEGA16 ... 20
III.1.1.4 Perancangan pada Transmitter TLP 434A ... 21
III.1.2 Perancangan dan realisasi pada bagian robot ... 21
III.1.2.1 Perancangan pada Receiver RLP 434A ... 22
III.1.2.2 Perancangan pada pengontrol Mikro ATMEGA16 ... 22
III.1.2.3 Perancangan pada Sensor PIR ... 24
III.2 Perancangan dan Realisasi Perangkat Lunak ... 24
III.2.1 Diagram alir pada bagian kontrol ... 25
III.2.2 Diagram alir bagian robot ... 26
BAB IV PENGUJIAN DAN ANALISIS SISTEM ... 28
IV.1 Data Pengendalian dengan PC ... 28
IV.2 Data Pengendalian dengan Sensor di Dalam Ruangan (indoor) ... 30
IV.3 Data Pengendalian dengan Sensor di Luar Ruangan (outdoor) ... 32
IV.4 Data Pengujian Sensor PIR Berdasarkan Sudut dan Jarak... 33
IV.4.1 Data Pengujian Sensor PIR Berdasarkan Sudut Satu Orang
Terhadap Sensor ... 33
IV.4.2 Data Sensor jika Satu Orang di Antara Sensor PIR Kiri dan
Kanan ... 37
IV.5 Data Pengendalian dengan Sensor Jika ada Beberapa Orang ... 38
IV.5.1 Data Pengendalian dengan Sensor Jika ada Dua Orang ... 38
BAB V PENUTUP ... 39
V.1 Kesimpulan ... 40
V.2 Saran ... 40
DAFTAR PUSTAKA ... 41
LAMPIRAN
DAFTAR GAMBAR
Gambar II.1 Diagram blok ATMEGA16 ... 5
Gambar II.2 Konfigurasi pin ATMEGA16 ... 6
Gambar II.3 Sensor gerak Ultrasonik... 9
Gambar II.4 Sensor gerak Active Infrared ... 10
Gambar II.5 Struktur sensor PIR ... 12
Gambar II.6 Pengujian TLP/RLP 434A dengan oscillator dan osiloskop ... 14
Gambar III.1 Diagram blok sistem kontrol robot ... 17
Gambar III.2 Diagram blok pengontrol ... 18
Gambar III.3 Diagram blok robot ... 18
Gambar III.4 Rangkaian MAX232 sebagai penghubung antara PC dan uC .... 20
Gambar III.5 Rangkaian skematik interface pengendali Robot ... 21
Gambar III.6 Rangkaian skematik robot ... 23
Gambar III.7 Diagram alir pada bagian kontrol ... 25
Gambar III.8 Diagram alir pada bagian robot ... 26
Gambar III.9 Diagram alir PIR pada bagian robot ... 27
Gambar IV.1 Diagram keberhasilan robot di dalam ruang ... 31
Gambar IV.2 Diagram keberhasilan robot di luar ruang... 33
Gambar IV.3 Diagram pengujian sensor terhadap sudut satu orang ... 35
Gambar IV.4 Posisi orang di sebelah kanan robot 60° dari sensor PIR kanan . 36
Gambar IV.5 Posisi orang di sebelah kanan robot 45° dari sensor PIR kanan . 36
Gambar IV.6 Posisi orang di sebelah kanan robot 30° dari sensor PIR kanan . 36
Gambar IV.7 Posisi orang di sebelah kanan robot 15° dari sensor PIR kanan . 36
Gambar IV.8 Posisi orang di sebelah kanan robot 0° dari sensor PIR kanan ... 37
DAFTAR TABEL
Tabel II.1 Konfigurasi pin PORT ... 8
Tabel II.2 Konektor pada TLP/RLP 434A ... 14
Tabel IV.1 Data pengendalian dengan PC pada jarak 10m ... 28
Tabel IV.2 Data pengendalian dengan PC pada jarak 20m ... 29
Tabel IV.3 Data pengendalian dengan PC pada jarak 30m ... 29
Tabel IV.4 Data pengendalian dengan sensor di dalam ruangan ... 30
Tabel IV.5 Data pengendalian dengan sensor di luar ruangan... 32
Tabel IV.6 Data pengujian sensor PIR berdasarkan sudut ... 34
Tabel IV.7 Data sensor jika satu orang di antara sensor PIR kiri dan kanan .... 37
Tabel IV.8 Data pengendalian dengan sensor jika ada dua orang ... 38
Tabel IV.9 Data pengendalian dengan sensor jika ada tiga orang ... 38
LAMPIRAN A
A-1
A-2
A-3
A-4
A-5
Spesifikasi TLP 434A
A-6
A-7
A-8
LAMPIRAN B
B-1
Program Pengontrol
/***************************************************** This program was produced by the
CodeWizardAVR V2.03.3 Evaluation Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 02/07/2010
Author : Freeware, for evaluation and non-commercial use only Company :
Comments:
Chip type : ATmega16 Program type : Application Clock frequency : 11,059200 MHz Memory model : Small
External RAM size : 0 Data Stack size : 256
*****************************************************/ #include <mega16.h>
#include <delay.h>
// Standard Input/Output functions #include <stdio.h>
// Declare your global variables here void main(void)
{
// Declare your local variables here unsigned char datarx;
// Input/Output Ports initialization // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTA=0xFF;
DDRA=0xFF; // Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;
DDRB=0x00; // Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00; DDRC=0xFF; // Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;
DDRD=0x00;
B-2
// OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00;
UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;
B-3
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
#asm ("nop") // Persiapan while (1)
{
B-4
PORTA.2=0; PORTA.3=0; PORTC.0=0; PORTC.1=0; PORTC.2=0; PORTC.3=0; }; if(datarx=='d') //kanan { PORTA.0=0; PORTA.1=1; PORTA.2=0; PORTA.3=0; PORTC.0=0; PORTC.1=1; PORTC.2=0; PORTC.3=0; delay_ms(1000); PORTA.0=0; PORTA.1=0; PORTA.2=0; PORTA.3=0; PORTC.0=0; PORTC.1=0; PORTC.2=0; PORTC.3=0; };if(datarx=='2') //up cam { PORTA.0=0; PORTA.1=1; PORTA.2=0; PORTA.3=1; PORTC.0=0; PORTC.1=1; PORTC.2=0; PORTC.3=1; delay_ms(1000); PORTA.0=0; PORTA.1=0; PORTA.2=0; PORTA.3=0; PORTC.0=0; PORTC.1=0; PORTC.2=0; PORTC.3=0; };
B-5
PORTC.2=1; PORTC.3=0; };
if(datarx=='8') //up cam { PORTA.0=0; PORTA.1=1; PORTA.2=1; PORTA.3=1; PORTC.0=0; PORTC.1=1; PORTC.2=1; PORTC.3=1; delay_ms(1000); PORTA.0=0; PORTA.1=0; PORTA.2=0; PORTA.3=0; PORTC.0=0; PORTC.1=0; PORTC.2=0; PORTC.3=0; };
if(datarx=='o') //sensor on { PORTA.0=1; PORTA.1=0; PORTA.2=0; PORTA.3=0; PORTC.0=1; PORTC.1=0; PORTC.2=0; PORTC.3=0; };
B-6
Program Simulasi Robot
/***************************************************** This program was produced by the
CodeWizardAVR V2.03.3 Evaluation Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 02/07/2010
Author : Freeware, for evaluation and non-commercial use only Company :
Comments:
Chip type : ATmega16 Program type : Application Clock frequency : 11,059200 MHz Memory model : Small
External RAM size : 0 Data Stack size : 256
*****************************************************/ #include <mega16.h>
#include <delay.h>
#define servokiri PORTB.7 #define servokanan PORTB.6 #define servotangan PORTB.5 #define blow PORTB.3 #define off PORTB.2 #define RX1 PINA.4 #define RX2 PINA.5 #define RX3 PINA.6 #define RX4 PINA.7 #define PIR1 PINA.2 #define PIR2 PINA.3
// Declare your global variables here int i; int j; //PIR1=PIR Kiri //PIR2=PIR Kanan void main(void) {
// Declare your local variables here // Input/Output Ports initialization // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTA=0xFF;
DDRA=0x00; // Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00;
B-7
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00;
DDRC=0xFF; // Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
B-8
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; #asm ("nop") blow=0; off=0; while (1) {
// Place your code here PORTC=PINA;
if (RX1==1 && RX2==0 && RX3==0 && RX4==1) //OFF {
off=1; };
if (RX1==0 && RX2==0 && RX3==0 && RX4==0) //berhenti {servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); };
B-9
servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); };if (RX1==0 && RX2==0 && RX3==1 && RX4==0) //mundur {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); };
if (RX1==0 && RX2==0 && RX3==1 && RX4==1) //kiri {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); };
if (RX1==0 && RX2==1 && RX3==0 && RX4==0) //kanan {servokiri=1;
B-10
delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); };if (RX1==0 && RX2==1 && RX3==1 && RX4==0) //undergroundcam {servokiri=0; servokanan=0; servotangan=1; delay_us(1900); servokiri=0; servokanan=0; servotangan=0; delay_us(18100);
i=8; //45 derajat };
if (RX1==0 && RX2==1 && RX3==1 && RX4==1) //upcam { i=i-1; // +10derajat
};
if (RX1==0 && RX2==1 && RX3==0 && RX4==1) //downcam {i=i+1; //-10derajat
};
if(i==8) // 45 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1900); servokiri=0; servokanan=0; servotangan=0; delay_us(18100); }; };
B-11
servotangan=0; delay_us(18200); };
};
if(i==6) //65 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1700); servokiri=0; servokanan=0; servotangan=0; delay_us(18300); }; };
if(i==5) //75 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1600); servokiri=0; servokanan=0; servotangan=0; delay_us(18400); }; };
if(i==4) //85 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1500); servokiri=0; servokanan=0; servotangan=0; delay_us(18500); }; };
if(i==3) //95 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1400); servokiri=0; servokanan=0; servotangan=0; delay_us(18600); }; };
if(i==2) //105 derajat {for(j=0;j<5;j++)
B-12
servokanan=0; servotangan=1; delay_us(1300); servokiri=0; servokanan=0; servotangan=0; delay_us(18700); }; };if(i==1) //115 derajat { for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1200); servokiri=0; servokanan=0; servotangan=0; delay_us(18800); }; };
if(i==0) //125 derajat {for(j=0;j<5;j++) {servokiri=0; servokanan=0; servotangan=1; delay_us(1100); servokiri=0; servokanan=0; servotangan=0; delay_us(18900); }; };
if (RX1==1 && RX2==0 && RX3==0 && RX4==0) //sensor on {goto mulai;
}; mulai:
{if(PIR1==1 && PIR2==1)
B-13
delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }if(PIR1==1 && PIR2==1) //1Y {blow=1;
for(j=0;j<200;j++) //putar kanan 10 {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600);}
if(PIR1==1 && PIR2==1) //11Y { blow=1; //12 delay_ms(1000);
blow=0;
delay_ms(1000);
B-14
}
if(PIR1==1 && PIR2==1)
{blow=1; //17 delay_ms(1000); blow=0; delay_ms(1000); } else {goto mulai; } }
if(PIR1==1 && PIR2==0) //11N
{for(j=0;j<100;j++) //putar kiri 13 {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }
blow=1; //14b delay_ms(1000); blow=0; delay_ms(1000); goto mulai; } }
if(PIR1==0 && PIR2==1) //1N
B-15
servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600);}if(PIR1==1 && PIR2==1) //4Y {blow=1; //5 delay_ms(1000);
blow=0;
delay_ms(1000);
for(j=0;j<100;j++) //putar kiri 8 {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }
if(PIR1==1 && PIR2==1) //9Y {blow=1; //14a delay_ms(1000);
blow=0;
delay_ms(1000); goto mulai; }
else //9N {goto mulai; //14b } }
if(PIR1==1 && PIR2==0) //4N
B-16
delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }blow=1; //7 delay_ms(1000); blow=0; delay_ms(1000); goto mulai; } } }
if(PIR1==1 && PIR2==0) //kiri {for(j=0;j<100;j++) {servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(600); servokiri=0; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); } blow=1; delay_ms(1000); blow=0; delay_ms(1000); }
if(PIR1==0 && PIR2==1) //kanan {for(j=0;j<100;j++)
B-17
delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); } blow=1; delay_ms(1000); blow=0; delay_ms(1000); }if(PIR1==0 && PIR2==0) //bebas {for(j=0;j<500;j++)
{servokiri=1; //kanan servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=1; servokanan=1; servotangan=1; delay_us(600); servokiri=1; servokanan=1; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }
if(PIR1==1 || PIR2==1) {goto mulai; }
if(PIR1==0 && PIR2==0) //tetap ga da orang {for(j=0;j<500;j++)
{servokiri=1; //maju servokanan=1;
B-18
servokiri=1; servokanan=0; servotangan=0; delay_us(600); servokiri=1; servokanan=0; servotangan=1; delay_us(600); servokiri=1; servokanan=0; servotangan=0; delay_us(600); servokiri=0; servokanan=0; servotangan=1; delay_us(17600); }
LAMPIRAN C
C-1
Foto Simulasi Robot
Pengontrol
Robot tampak depan
Robot tampak atas
Robot tampak samping
C-2
Foto Hasil
Wireless Camera
5
3
4
kiri
atas
kanan
2
atas
C-3
Gamabar Robot
Ukuran robot
Tampak depan
PI
Kamera
Servo
kamer
C-4
Gambar Robot
Tampak bawah
Tampak atas
RLP
434A
Batter
Pengontrol
Mikro
ATMega1
C-5
Foto Pergerakan Robot
Pengendalian dengan PC, error karena kesalahan pengontrol
Pengendalian dengan PC, berhasil robot bergerak maju, kanan, maju, kanan,
maju, kiri, maju, kanan, mundur
1
2
3
4
5
2
3
4
1
6
7
5
8
C-6
Foto Pergerakan Robot
Tidak ada orang di sekitar robot, error karena robot sempat berhenti seperti ada
orang
Tidak ada orang di sekitar robot, berhasil putar kanan kemudian maju
1
2
3
4
5
6
7
8
1
7
2
3
4
5
6
C-7
Foto Pergerakan Robot
Orang di sebelah kanan robot, error karena sebelum sensor selesai menyensing
sensor sudah tidak mendeteksi adanya orang sehingga robot berputar seperti tidak
ada orang
Orang di sebelah kanan robot, berhasil robot putar kanan dan led on
1
2
3
4
5
C-8
Foto Pergerakan Robot
Orang di sebelah kiri robot, error karena sebelum sensor selesai menyensing
sensor sudah tidak mendeteksi adanya orang sehingga robot berputar seperti tidak
ada orang
Orang di sebelah kiri robot, berhasil robot putar kiri dan led on
1
2
3
4
C-9
Foto Pergerakan Robot
Orang di depan robot, error karena robot mengira orang ada di depan dan di
kanan robot sehingga led on dua kali
Orang di depan robot, berhasil robot mencari ke sebelah kiri, ke sebelah kanan,
dan kemudian ke depan, karena di depan ada orang led on
1
2
3
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
Perkembangan teknologi yang sangat cepat dalam bidang elektronika saat
ini sangat mempengaruhi aktivitas manusia. Hampir seluruh aktivitas manusia
secara modern selalu berhubungan dengan dunia elektronika melalui berbagai alat
bantu yang menunjang aktivitas tersebut. Contoh penemuan teknologi yang
meningkatkan efektivitas dan efesiensi kerja adalah ditemukannya teknologi
wireless dan sensor. Penggunaan teknologi ini bisa diterapkan dalam berbagai
kegiatan, diantaranya dalam bidang robotika dan berbagai kegiatan lainnya.
Pada bab ini akan diuraikan mengenai latar belakang, identifikasi masalah,
perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat, dan sistematika
penulisan.
I.1
Latar Belakang
Dengan semakin berkembangnya kemajuan teknologi, belakangan ini
meningkatkan kreasi manusia dalam menciptakan perangkat yang dapat
mendukung kinerja manusia dalam melakukan proses pekerjaan agar lebih praktis
dan efisien. Salah satu aplikasi nyata adalah pembuatan robot untuk membantu
melakukan pekerjaan manusia. Pada Tugas Akhir ini akan dibuat simulasi robot
pendeteksi manusia. Simulasi robot yang akan dibuat dilengkapi dengan camera,
gas air mata dan sensor gerak untuk mendeteksi keberadaan manusia. Simulasi
robot diharapkan dikembangkan untuk mengatasi huru-hara.
I.2
Identifikasi Masalah
Identifikasi masalah Tugas Akhir ini adalah kebutuhan robot yang dapat
mendeteksi orang dan menembakan gas air mata yang diindikasikan dengan LED.
I.3
Tujuan
BAB I PENDAHULUAN 2
Universitas Kristen Maranatha
I.4
Pembatasan Masalah
Adapun pembatasan masalah dalam Tugas Akhir ini adalah sebagai
berikut :
•
Kamera yang digunakan adalah wireless camera, kamera tidak menggunakan
image processing, hanya digunakan untuk mengamati dan capturing.
•
Robot dikontrol manual ke area, pada jarak tertentu user mengaktifkan sensor
sehingga robot akan dapat bekerja secara otomatis dengan sensor gerak
Passive Infrared (PIR).
•
Robot akan dikontrol menggunakan PC dengan jarak terjauh 30m (tanpa
halangan) untuk menuju ke area huru-hara dengan RF434A.
•
Semprotan gas disimulasikan dengan nyala led.
•
Simulasi area huru-hara dibatasi sekitar 3x5m.
•
Robot tidak dapat mengidentifikasi manusia.
•
Manusia yang berada dalam huru-hara diasumsikan selalu bergerak.
•
Jangkauan robot untuk mendeteksi manusia adalah 2m dengan sudut 30°.
•
Robot tidak dapat menghitung jumlah manusia.
I.5
Spesifikasi Alat
1.
PC/Notebook untuk mengamati dan mengontrol robot.
2.
Wireless camera dengan jarak kamera dan receiver 100m pada kondisi tanpa
halangan.
3.
2 buah pengontrol Mikro ATMEGA16 untuk program pada robot.
4.
2 buah sensor gerak PIR agar robot dapat medeteksi gerakan manusia.
5.
TLP/RLP 434A untuk mengirim data secara wireless.
6.
RS232 untuk komunikasi serial PC ke pengontrol mikro.
7.
Dimensi robot : 38,5x34x30 cm.
BAB I PENDAHULUAN 3
Universitas Kristen Maranatha
I.6
Sistematika Penulisan
Sistematika penulisan dalam Tugas Akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini akan dibahas tentang latar belakang, identifikasi masalah, perumusan
masalah, tujuan, pembatasan masalah, spesifikasi alat, dan skematik penulisan
dalam Tugas Akhir ini.
BAB II LANDASAN TEORI
Pada bab ini akan dibahas tentang teori
–
teori yang digunakan dalam
perancangan dan realisasi perangkat keras dan lunak meliputi ATMEGA16,
sensor gerak, TLP/RLP 434A, RS232, dan teknik kendali mengatasi huru-hara.
BAB III PERANCANGAN DAN REALISASI
Pada bab ini akan dibahas tentang perancangan dan pembuatan perangkat keras
dan perangkat lunak simulasi robot pada Tugas Akhir ini.
BAB IV PENGUJIAN DAN ANALISIS SISTEM
Pada bab ini akan dibahas tentang pengujian dan analisi dari simulasi robot yang
telah dibuat.
BAB V PENUTUP
39
Universitas Kristen Maranatha
BAB V
PENUTUP
V.1
Simpulan
Dari analisis dan pengujian yang dilakukan pada sistem, dapat ditarik
simpulan yaitu :
1.
Pengujian pengendalian dengan PC menggunakan TLP/RLP 434A sebagai
media transmisi berhasil 100% hingga jarak 30m.
2.
Pengujian pengendalian dengan sensor di dalam ruangan dengan posisi orang
di depan robot memiliki persentase keberhasilan 50%, saat posisi orang di
sebelah kiri robot pengujian memiliki persentase keberhasilan 80%, saat posisi
orang di sebelah kanan robot pengujian memiliki persentase keberhasilan
90%, dan saat tidak ada orang robot memiliki persentase keberhasilan 80%.
Pengujian mengalami beberapa kegagalan karena adanya benda-benda di
dalam ruangan yang memiliki suhu hampir sama dengan suhu manusia, pada
saat robot bergerak robot mendeteksi benda itu adalah manusia yang bergerak.
3.
Pengujian pengendalian dengan sensor di luar ruangan dengan posisi orang di
depan robot memiliki persentase keberhasilan 20%, saat posisi orang di
sebelah kiri robot pengujian memiliki persentase keberhasilan 40%, saat posisi
orang di sebelah kanan robot pengujian memiliki persentase keberhasilan
50%, dan saat tidak ada orang robot memiliki persentase keberhasilan 90%.
Pengujian mengalami beberapa kegagalan karena suhu di luar ruangan cukup
panas akibat adanya sinar matahari, perubahan cuaca, dan lain-lain sehingga
suhu manusia hampir sama dengan suhu lingkungan. Oleh karena itu robot
susah untuk mendeteksi keberadaan manusia.
BAB IV PENUTUP
40
Universitas Kristen Maranatha
45° dari sensor, persentase keberhasilan adalah 40% pada jarak 1m, lebih jauh
dari 1m sensor tidak mampu mendeteksi lagi.
5.
Pengujian sensor jika satu orang diantara sensor PIR kiri dan kanan memiliki
persentase keberhasilan 50% pada jarak 1m. Pengujian ini hanya berhasil
hingga jarak 1m karena kedua sensor susah untuk mendeteksi manusia pada
saat yang bersamaan.
6.
Pengujian pengendalian dengan sensor jika ada dua orang dengan posisi orang
yang berubah-ubah memiliki persentase keberhasilan 72,73%. Hasil
persentase keberhasilan pengujian ini lebih tinggi dibandingkan dengan
pengujian satu orang karena keadaan dua orang yang bergerak lebih
memudahkan sensor untuk mendeteksi pada saat yang bersamaan.
7.
Pengujian pengendalian dengan sensor jika ada tiga orang dengan posisi orang
yang berubah-ubah memiliki persentase keberhasilan 88,89%. Hasil
persentase keberhasilan pengujian ini lebih tinggi dibandingkan dengan
pengujian satu orang karena keadaan tiga orang yang bergerak lebih
memudahkan sensor untuk mendeteksi pada saat yang bersamaan.
V.2
Saran
Pada Tugas Akhir ini masih terdapat beberapa kekurangan sehingga perlu
dilakukan pengembangan. Beberapa saran tentang Tugas Akhir ini adalah :
1.
Pada sudut 0° jangkauan sensor mencapai 5m. Dan batas posisi orang adalah
30° dari sensor. Tambahkan sensor PIR di depan dan belakang robot agar
jangkauan deteksi robot lebih jauh.
41 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1.
Andrianto, Heri. 2008. Pemrograman Mikrokontroler AVR ATMEGA16
Menggunakan Bahasa C. Bandung, Informatika.
2.
Ogata, Katsuhiko. 1991. Teknik Kontrol Automatik. New Jersey, Prentice Hall
International.
3.
http://www.hobbyprojects.com/quick_circuits_refrence_ir_motion_detector
4.
http://www.electronic123.com/s.nl/it/A/id.73/.f
5.
http://www.bagusrifqyalistia.wordpress.com
6.
http://www.scribd.com/doc23290050/21-Fisika-modern-radiasi-benda-hitam-efek-fotolistrik
7.
http://www.digi-ware.com/file/AN-03.pdf