iii
Universitas Kristen MaranathaREALISASI DETEKTOR SUARA SARON
PADA ROBOT KRSI 2011
Disusun oleh:
Nama :
Panji Adrianto
NRP :
0722072
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kirsten Maranatha,
Jl. Prof. Drg. Suria Sumantri, MPH No. 65, Bandung, Indonesia
Email: panewanther@yahoo.com
ABSTRAK
Kemajuan teknologi dalam bidang robotik sudah berkembang sangat
pesat. Indonesia sebagai Negara berkembang tidak ingin ketinggalan. Kontes
Robot Seni Indonesia sebagai salah satu kontes tahunan sudah diadakan tiga kali
dengan tema berbeda. Kontes ini diadakan sebagai salah satu tolak ukur kemajuan
robotik di Indonesia. KRSI 2011 mengusung tema tarian Klono Topeng dari
daerah Yogyakarta. Robot yang dibuat diharapkan dapat menari dengan
jenis-jenis gerakan dasar Tari Klono Topeng dan dapat membedakan suara musik
gamelan Klono Topeng dengan berbagai jenis gangguan.
Pada Tugas Akhir ini, robot dibuat dengan ukuran tinggi 53 cm, lebar 30
cm, dan tebal 12 cm. Robot didesain menyerupai manusia. Robot bergerak
menggunakan servo-servo yang berjumlah 21 buah. Robot dilengkapi dengan dua
jenis sensor yaitu sensor garis LDR dan sensor suara electrets microphone. Sensor
garis digunakan untuk mendeteksi garis pada arena lomba dan sensor suara untuk
mendeteksi suara gamelan Klono Topeng. Robot dikontrol menggunakan
ATMEGA 128 dan program FlowStone. SSC-32 membantu ATMEGA 128 dalam
mengatur pergerakan servo-servo yang ada. FlowStone berfungsi dalam hal
mendeteksi suara bunyi gamelan Klono Topeng dan membedakan suara gamelan
Klono Topeng dengan gangguan suara yang bervariasi.
Berdasarkan percobaan yang dilakukan dapat dikatakan bahwa robot
iv
Universitas Kristen Maranathatanjak kanan, seblak, trecek kiri, ngrai rikmo, klat bahu, berhias, meskipun
gerakan yang dihasilkan masih kurang halus dan cukup lambat. Durasi satu kali
gerakan tari memakan waktu antara 4.7 detik sampai 52,3 detik. Robot juga
sudah dapat dengan baik membedakan suara gamelan Klono Topeng khususnya
alat musik saron dengan suara gangguan yang ditentukan dengan persentase
keberhasilan 100%. Robot juga berhasil masuk ke putaran final KRSI 2011 di
Yogyakarta.
Kata Kunci: Robot humanoid, KRSI, Sensor Suara electrets microphone,
Sensor garis LDR, ATMEGA 128, FlowStone, SSC-32.
v
Universitas Kristen MaranathaREALIZATION OF SARON VOICE DETECTOR
FOR ROBOT KRSI 2011
Composed by:
Nama :
Panji Adrianto
NRP :
0722072
Electrical Engineering Department, Maranatha Christian University,
Jl. Prof. Drg. Suria Sumantri, MPH No. 65, Bandung, Indonesia.
Email: panewanther@yahoo.com
ABSTRACT
Nowdays robotic technology development have been increasing very fast.
As a developing country, Indonesia would like to update. Kontes Robot Seni
Indonesia as an annual contest have been held three times with different theme.
This contest is being a reference for the growth of robotic technology here in
Indonesia.
KRSI 2011 contest have Yogyakarta’s Klono Topeng
dance as main
theme. The robot was hoped to be able to dance the basic moves of Klono topeng
dance and to differ sound of Klono topeng gamelan with other sound which would
be considered as noise or disturbance.
In this Final Project, robot was made with 53 cm height, 30 cm length and
12 cm width. Robot is designed like a human. Robot moves using 21 servos. The
robot is equipped with two kind of sensor, LDR as line sensor and electrets
microphone as sound sensor. Line sensor is used to detect the white line in the
field and sound sensor is used to detect the sound of gamelan Klono Topeng. The
robot is controlled using ATMEGA 128 and FlowStone. SSC-32 assists
ATMEGA 128 to manage all servos. FlowStone enables robot to differ sound of
Klono topeng gamelan with other kind of sounds which would be considered as
noise or disturbance.
Based on experiments, it can be said that robot is able to dance the basic
moves of Klono Topeng dance such as Salam Pembuka, Tanjak kanan,
vi
Universitas Kristen Maranathadon’t smooth and quite slow.
The shortest duration for a loop of a move are 4.7
seconds and the longest duration for a loop of a move are 52.3 seconds. And
robot also could differ sound of Klono topeng gamelan with other kind of chosen
sounds which is considered as noise or disturbance. Percentage of success in this
case is 100% success. Robot also went to the final stage of KRSI 2011 at
Yogyakarta.
Keywords:
Humanoid Robot, KRSI, Sound Sensor electrets microphone,Line
vii
Universitas Kristen MaranathaDAFTAR ISI
Halaman
KATA PENGANTAR ...
i
ABSTRAK ...
iii
ABSTRACT ...
v
DAFTAR ISI ...
vii
DAFTAR TABEL ...
x
DAFTAR GAMBAR ...
xi
DAFTAR RUMUS...
xiii
BAB I PENDAHULUAN ...
1
I.1 Latar Belakang ...
1
I.2
Identifikasi masalah ...
1
I.3
Perumusan Masalah ...
2
I.4 Tujuan ...
2
I.5 Pembatasan Masalah ...
2
I.6 Sistematika Penulisan ...
3
BAB II LANDASAN TEORI ...
4
II.1 Penjelasan Kontes Robot Seni Indonesia (KRSI) ...
4
II.1.1Tema ...
4
II.1.2 Sistem Perlombaan ...
5
II.1.3 Spesifikasi Robot ...
6
II.1.4 Arena Lomba ...
7
II.2
Teori Robot Humanoid ...
8
II.3
Teori Gelombang Bunyi ...
9
II.3.1 Frekuensi dan Panjang Gelombang ...
9
II.3.2 Amplitudo ...
10
II.3.3 Warna Nada ...
10
II.4
Pengontrol Mikro ...
11
II.4.1 Pengenalan ATMEL AVR RISC ...
11
viii
Universitas Kristen MaranathaII.4.3 Fitur-fitur ATMEGA 128 ...
12
II.4.4 Input / Output ...
13
II.4.4 Diagram Blok ATMEGA128 ...
14
II.5
Pengontrol Servo SSC-32 ...
15
II.5.1 Komponen-komponen SSC-32 ...
15
II.5.2 Cara Komunikasi SSC-32 dengan ATMEGA 128 ...
17
II.5.3 Spesifikasi SSC-32 ...
17
II.6
Sensor Garis (LDR) ...
18
II.7
Sensor Suara ...
19
II.8
FlowBoard dan FlowStone ...
21
II.9
Fast Fourier Transform ...
24
II.9.1 Discrete Fourier Transform (DFT) ...
24
II.9.2 Perhitungan DFT ...
25
II.9.3 Kelebihan FFT ...
25
II.10 Filter ...
26
II.11 Analog to Digital Conversion ...
26
BAB III PERANCANGAN DAN REALISASI ...
28
III.1 Perancangan Sistem Robot Humanoid Klono Topeng...
28
III.2
Struktur Robot Humanoid Klono Topeng ...
29
III.2.1 Bentuk Robot ...
30
III.2.2 Sistem Gerak ...
31
III.2.3 Peletakan Sensor-Sensor ...
31
III.3
Perancangan dan Realisasi Rangkaian Sensor dan Pengontrol ...
32
III.3.1Sensor ...
32
III.3.1.1 Sensor Garis ...
33
III.3.1.2 Sensor Suara ...
34
III.3.2Pengontrol ...
37
III.3.2.1 ATMEGA 128 ...
38
III.3.2.2 FlowStone ...
39
ix
Universitas Kristen MaranathaBAB IV DATA PENGAMATAN DAN ANALISIS DATA ...
54
IV.1 Frekuensi-frekuensi dari Nada Saron ...
54
IV.2 Pengujian Sensor Garis LDR ...
55
IV.3
Respon Robot Terhadap Musik Gamelan Klono Topeng dan
Gangguan-gangguannya ...
56
IV.4 Jenis Gerakan dan Durasi...
57
IV.5
Spektrum Frekuensi dari Masing-masing Musik ...
58
IV.6 Respon Program FlowStone untuk Amplitudo Normalisasi
Berbeda ...
61
IV.7
Respon Program FlowStone ...
63
BAB V SIMPULAN DAN SARAN ...
64
V.1 Simpulan ...
64
V.2
Saran ...
64
x
Universitas Kristen MaranathaDAFTAR TABEL
Halaman
Tabel 3.1 Koneksi SSC-32 dengan Servo-servo ...
42
Tabel 4.1 Frekuensi Dari Nada-nada Saron ...
55
Tabel 4.2 Tegangan Output Rangkaian Pembagi Tegangan ...
56
Tabel 4.3 Respon Robot Terhadap Musik Gamelan dan Gangguannya
57
Tabel 4.4 Keberhasilan Gerakan dan Durasi Gerakan ...
58
Tabel 4.5
Respon Program FlowStone ketika Diberi Input Suara
xi
Universitas Kristen MaranathaDAFTAR GAMBAR
Halaman
Gambar 2.1 Arena Lomba KRSI 2011 ...
8
Gambar 2.2 Bentuk Support Polygon ...
9
Gambar 2.3 Amplitudo Gelombang ...
10
Gambar 2.4 Konfigurasi Pin ATMEGA 128 ...
13
Gambar 2.5 Struktur Pengontrol Mikro ATMEGA 128 ...
15
Gambar 2.6 Bentuk dan Letak Komponen-komponen SSC-32 ...
16
Gambar 2.7 Pin SSC-32 untuk Komunikasi Dengan ATMEGA 128 ...
17
Gambar 2.8 Jalur Dari Cadmium Sulphid ...
18
Gambar 2.9 Karakteristik LDR ...
19
Gambar 2.10 Bagian-bagian Microphone ...
20
Gambar 2.11 Electret microphone ...
21
Gambar 2.12 FlowBoard ...
21
Gambar 2.13 Tampilan Awal Program FlowStone ...
22
Gambar 2.14 Direct Sound In ...
22
Gambar 2.15 Filter Digital ...
23
Gambar 2.16 Mono FFT ...
23
Gambar 2.17 Mono to Graph ...
23
Gambar 2.18 Graph FFT ...
23
Gambar 2.19 Float Array Section ...
23
Gambar 2.20 Max Float Array ...
24
Gambar 3.1 Diagram Blok Sistem Kontrol Robot ...
29
Gambar 3.2 Peletakan Komponen-komponen ...
29
Gambar 3.3 Peletakan Komponen LDR di Telapak Kaki Robot ...
30
Gambar 3.4 Dimensi Robot Tampak Depan ...
30
Gambar 3.5 Arah Gerak dan Letak Servo-servo ...
31
Gambar 3.6 Letak Sensor Garis ...
32
Gambar 3.7 Letak Sensor Suara ...
32
Gambar 3.8 Skematik Rangkaian Sensor Garis untuk Satu Kaki ...
33
xii
Universitas Kristen MaranathaGambar 3.10 Diagram Blok FlowStone ...
34
Gambar 3.11a Program Pendeteksi Suara Saron 1...
35
Gambar 3.11b Program Pendeteksi Suara Saron 2 ...
35
Gambar 3.11c Program Pendeteksi Suara Saron 3...
36
Gambar 3.12 Sistem Elektronika Robot...
37
Gambar 3.13 Skematik ATMEGA 128 ...
38
Gambar 3.14 Modul Self Holding ...
39
Gambar 3.15 Rangkaian Dalam Self Holding...
39
Gambar 3.16 Tampilan Utama Program FlowStone ...
40
Gambar 3.17a Flowchart Utama 1 ...
43
Gambar 3.17b Flowchart Utama 2...
44
Gambar 3.18 Subroutine Gerakan Salam Pembuka ...
45
Gambar 3.19 Subroutine Gerakan Tanjak Kanan ...
46
Gambar 3.20 Subroutine Gerakan Seblak ...
47
Gambar 3.21 Subroutine Gerakan Trecek Kiri ...
48
Gambar 3.22 Subroutine Gerakan Belok Kanan ...
49
Gambar 3.23 Subroutine Gerakan Belok Kiri ...
50
Gambar 3.24a Subroutine Gerakan Zona Tengah 1 ...
51
Gambar 3.24b Subroutine Gerakan Zona Tengah 2...
52
Gambar 3.23c Subroutine Gerakan Zona Tengah 3 ...
53
Gambar 4.1a Respon FlowStone 1 ...
59
Gambar 4.1b Respon FlowStone 2...
59
Gambar 4.1c Respon FlowStone 3 ...
59
Gambar 4.1d Respon FlowStone 4...
60
Gambar 4.1e Respon FlowStone 5 ...
60
Gambar 4.1f Respon FlowStone 6 ...
60
Gambar 4.1g Respon FlowStone 7...
61
Gambar 4.2 Amplitudo Normalisasi Suara Musik Saron ...
62
Gambar 4.3a Respon Program FlowStone Mendeteksi Suara Saron ...
63
xiii
Universitas Kristen MaranathaDAFTAR RUMUS
Halaman
LAMPIRAN A
A-1
Tampak Depan
A-2
Tampak Samping Kiri
LAMPIRAN B
B-1
PROGRAM UTAMA
/***************************************************** This program was produced by the
CodeWizardAVR V1.25.3 Standard Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version : Date : 4/22/2011
Author : Panji,Rezaly, Christian Company : Chrenji
Comments:
Chip type : ATmega128 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small
External SRAM size : 0 Data Stack size : 1024
*****************************************************/ #include <mega128.h> #include <delay.h> #include <stdio.h> #include <stdlib.h> #include <i2c.h> #include <lcd.h>
#define PIN_SOUND 0
#define ADC_VREF_TYPE 0x00 #define BANYAK_SAMPLE 128 #define FREKUENSI_SAMPLING 8000 #define AMBIL_FREKUENSI 500 #define SOUND_VALUE 250
// Alphanumeric LCD Module functions #asm
.equ __lcd_port=0x15 ;PORTC #endasm
// I2C Bus functions #asm
.equ __i2c_port=0x12 ;PORTD .equ __sda_bit=1
.equ __scl_bit=0 #endasm
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input) {
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);
B-2
char LCD[40],Text[32];
eeprom unsigned int Compass_Value = 0; unsigned char LineSensorValue = 0;
#include "LineSensor.c" #include "SSC32.c"
// Declare your global variables here #define PushButton ((~PINA)>>4)
void main(void) {
unsigned int Compass_PV=0, counter = 0; unsigned int ADC[10];
unsigned char i=0,a=0,b=0; int k;
// 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=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0xFF;
DDRA=0x00;
// 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=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 PORTC=0x00;
DDRC=0x00;
// 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;
// Port E 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 PORTE=0x00;
DDRE=0x00;
// Port F 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 PORTF=0x00;
DDRF=0x00;
// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In // State4=T State3=T State2=T State1=T State0=T PORTG=0x00;
DDRG=0x00;
B-3
// Mode: Normal top=FFh // OC0 output: Disconnected ASSR=0x00;
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. // OC1C 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 // Compare C Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected TCCR2=0x00;
TCNT2=0x00; OCR2=0x00;
// Timer/Counter 3 initialization // Clock source: System Clock // Clock value: Timer 3 Stopped // Mode: Normal top=FFFFh // Noise Canceler: Off
// Input Capture on Falling Edge // OC3A output: Discon. // OC3B output: Discon. // OC3C output: Discon.
B-4
OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00; OCR3CH=0x00; OCR3CL=0x00;// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off // INT3: Off // INT4: Off // INT5: Off // INT6: Off // INT7: Off EICRA=0x00; EICRB=0x00; EIMSK=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
ETIMSK=0x00;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART0 Receiver: On
// USART0 Transmitter: On // USART0 Mode: Asynchronous // USART0 Baud rate: 115200 UCSR0A=0x00;
UCSR0B=0x18; UCSR0C=0x06; UBRR0H=0x00; UBRR0L=0x08;
// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART1 Receiver: On
// USART1 Transmitter: On // USART1 Mode: Asynchronous // USART1 Baud rate: 38400 UCSR1A=0x00;
UCSR1B=0x18; UCSR1C=0x06; UBRR1H=0x00; UBRR1L=0x11;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 1000.000 kHz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;
// LCD module initialization lcd_init(16);
B-5
while (1) {
if(PushButton == 0) // CEK ADC { GoHome(); while(1) { lcd_clear(); sprintf(LCD,"%d ",read_adc(1)); lcd_puts(LCD); delay_ms(500); } }
else if(PushButton == 2) //program utama {
while(1)
{ GoHomeBaru(); lcd_clear();
sprintf(LCD,"%d",read_adc(1),); lcd_puts(LCD);
delay_ms(100);
if(read_adc(1)== 120 && k==0) {
GoSalamPembuka(); delay_ms(100); k=1; }
if(read_adc(1)== 120 && k==1) {
GoTanjakKanan(); delay_ms(100); k=2; }
if(read_adc(1)== 120 && k==2) {
GoPrepareTrecekKiri(); GoTrecekKiri(); GoTrecekKiri(); GoHomeBaru(); delay_ms(100); k=3; }
if(read_adc(1)== 120 && k==3) {
GoJalanJongkok();
GoJalanJongkok();GoJalanJongkok(); delay_ms(100); k=4;
}
if(read_adc(1)== 120 && k==4) {
GoZonaTengah(); GoHomeBaru(); delay_ms(100); k=5; }
if(read_adc(1)== 120 && k==5) {
GoJalanJongkok();
GoJalanJongkok();GoJalanJongkok(); delay_ms(100); k=6;
}
if(read_adc(1)== 120 && k==6) {
B-6
}
if(read_adc(1)== 120 && k==7) {
GoJalanJongkok();
GoJalanJongkok();GoJalanJongkok(); delay_ms(100); k=8;
}
if(read_adc(1)== 120 && k==8) {
GoBelokKiri(); GoBelokKiri(); GoBelokKiri(); delay_ms(100); k=9; }
if(read_adc(1)== 120 && k==9) {
GoJalanJongkok();
GoJalanJongkok();GoJalanJongkok(); delay_ms(100); k=10;
}
if(read_adc(1)== 120 && k==9) {
GoSalamPenutup(); delay_ms(100); k=0; }
else if(read_adc(1)==! 120) { GoHomeBaru(); delay_ms(100); } //else; } }
else if(PushButton == 5) // Coba Tanjak Kanan { while(1) { GoTanjakKanan(); delay_ms(100); } }
else if(PushButton == 6) //Coba belok Kanan { while(1) { GoHome(); delay_ms(1000); while(1) { GoBelokKanan(); delay_ms(100); } } }
else if(PushButton == 7) //Coba belok kiri {
while(1) {
B-7
delay_ms(1000); while(1) { for(i=0;i<4;i++) { GoBelokKiri(); delay_ms(100); } } } }else if(PushButton == 8) //Coba Trecek Kiri { while(1) { GoHome(); delay_ms(1000); while(1) { GoPrepareTrecekKiri(); GoTrecekKiri(); GoTrecekKiri(); GoTrecekKiri(); GoTrecekKiri(); delay_ms(500); } } }
else if(PushButton == 9) //Coba Trecek Kanan { while(1) { GoHome(); delay_ms(1000); GoPrepareTrecekKanan(); GoTrecekKanan(); GoTrecekKanan(); GoTrecekKanan(); GoTrecekKanan(); delay_ms(500); GoHomeBaru(); } }
else if(PushButton == 10) //Coba Jalan Jongkok { while(1) { GoHome(); delay_ms(1000); GoJalanJongkok(); } }
else if(PushButton == 11) //Coba Trecek Kiri {
}
B-8
{ while(1) { GoSeblak(); } }else if(PushButton == 14) // read Line Sensor Result {
GoHome(); while(1) {
if(LineSensor() == 1) {
lcd_clear(); lcd_putsf("KIRI"); delay_ms(100); }
else if(LineSensor() == 2) {
lcd_clear();
lcd_putsf("KANAN"); delay_ms(100); }
else if(LineSensor() == 3) { lcd_clear(); lcd_putsf("BOTH"); delay_ms(100); } } }
else if(PushButton == 15) // read Line Sensor value {
GoHome(); while(1) {
lcd_clear();
sprintf(LCD,"%d %d %d %d\n%d %d %d %d", PINB.0, PINB.1, PINB.2, PINB.3, PINB.4, PINB.5, PINB.6, PINB.7);
lcd_puts(LCD); delay_ms(100); } } }; }
SUB PROGRAM UNTUK SSC-32
#include <string.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7
#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR)
B-9
#define RX_COMPLETE (1<<RXC)
flash int HomePosition[1][64] = { {2550,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600} };
B-10
{2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1747,2189,1539,1516,1461,1500,1373,1062,1 500,1470,1391,1550,1950,730,1491,1519,1461,1070,2339,1450,1509,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600} };flash int SalamPenutup[6][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1290,2189,1539,761,1461,1500,1261,1570,15 00,2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,6 00,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1880,1402,1539,761,1461,1500,1739,1021,15 00,2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,6 00,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1747,2189,1539,1516,1461,1500,1373,1062,1 500,1470,1391,1550,1950,730,1491,1519,1461,1070,2339,1450,1509,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1958,2189,1539,1516,1461,1500,1164,1063,1 500,1470,1391,1550,1719,1181,1241,1519,1461,1300,1889,1700,1509,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1747,2189,1539,1516,1461,1500,1373,1062,1 500,1470,1391,1550,1950,730,1491,1519,1461,1070,2339,1450,1509,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600} };
flash int BelokKiri[5][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1960,700,1491,1519,1430,1070,2370,1450,1461,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,838,2143,1539,761,1461,1500,1948,1043,150 0,2239,1391,1491,1980,700,1509,1639,1931,1029,2310,1481,1509,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,844,2080,1539,761,1461,1500,1878,1043,150 0,2239,1391,1491,1980,700,1509,1633,1683,1194,2310,1481,1573,700,700,700,700,700,700,700,700,700,70 0,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1063,2007,1539,761,1461,1500,2218,1043,15 00,2239,1391,1491,1980,700,1509,1633,1461,1131,2310,1481,1573,600,600,600,600,600,600,600,600,600,6 00,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1960,700,1491,1519,1430,1070,2370,1450,1461,900,900,900,900,900,900,900,900,900,90 0,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900,900} };
B-11
{2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1960,700,1491,1519,1430,1070,2370,1450,1461,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1488,1951,700,1548,1646,1427,1141,2310,1467,1552,300,300,300,300,300,300,300,300,300,30 0,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1205,1895,700,1567,1681,1427,1107,2310,1470,1552,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1205,1895,700,1589,1499,1427,1107,2310,1473,1552,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1205,1848,700,1509,1461,1427,1107,2310,1462,1333,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1504,1941,700,1509,1425,1427,1107,2310,1524,1391,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1960,700,1491,1519,1430,1070,2370,1433,1461,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600} };flash int HomeBaru[1][64] = { {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1488,1951,700,1487,1519,1427,1065,2370,1452,1461,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000} };
B-12
2239,1391,1550,1910,730,1491,1601,1461,1111,2349,1450,1603,600,600,600,600,600,600,600,600,600,600, 600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000} }; flash int Seblak[5][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1339,1461,1281,1519,1430,1665,1509,1742,1485,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1880,2500,1513,1459,1461,1739,1177,1298,1 500,2239,1391,1491,1307,1461,1281,1418,1430,1663,1509,1680,1300,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1307,1461,1281,1406,1430,1663,2108,1232,1379,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1852,1654,1539,761,1461,866,1177,1062,151 3,1487,1391,1491,1307,1461,1281,1515,1430,1663,2108,1232,1472,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1322,1518,1180,1854,1430,1693,1688,1609,1615,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000} }; flash int Prepare[3][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1951,700,1582,1672,1430,1065,2285,1503,1598,600,600,600,600,600,600,600,600,600,60 0,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1710,1992,1539,698,1461,1627,1373,1062,15 41,1768,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,2000,2000,2000,2000,2000,2000,2000,2 000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,200 0,2000,2000,2000,2000,2000} };B-13
};
flash int NguraiRikmo[2][64] = { {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1627,500,1062,15 41,1992,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1200,1200,1200,1200,1200,1200,1200,1 200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,120 0,1200,1200,1200,1200,1200}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,2500,2218,1459,1346,1461,1373,1823,1062,1 541,1992,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1200,1200,1200,1200,1200,1200,1200, 1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,12 00,1200,1200,1200,1200,1200} }; flash int Berhias[6][64] = { {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1823,838,1107,15 41,1768,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1570,922,937,154 1,1768,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1852,500,1021,15 41,1768,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1852,838,1277,15 41,1964,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1739,1148,1000,1 541,1739,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1373,1992,1539,1459,1461,1739,980,1043,15 41,1654,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000} };
flash int Gaya[64] =
{2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1937,1290,1710,1 541,2302,1391,877,1439,985,1788,1548,1430,1692,1402,1795,1524,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000};
B-14
{2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1327,1851,730,1491,1410,1461,1064,2462,1411,1266,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1327,1851,730,1533,1700,1461,1064,2462,1411,1595,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1877,730,1491,1519,1461,1064,2462,1411,1509,700,700,700,700,700,700,700,700,700,700, 700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700} };flash int GeserKanan[6][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1877,730,1491,1519,1461,1064,2397,1411,1509,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1877,730,1491,1689,1461,1087,2372,1411,1609,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1911,730,1560,1689,1636,1165,2368,1411,1609,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1959,730,1442,1554,1636,1108,2397,1411,1503,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,2011,730,1442,1409,1636,1060,2414,1400,1310,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,952,1500, 2239,1391,1518,1877,730,1491,1519,1461,1064,2397,1411,1509,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000} };
B-15
{2550,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,500,500,500,500,500,500,500,500,500,500, 500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500} };flash int TrecekKiri[3][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1756,1261,1104,1408,2091,1294,2077,1421,1509,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1603,2091,1557,2128,1248,1509,2000,2000,2000,2000,2000,2000,200 0,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2 000,2000,2000,2000,2000,2000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1730,2091,1557,1600,1788,1509,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000} };
flash int TrecekKanan[3][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1603,2091,1557,2128,1248,1509,2000,2000,2000,2000,2000,2000,200 0,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2 000,2000,2000,2000,2000,2000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1730,2091,1557,1600,1788,1509,2000,2000,2000,2000,2000,2000,200 0,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2 000,2000,2000,2000,2000,2000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1408,2091,1294,2077,1421,1509,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000} };
B-16
};
flash int PrepareKanan[4][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,950,1500, 2239,1391,1550,1910,730,1491,1519,1461,1111,2300,1450,1509,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1866,730,1516,1408,1461,1111,2339,1450,1294,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1853,730,1516,1397,2091,1183,2233,1450,1509,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1816,2164,1539,1380,1461,1500,1290,1710,1 541,2302,1391,1550,1795,1261,1104,1408,2091,1294,2077,1421,1509,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000} };
B-18
{2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,2020,2189,1539,1459,1461,1710,866,923,154 1,2106,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000}, {2420,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,2020,2189,1539,1063,1461,1710,866,923,154 1,1739,1391,877,1318,1063,1788,1603,1430,1764,1337,1795,1541,1000,1000,1000,1000,1000,1000,1000,10 00,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 1000,1000,1000,1000,1000} };flash int JalanJongkok[5][64] = { {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1339,1461,1281,1519,1430,1665,1509,1742,1485,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1307,1461,1281,1418,1430,1663,1509,1680,1300,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1307,1461,1281,1406,1430,1663,2108,1232,1379,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1307,1461,1281,1515,1430,1663,2108,1232,1472,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000}, {2500,1500,1500,1500,1500,1500,1500,1500,1500,1500,1500,981,2189,1539,761,1461,1500,2069,1062,150 0,2239,1391,1491,1322,1518,1180,1854,1430,1693,1688,1609,1615,1000,1000,1000,1000,1000,1000,1000,1 000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,100 0,1000,1000,1000,1000,1000} };
// Get a character from the USART1 Receiver #pragma used+ char getchar1(void) { char status,data; while (1) {
while (((status=UCSR1A) & RX_COMPLETE)==0); data=UDR1;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) return data;
}; }
#pragma used-
// Write a character to the USART1 Transmitter #pragma used+
void putchar1(char c) {
while ((UCSR1A & DATA_REGISTER_EMPTY)==0); UDR1=c;
}
B-19
void SendUSART1(char text[]){ int i=0;
for (i=0; i<strlen(text); i++) {
putchar1(text[i]); }
}
void Movement(flash int position[]) {
unsigned char i,Pin; unsigned int Time; int LastValue = 0; char text[32]; for(i=0; i<32; i++) {
Pin = i;
Time = position[i+32];
sprintf(text,"#%d P%d T%d \r", Pin, position[i], Time); SendUSART1(text);
if(Time > LastValue){ LastValue = Time; } } delay_ms(LastValue); } void GoHome() { lcd_clear(); sprintf(LCD,"Home Position\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); Movement(HomePosition[0]); } void GoHomeBaru() { lcd_clear();
sprintf(LCD,"I'm CHRENJI\n From MCU%d",LineSensor()); lcd_puts(LCD); delay_ms(100); Movement(HomeBaru[0]); } void GoJalanJongkok() {
B-20
void GoBelokKiri() {
unsigned char i; lcd_clear(); sprintf(LCD,"Belok Kiri\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<5;i++) { Movement(BelokKiri[i]); } } void GoBelokKanan() {
unsigned char i; lcd_clear(); sprintf(LCD,"Belok Kanan\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<6;i++) { Movement(BelokKanan[i]); } } void GoLeft() {
unsigned char i; lcd_clear(); sprintf(LCD,"Turn Left\n%d",LineSensor()); lcd_puts(LCD); delay_ms(20); for(i=0;i<7;i++) { Movement(TurnLeft[i]); }
LineSensorValue = LineSensor(); }
// void GoRight() // {
// unsigned char i; //
// lcd_clear();
// sprintf(LCD,"Turn Right\n%d",LineSensor()); // lcd_puts(LCD);
// delay_ms(20); //
// for(i=0;i<7;i++) // {
// Movement(TurnRight[i]); // }
B-21
void GoPrepare() {
unsigned char i; lcd_clear(); sprintf(LCD,"Kuda-Kuda\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<3;i++) { Movement(Prepare[i]); } } void GoTrecekEnd() {
unsigned char i; lcd_clear(); sprintf(LCD,"Selesai Trecek\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<4;i++) { Movement(TrecekEnd[i]); } } void GoSalamPembuka() {
unsigned char i;
lcd_clear();
sprintf(LCD,"hi I'm CHRENJI\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<7;i++) { Movement(SalamPembuka[i]); } } void GoSalamPenutup() {
unsigned char i;
lcd_clear();
sprintf(LCD,"see you soon\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<6;i++) { Movement(SalamPenutup[i]); } } void GoTanjakKanan() {
B-22
lcd_clear(); sprintf(LCD,"Tanjak Kanan\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<7;i++) { Movement(TanjakKanan[i]); } } void GoSeblak() {unsigned char i; lcd_clear(); sprintf(LCD,"Seblak\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<10;i++) { Movement(Seblak[i]); if(i == 2 || i == 6) {
delay_ms(800); if(i == 6) {
LineSensorValue = LineSensor(); } } } } void GoTrecekKanan() {
unsigned char i; lcd_clear(); sprintf(LCD,"Trecek Kanan\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<3;i++) { Movement(TrecekKanan[i]); if(i == 3)
{ delay_ms(500); } } } void GoPrepareTrecekKanan() {
B-23
{ Movement(PrepareKanan[i]); } } void GoTrecekKiri() {unsigned char i; lcd_clear(); sprintf(LCD,"Trecek Kiri\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<3;i++) { Movement(TrecekKiri[i]); if(i == 3)
{ delay_ms(500); } } } void GoPrepareTrecekKiri() {
unsigned char i;
lcd_clear();
sprintf(LCD," prepare Trecek Kiri\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<4;i++) { Movement(PrepareTrecekKiri[i]); } } void GoKlatBahu() {
unsigned char i,j; lcd_clear(); sprintf(LCD,"Klat Bahu\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(j=0;j<5;j++) { for(i=0;i<2;i++) { Movement(KlatBahu[i]); } } } void GoNguraiRikmo() {
unsigned char i,j;
lcd_clear();
B-24
delay_ms(100); for(j=0;j<3;j++) { for(i=0;i<2;i++) { Movement(NguraiRikmo[i]); } } } void GoBerhias() {unsigned char i; lcd_clear(); sprintf(LCD,"Berhias\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<6;i++) { Movement(Berhias[i]); delay_ms(1000); } } void GoZonaTengah() {
unsigned char i; lcd_clear(); sprintf(LCD,"Zona Tengah\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<25;i++) { Movement(ZonaTengah[i]); delay_ms(1000); } } void GoGaya() { lcd_clear(); sprintf(LCD,"CHRENJI V1.1"); lcd_puts(LCD); delay_ms(100); Movement(Gaya); } void GoGeserKiri() {
B-25
Movement(GeserKiri[i]);
}
LineSensorValue = LineSensor(); }
void GoGeserKanan() {
unsigned char i; lcd_clear(); sprintf(LCD,"GeserKanan\n%d",LineSensor()); lcd_puts(LCD); delay_ms(100); for(i=0;i<6;i++) { Movement(GeserKanan[i]); }
LineSensorValue = LineSensor(); }
void End() {
lcd_clear();
lcd_putsf("It is the end of the move"); delay_ms(100);
}
SUB PROGRAM UNTUK LINE SENSOR #define RIGHT_SENSOR (PINB & 0x07)
#define LEFT_SENSOR (PINB & 0xF0)
unsigned char LineSensor() {
char data; delay_ms(500);
if (LEFT_SENSOR != 0x00) {
data = 1; }
if (RIGHT_SENSOR != 0x00) {
data = 2; }
if ((LEFT_SENSOR != 0x00) && (RIGHT_SENSOR != 0x00)) {
data = 0; }
LAMPIRAN C
DATASHEET
ATMEGA 128 SMD………
C-1
FLOWSTONE
………
..
C-6
FLOWBOARD
……….
C-8
C-1
C-14
C-15
1
Universitas Kristen MaranathaBAB I
PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, identifikasi masalah,
perumusan masalah, tujuan, pembatasan masalah, serta sistematika penulisan laporan
Tugas Akhir.
I.1
Latar Belakang Masalah
Akhir-akhir ini banyak diselenggarakan kompetisi robot yang bertujuan untuk
menumbuhkembangkan ilmu pengetahuan dan teknologi. Kontes Robot Seni
Indonesia (KRSI) merupakan sebuah kompetisi robot yang diadakan setiap tahun oleh
Direktorat Jenderal Pendidikan Tinggi (dikti). KRSI sudah terselenggara 3 kali yaitu
pada Tahun 2009, Tahun 2010, dan Tahun 2011. Tahun ini KRSI diadakan dengan
peraturan yang lebih menantang.
Dengan memilih tari Klono Topeng dari daerah Yogyakarta, KRSI tahun ini
mewajibkan robot dapat berjalan dengan kedua kaki seperti layaknya manusia.
Tahun-tahun sebelumnya, robot penari diperbolehkan bergerak maju dengan roda
mengikuti garis.
Robot pada kompetisi KRSI ini didesain agar dapat menari berbagai jenis
gerakan dasar tari Klono Topeng dengan mengikuti lintasan yang ada dan mulai
menari dan berjalan ketika gamelan pengiring dimainkan.
I.2
Identifikasi Masalah
Tugas Akhir ini memerlukan robot humanoid yang dapat membedakan jenis
suara instrumen gamelan Klono Topeng dengan suara lainnya untuk dapat menari tari
2
Universitas Kristen MaranathaI.3
Perumusan Masalah
Perumusan yang akan dibahas pada Tugas Akhir ini adalah:
1.
Bagaimana membuat robot yang dapat menari tari Klono Topeng?
2.
Bagaimana robot dapat mendeteksi suara gamelan Klono Topeng walaupun
diberi gangguan suara lain?
I.4
Tujuan
Tugas Akhir ini bertujuan untuk merealisasikan sebuah robot humanoid dengan
kemampuan menari tari Klono Topeng dan membedakan suara instrumen gamelan
Klono Topeng dengan suara lainnya.
I.5
Pembatasan Masalah
Pada Tugas Akhir ini pembatasan masalah yang ditentukan adalah:
1.
Perancangan dan realisasi robot tidak mengikuti semua aturan lomba KRSI
2011 yang dicantumkan pada sistem perlombaan dan spesifikasi robot.
Beberapa aturan yang tidak diikuti pada Tugas Akhir ini adalah :
a.
Robot harus dirancang untuk dapat mendengarkan alunan musik melalui
“telinga” atau sensor suara tanpa melalui kabel.
b.
Robot harus menari mengikuti garis dari zona awal sampai zona akhir
dengan waktu tempuh 3 menit.
2.
Pemrosesan sinyal suara dilakukan oleh aplikasi FlowStone yang ada di PC.
3.
Terdapat pengiriman informasi deteksi suara berupa tegangan melalui kabel
dari PC ke ATMEGA 128 SMD.
4.
Robot hanya mendeteksi suara nada saron pada gamelan Klono topeng dan
3
Universitas Kristen MaranathaI.6
Sistematika Penulisan
Sistematika penulisan untuk Tugas Akhir ini adalah sebagai berikut:
BAB I. PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, identifikasi masalah, perumusan
masalah, tujuan, pembatasan masalah, dan sistematika penulisan laporan Tugas
Akhir.
BAB II. LANDASAN TEORI
Pada bab ini dijelaskan mengenai Kontes Robot Seni Indonesia (KRSI) 2011,
teori-teori penunjang yang diperlukan dalam merancang dan merealisasikan robot
humanoid yaitu berupa teori tentang robot humanoid, sensor-sensor, dan pengontrol
mikro.
BAB III. PERANCANGAN DAN REALISASI
Pada bab ini dijelaskan tentang perancangan dan realisasi sistem robot humanoid
penari Klono Topeng, perancangan dan realisasi rangkaian sensor dan pengontrol,
serta algoritma pemrograman robot penari Klono Topeng.
BAB IV. DATA PENGAMATAN DAN ANALISI DATA
Pada bab ini ditampilkan data-data hasil pengamatan kinerja robot, pengujian
kemampuan robot membedakan suara gamelan Klono Topeng dengan gangguan lain,
dan analisis mengenai data pengamatan yang sudah didapat.
BAB V. SIMPULAN DAN SARAN
Bab ini berisi tentang simpulan-simpulan yang didapat dari keseluruhan perancangan
dan realisasi robot penari Klono Topeng dari awal sampai akhir. Lalu bab ini juga
64
Universitas Kristen MaranathaBAB V
SIMPULAN DAN SARAN
Bab ini berisi tentang simpulan-simpulan yang didapat dari keseluruhan perancangan dan
realisasi robot penari Klono Topeng dari awal sampai akhir. Lalu bab ini juga berisi saran yang
diberikan untuk penelitian lebih lanjut oleh pihak lain.
V.1
Simpulan
Dalam merancang dan merealisasikan robot penari Klono Topeng ini, dapat disimpulkan
beberapa hal seperti berikut:
1.
Robot dapat menari gerakan dasar tarian Klono Topeng dengan cara menggerakan
servo-servo yang ada dengan SSC-32 sebagai pengontrol servo yang mendapat input
data serial dari ATMEGA 128. Persentase keberhasilan robot melakukan gerakan
dasar tarian rata-rata 100% untuk gerakan Salam Pembuka, Seblak, Zona Tengah,
Belok Kiri, dan Belok Kanan. Gerakan Trecek Kiri dan dan Tanjak Kanan memiliki
persentase keberhasilan 80%.
2.
Robot dapat mendeteksi suara gamelan Klono Topeng (saron) meskipun diberi
gangguan. Persentase keberhasilan untuk deteksi suara saron ketika musik gamelan
dimainkan, dihentikan sejenak, dan diberi beberapa jenis gangguan adalah 100%.
Deteksi suara gamelan Klono Topeng yaitu saron menggunakan Program FlowStone
dengan cara mengidentifikasi frekuensi fundamental bukan dengan cara membedakan
warna suaranya. Kelemahan dari metoda ini adalah jika robot mendengar suara lain
yang sama dengan frekuensi nada saron maka robot akan menganggap suara itu
adalah suara saron.
V.2
Saran
Saran-saran yang dapat diberikan untuk hasil yang lebih baik dan pengembangan dari
Tugas Akhir ini di masa mendatang adalah:
1.
Membuat program pada FlowStone yang dapat membedakan suara alat musik secara
65
Universitas Kristen Maranatha2.
Membuat robot tidak perlu terhubung dengan PC melalui kabel. Hal ini dapat
66
Universitas Kristen MaranathaDAFTAR PUSTAKA
1.
Andrianto, H., Buku Panduan: Pelatihan Mikrokontroler AVR ATmega16,
2008.
2.
Chandra, F dan Deni. Jago Elektronika. Jakarta: PT Kawan Pustaka, 2011.
3.
Erick V. Cuevas, Daniel Zaldivar, Raul Rojas, Bipedal Robot Description, 2005.
4.
Kenji Kaneko, et.al, Design of Prototye Humanoid Robotics Platform for
HRP
”Proceedings of the 2002 IEEE/RSJ, Intl. Conference on Intelligent Robots and
Systems EPFL, Lausanne, Switzerland, 2002.
5.
Olson, Harry. Musical Engineering. New Jersey: McGraw-Hill Book Company, Inc,
1952.
6.
Shiavi, Richard. Introduction To Applied Statistical Signal Analysis: Guide To
Biomedical Andelectrical Engineering Applications.London: Elsevier, 2007.
7.
Sinclair, Ian R. dan John Dunton. Practical Electronic Handbook. Oxford: Elsevier, 2007
8.
http://pdf1.alldatasheet.com/datasheet-pdf/view/56260/ATMEL/ATMEGA128.html
diakses tanggal 21 Juni 2011
9.
http://www.dikti.go.id/files/dp2m/Kontes%20Robot%20Seni%20Indonesia%202011.pdf
diakses 31 Mei 2011