Pengukuran Kecepatan Kendaraan Bermotor Berbasis Mikrokontroler ATMega8535 Melalui Komunikasi GSM

(1)

LAMPIRAN A RANGKAIAN LENGKAP


(2)

LAMPIRAN B

PROGRAM DI MIKROKONTROLER ATMEGA 8535 /***************************************************** This program was produced by the

CodeWizardAVR V1.25.8 Standard Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version :

Date : 17/12/2011

Author : F4CG Company : F4CG Comments:

Chip type : ATmega8535 Program type : Application Clock frequency : 11,059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 128

*****************************************************/ #include <mega8535.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm


(3)

#include <lcd.h> #include <stdio.h> #include <delay.h>

int indikator2, kondisi, hitung, nilai1, nilai2, nilai3, indktor, temp, alamat; int ps1, ps2, ps3, ps4, ps5, ps6, ps7, ps8, ps9, ps10, ps11, ps12, ps13; float kec_m, kec_km, detik, jarak, v_maks;

unsigned char eeprom *pointer_eeprom; unsigned char data1[16];

#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)

#define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)

// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE<256

unsigned char rx_wr_index,rx_rd_index,rx_counter; #else

unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif


(4)

// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;

// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) {

char status,data; status=UCSRA; data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) {

rx_buffer[rx_wr_index]=data;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)

{

rx_counter=0;

rx_buffer_overflow=1; };

if (indikator2==12) {ps13=data; indikator2=13; } if (indikator2==11) {ps12=data; indikator2=12; } if (indikator2==10) {ps11=data; indikator2=11; } if (indikator2==9) {ps10=data; indikator2=10; } if (indikator2==8) {ps9=data; indikator2=9; } if (indikator2==7) {ps8=data; indikator2=8; } if (indikator2==6) {ps7=data; indikator2=7; } if (indikator2==5) {ps6=data; indikator2=6; } if (indikator2==4) {ps5=data; indikator2=5; } if (indikator2==3) {ps4=data; indikator2=4; } if (indikator2==2) {ps3=data; indikator2=3; } if (indikator2==1) {ps2=data; indikator2=2; } if (indikator2==0) {ps1=data; indikator2=1; } ps11=data;


(5)

}

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_

#pragma used+ char getchar(void) {

char data;

while (rx_counter==0); data=rx_buffer[rx_rd_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli")

--rx_counter; #asm("sei") return data; }

#pragma used- #endif

// Standard Input/Output functions #include <stdio.h>

//#include <baca_keypad.c>;

// Declare your global variables here void baca()

{

indktor=1;

while (indktor==1) {

PORTA.0=0; PORTA.1=1; PORTA.2=1;


(6)

PORTA.3=1; delay_ms(2);

if (PINA.4==0) {temp=1; indktor=0;} if (PINA.5==0) {temp=2; indktor=0;} if (PINA.6==0) {temp=3; indktor=0;} PORTA.0=1;

PORTA.1=0; PORTA.2=1; PORTA.3=1; delay_ms(2);

if (PINA.4==0) {temp=4; indktor=0;} if (PINA.5==0) {temp=5; indktor=0;} if (PINA.6==0) {temp=6; indktor=0;} PORTA.0=1;

PORTA.1=1; PORTA.2=0; PORTA.3=1; delay_ms(2);

if (PINA.4==0) {temp=7; indktor=0;} if (PINA.5==0) {temp=8; indktor=0;} if (PINA.6==0) {temp=9; indktor=0;} PORTA.0=1;

PORTA.1=1; PORTA.2=1; PORTA.3=0; delay_ms(2);

if (PINA.5==0) {temp=0; indktor=0;} PORTA.3=1;

} }


(7)

{

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out

// State7=P State6=P State5=P State4=P State3=1 State2=1 State1=1 State0=1 PORTA=0xFF;

DDRA=0x0F;

// 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=P State2=P State1=T State0=T PORTD=0x0C;

DDRD=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped


(8)

// 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


(9)

// 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=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;


(10)

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei")

indikator2=0; kondisi=0; hitung=0;

pointer_eeprom=0; alamat=*pointer_eeprom; if (alamat==255.00) {

pointer_eeprom=0; // alamat penyimpanan data kec max *pointer_eeprom=001;

pointer_eeprom=0;

pointer_eeprom=pointer_eeprom+1; // alamat penyimpanan data jarak *pointer_eeprom=5;

}

pointer_eeprom=0;

v_maks=*pointer_eeprom; pointer_eeprom=0;

pointer_eeprom=pointer_eeprom+1; jarak=*pointer_eeprom;

jarak=jarak/10; while (1) {

// Place your code here

if (ps8==82 && ps9==101 && ps10==97) {


(11)

lcd_gotoxy(0,0);

lcd_putsf("My Project"); lcd_gotoxy(0,1);

lcd_putsf("Sistem Ready"); delay_ms(1000);

while (kondisi==1) {

if (PIND.3==0) {

while (PIND.2==1) {delay_ms(2); hitung=hitung+1;} delay_ms(50);

pointer_eeprom=0;

pointer_eeprom=pointer_eeprom+1; jarak=*pointer_eeprom;

jarak=jarak/10; detik=hitung; detik=detik/500; kec_m=jarak/detik; lcd_clear();

sprintf(data1,"t=%0.03fs",detik); lcd_gotoxy(0,0);

lcd_puts(data1);

sprintf(data1,"S=%0.01f",jarak); lcd_gotoxy(10,0);

lcd_puts(data1);

sprintf(data1,"v=%0.05f m/dtk",kec_m); lcd_gotoxy(0,1);

lcd_puts(data1); delay_ms(5000);

kec_km=kec_m*3.6; lcd_clear();


(12)

lcd_gotoxy(0,0); lcd_puts(data1);

sprintf(data1,"S=%0.01f",jarak); lcd_gotoxy(10,0);

lcd_puts(data1);

sprintf(data1,"v=%0.05f Km/jam",kec_km); lcd_gotoxy(0,1);

lcd_puts(data1);

if (kec_km>=v_maks) {

printf("at+cmgs="); putchar('"');

printf("+6285359710965"); putchar('"');

printf(","); delay_ms(1000); putchar(13); delay_ms(1000);

printf("Kecepatan Melampaui Batas v=%0.3f Km/jam\r\n", kec_km); delay_ms(1000);

putchar(26); putchar(13); delay_ms(1000); }

delay_ms(5000);

lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf("My Project"); lcd_gotoxy(0,1);

lcd_putsf("Sistem Ready"); hitung=0;


(13)

delay_ms(100); }

PORTA.0=0; delay_ms(2); if (PINA.7==0) {

lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf(" Setting v Maks"); lcd_gotoxy(0,1);

lcd_putsf("v Maks= "); baca();

nilai1=temp;

sprintf(data1,"%d",nilai1); lcd_gotoxy(8,1);

lcd_puts(data1); delay_ms(1000); baca();

nilai2=temp;

sprintf(data1,"%d",nilai2); lcd_gotoxy(9,1);

lcd_puts(data1); delay_ms(1000); baca();

nilai3=temp;

sprintf(data1,"%d",nilai3); lcd_gotoxy(10,1);

lcd_puts(data1); delay_ms(1000);

nilai1=(nilai1*100)+(nilai2*10)+nilai3; v_maks=nilai1;


(14)

*pointer_eeprom=nilai1; PORTA.0=1;

sprintf(data1,"%d",nilai1); lcd_gotoxy(13,1);

lcd_puts(data1); delay_ms(3000); lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf(" Setting Jarak"); lcd_gotoxy(0,1);

lcd_putsf("Jarak= "); baca();

nilai1=temp;

sprintf(data1,"%d",nilai1); lcd_gotoxy(7,1);

lcd_puts(data1); delay_ms(1000); baca();

nilai2=temp;

sprintf(data1,"%d",nilai2); lcd_gotoxy(8,1);

lcd_puts(data1); delay_ms(1000); baca();

nilai3=temp;

sprintf(data1,"%d",nilai3); lcd_gotoxy(9,1);

lcd_puts(data1); delay_ms(1000);

nilai1=(nilai1*100)+(nilai2*10)+nilai3; pointer_eeprom=0;

pointer_eeprom=pointer_eeprom+1; // alamat penyimpanan data jarak *pointer_eeprom=nilai1;


(15)

jarak=nilai1; jarak=jarak/10; PORTA.1=1;

sprintf(data1,"%0.01f",jarak); lcd_gotoxy(11,1);

lcd_puts(data1); delay_ms(3000); lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf("My Project"); lcd_gotoxy(0,1);

lcd_putsf("Sistem Ready"); delay_ms(100);

} }} else

{

lcd_gotoxy(0,0); lcd_putchar(ps1); lcd_gotoxy(1,0); lcd_putchar(ps2); lcd_gotoxy(2,0); lcd_putchar(ps3); lcd_gotoxy(3,0); lcd_putchar(ps4); lcd_gotoxy(4,0); lcd_putchar(ps5); lcd_gotoxy(5,0); lcd_putchar(ps6); lcd_gotoxy(6,0); lcd_putchar(ps7); lcd_gotoxy(7,0); lcd_putchar(ps8); lcd_gotoxy(8,0);


(16)

lcd_putchar(ps9); lcd_gotoxy(9,0); lcd_putchar(ps10); lcd_gotoxy(10,0); lcd_putchar(ps11); lcd_gotoxy(11,0); lcd_putchar(ps12); lcd_gotoxy(12,0); lcd_putchar(ps13); indikator2=0;

sprintf(data1,"%d",ps8); lcd_gotoxy(0,1);

lcd_puts(data1);

sprintf(data1,"%d",ps9); lcd_gotoxy(6,1);

lcd_puts(data1);

sprintf(data1,"%d",ps10); lcd_gotoxy(11,1);

lcd_puts(data1); delay_ms(300); lcd_clear(); }

}; }


(17)

LAMPIRAN C

PPROGRAM VISUAL BASIC

============================================================ Public con As New ADODB.Connection

Public rssms As ADODB.Recordset Public Sub connectDatabase() Set con = New ADODB.Connection Set rssms = New ADODB.Recordset

con.Open "DRIVER={MySQL ODBC 3.51

Driver};DESC=;DATABASE=smsd;SERVER=localhost;UID=root;PASSWORD=;P ORT=3306;OPTION=;STMT=;"

End Sub

============================================================= Private Sub Command1_Click()

Unload Me End Sub

Private Sub Form_Load() Dim indeks As Integer Timer1.Enabled = True Call connectDatabase

rssms.CursorLocation = adUseClient

rssms.Open "select ReceivingDateTime, TextDecoded from inbox", con, adOpenStatic, adLockOptimistic

Set DataGrid1.DataSource = rssms.DataSource DataGrid1.Columns(1).Width = 5700

DataGrid1.Columns(0).Width = 2450 End Sub

Private Sub Timer1_Timer() Call connectDatabase


(18)

rssms.CursorLocation = adUseClient

rssms.Open "select ReceivingDateTime, TextDecoded from inbox ORDER by ReceivingDateTime ASC", con, adOpenStatic, adLockOptimistic

Set DataGrid1.DataSource = rssms.DataSource DataGrid1.Columns(1).Width = 5700

DataGrid1.Columns(0).Width = 2450

'Me.DataGrid1.Columns(1).Width = Len(Me.DataGrid1.Columns(1).Text) rssms.MoveLast

Text1.Text = rssms(0) Text2.Text = rssms(1) End Sub


(19)

DAFTAR PUSTAKA

Bejo, A. 2008. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller ATMega8535, Edisi I. Yogyakarta : Graha Ilmu

Budiharto,W dan Gamayel Rizal.2007. 12 Proyek Mikrokontroler Untuk Pemula.Jakarta : Penerbit PT Elex Media Komputindo Kelompok Gramedia Budihartono, W dan F Sigit. 2008. Elektronika Digital + Mikroprosessor, Jakarta :

Penerbit ANDI Yogyakarta

Eko Putra, Agfianto. 2002. Teknik Antarmuka Komputer Konsep dan Aplikasi. Yogyakarta: Graha Ilmu

Malvino. 1985. Prinsip – prinsip elektronika. Edisi III, Jilid 1. Jakarta : Gramedia Pustaka Umum

Sitompul, Opim.2010. Pemograman C di Lingkungan Linux. Edisi 2. Medan: USU Press

Tim Divisi Penelitian dan Pengembangan MADCOMS-madiun.2005.Mahir Dalam 7 Hari Pemograman Visual Basic 6.0,Jakarta :Penerbit Andi

Rangkuti,Syahban.2011.Mikrokontroller ATMEL AVR ,Bandung : Penerbit Informatika

Wardhana, L. 2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535. Yogyakarta : Penerbit Andi

http://arifrohmanhakim.wordpress.com/2010/05/25/arsitektur-jaringan-gsm/ Diakses 29 Agustus 2012

http://te.ugm.ac.id/~risanuri/siskom/SISTEM_GSM.pdf Diakses 2 September 2012

http://jiastisipolcandradimuka.blogspot.com/2011/03/mengenal-cara-kerja-sms-short-message.html Diakses 29 Agustus 2012

http://www.atmel.com. Diakses tanggal 17 Desember 2012


(20)

BAB III

PERANCANGAN SISTEM

3.1. PERANCANGAN ALAT

3.1.1 DIAGRAM BLOK RANGKAIAN

Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1 berikut ini :

Laser pointer Laser pointer Photodioda Photodioda M IK R O K O N T R OL L E R A T M e g a 8 5 3 5 LCD Modul GSM Modem GSM PC Keypad INTERFACE KOMUNIKASI Rangkaian Penguat Rangkaian Penguat


(21)

Dari gambar diagram blok diatas dapat di jelaskan cara kerja rangkaian secara singkat.Untuk melakukan pengukuran kendaraan maka dilakukan prosedur sebagai berikut, pertama Sensor di letakkan dengan jarak yang telah ditentukan yaitu 50 cm,kemudian kita menentukan input untuk nilai jarak dan kecepatan maksimum kendaraan yang dilakukan dengan menekan keypad , setelah itu kita lihat tampilan inputan jarak dan kecepatan maksimum tersebut di LCD.Setelah itu data akan diproses mikrokontroler dan akan disimpan di memory,kemudian akan tampil data My Project Sistem Ready.

Kendaraan akan memotong sensor I dan sensor II.Selanjutnya mikrokontroller akan menerima keluaran dari sensor I yang tegangannya di naikkan oleh rangkaian penguat, sehingga akan mengaktifkan counter. Setelah kendaraan melewati sensor 2 maka mikrokontroller akan menerima output untuk selanjutnya akan menghentikan counter. Mikrokontroller telah di buat program untuk , melakukan perhitungan kecepatan, setelah itu bila kecepatan kendaran yang diukur alat ini, melibihi kecepatan maksimum yang telah ditentukan , maka mikrokontroller akan mengirim data kecepatan kendaran tersebut, setelah itu mikrokontroller akan mengaktifkan modul GSM yang telah deprogram untuk mengirim data, dalam bentuk sms ke modem gsm yang telah terhubung ke personal computer (PC ) yang jaraknya jauh dari tempat pengukuran, dimana PC telah di lengkapi dengan program visual basic untuk menampilkan data-data kecepatan yang melampaui batas kecepatan maksimum, dengan bentuk data base.

3.1.2 Rangkaian Power Supplay (PSA)

Rangkaian skematik power supply dapat dilihat pada gambar 3.2 di bawah ini:


(22)

Rangkaian power supply berfungsi untuk mensupplay arus dan tegangan ke seluruh rangkaian yang ada. Rangkaian power supply ini menghasilkan 1 keluaran, yaitu 5 volt , keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian kecuali rangkaian ADC.Trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor

2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang

dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan.

3.1.3 Rangkaian Mikrokontroler ATMEGA8535

Pada perancangan alat ini akan digunakan mikrokontroller ATMEGA8535 yang berfungsi untuk membaca sinyal dari keypad dan sensor, menampilkannya pada display LCD dan mengirimkan data kecepatan terukur jika melebihi batas yang telah ditentukan dalam bentuk SMS dengan menggunakan modul GSM. Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler ATMEGA8535. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Dalam menjalankan chip IC mikrokontroler ATMEGA8535 memerlukan komponen elektronika pendukung lainnya. Suatu rangkaian yang paling sederhana dan minim komponen pendukungnya disebut sebagai suatu rangkaian sistem minimum. Sistem minimum ini berfungsi untuk membuat rangkaian mikrokontroller dapat bekerja, jika ada komponen yang kurang, maka mikrokontroller tidak akan bekerja. Dalam perancangan alat ini, sistem minimum mikrokontroler ATMEGA8535 terdiri dari Chip IC mikrokontroler ATMega8535, kristal 11.0592 Mhz, kapasitor dan resistor.Rangkaian mikrokontroler ATMEGA8535 master ditunjukkan pada gambar berikut ini:


(23)

Gambar 3.3 Rangkaian mikrokontroller ATMEGA8535

Mikrokontroler ini memiliki 32 port I/O, yaitu port A, port B, port C dan port D. Pin 33 sampai 40 adalah Port A yang merupakan port ADC, dimana port ini dapat menerima data analog. Pin 1 sampai 8 adalah port B. Pin 22 sampai 29 adalah port C. Dan Pin 14 sampai 21 adalah port D. Pin 10 dihubungkan ke sumber tegangan 5 volt. Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu. Pada pin 9 dihubungkan dengan sebuah kapasitor dan sebuah resistor yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut.

Dari Sensor

Ke

Dis

p

lay

L

C

D

Dar

i K

ey

p

ad


(24)

3.1.4 Rangkaian Sensor

Rangkaian ini terdiri dari sebuah pemancar Laser, dan sebuah rangkaian penerima laser. Pemancar laser dipasang berhadapan dengan rangkaian penerima yang dilengkapi dengan photo dioda. Jika sinar laser mengenai photo dioda, maka rangkaian penerima akan menghasilkan sinyal high (1) yang dikirimkan ke mikrokontroller.

Ketika sinar Laser tidak mengenai photo dioda ( ada objek yang menghalangi sinar laser), maka rangkaian penerima akan menghasilkan sinyal low (0) yang dikirimkan ke mikrokontroller.

Pada alat ini pemancar yang digunakan adalah sebuah laser ponter, yang dijual di pasaran.

Gambar 3.4 Rangkaian Pemancar laser

Pancaran dari sinar laser akan diterima oleh photodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan sinyal high atau low, dimana jika photodioda menerima pancaran sinar laser maka output dari rangkaian penerima ini akan mengeluarkan logika high (1), namun jika LDR tidak menerima pancaran sinar laser, maka output dari rangkaian penerima akan mengeluarkan logika low (0).


(25)

Rangkaian penerima laser tampak seperti gambar di bawah ini:

Gambar 3.5 Rangkaian Penerima sinar laser

Berdasarkan rangkaian di atas, maka tegangan output dari fotodioda dapat dihitung dengan persamaan sebagai berikut dengan menggunakan prinsip pembagi tegangan maka tegangan yang dihasilkan adalah:

a. Saat tidak ada sinar infra merah, R pada photodioda adalah 50 MΩ V photodioda = Ω

x 5 = 0,0000032 V = 3,2 µV

b. Saat ada sinar infra merah, R pada photodioda adalah 333 KΩ V photodioda = Ω

x 5 = 0,00495 V = 4,95 mV

Pada rangkaian di atas, output dari potodioda diumpankan ke Op Amp 358. LM358 merupakan IC penguat dengan dua Op Amp. IC LM358 memiliki karakteristik dapat menguatkan sampai 100 kali penguatan. Pada Op Amp pertama Ke Mikrokontroller


(26)

tegangan input akan diperkuat sampai maksimal 100 kali penguatan, dimana besarnya penguatan dapat dihitung dengan menggunakan persamaan berikut:

 

K R AV Potensio

1

kali K

K

AV 100

1 100

  

Sehingga tegangan keluaran dari OP – AMP pertama dapat dihitung dengan persamaan sebagai berikut:

Vout=Av x Vin

a. Saat tidak ada sinar infra merah, Vin = 3,2 µV = 0,0000032 V Vout= 100 x 0,0000032 V = 0,00032 V = 0,32 mV

b. Saat ada sinar infra merah, Vin = 4,95 mV = 0,00495 V V= 100 x 0,00495 V = 0,495 V

Tegangan keluaran dari penguat pertama saat ada sinar infra merah adalah 0,495 Volt, tegangan ini belum cukup untuk dapat membuat transistor saturasi. Karena itu diperlukan penguatan yang kedua. Pada Op Amp kedua tegangan input akan diperkuat sampai 10 kali penguatan, dimana besarnya penguatan dapat dihitung dengan menggunakan persamaan berikut:

  K R A Potensio V 1 kali K K

AV 10

1 10

  

Penguatan kedua dapat dihitung dengan persamaan sebagai berikut: Vout=Av x Vin

a. Saat tidak ada sinar infra merah, Vin = 0,32 mV = 0,00032 V Vout= 10 x 0,00032 V = 0,00332V = 3,2 mV


(27)

b. Saat ada sinar infra merah, Vin = 0,495 V V= 10 x 0,495 V = 4,95 V

Maka dengan perolehan tegangan dari penguatan Op-Amp diatas maka jika saat tidak ada sinar infra merah , maka tegangan yang diperoleh adalah 3,3 mV pada tegangan ini transistor masih dalam keadaan cut off dimana terminal kolektor dan emiter dalam keaadan terbuka.Sehingga mikkrokontroler akan mendapat data Low dari sensor pada keadan tidak terkena cahaya infra merah. Dengan perolehan tegangan dari penguatan Op-Amp jika saat rangkaian sensor terkena sinar infra merah , maka tegangan yang diperoleh adalah 4,95 mV pada tegangan ini transistor masih dalam keadaan satu rasi dimana terminal kolektor dan emiter dalam keaadan tertutup. Sehingga mikkrokontroler akan mendapat data High dari sensor pada keadan terkena cahaya infra merah.

3.1.5 Rangkaian Keypad

Rangkaian Keypad berfungsi sebagai tombol untuk memasukan nilai batas kecepatan maksimum dan nilai jarak antara sensor. Kemudian data yang diketikkan pada keypad akan diterima oleh mikrokontroler ATMEGA8535 untuk kemudian diolah, ditampilkan pada display LCD dan disimpan dalam EEPROM.Rangkaian keypad ditunjukkan pada gambar berikut ini :


(28)

Gambar 3.6 Rangkaian keypad

Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada dipasaran. Keypad ini terdiri dari 16 tombol yang hubungan antara tombol-tombolnya seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke PORTA mikrokontroler ATMEGA8535.

3.1.6 Rangkaian LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD LMB162ABC karena harganya cukup murah. LCD LMB162ABC merupakan modul LCD dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.

Pada LCD sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory).

LCD yang umum, ada yang panjangnya hingga 40 karakter (2x40 dan 4x40), dimana kita menggunakan DDRAM untuk mengatur tempat penyimpanan karakter tersebut. hubungan perangkat keras dengan mikrokontroler terdiri atas 8 saluran data


(29)

(D0-D7) dan kontrol yang terdiri atas Enable (E, Clock) untuk memalangkan data ke buffernya, sinyal Read/Write (R/W), Register Select (RS): RS= 0 modus komando, RS=1 modus data, ditambah jalur catu daya: Vss (ground), Vdd (Vcc, +5V), dan Vee (contrast control). Pada umumnya, VEE ini dihubungkan ke pembagi tegangan

(potensiometer) antara VCC dan Ground. Karena LCD yang digunakan mempunyai

backlamp, maka ditambahkan 2 pin yaitu pin ke- 15 berfungsi untuk catu daya +5 volt.

Gambar berikut menampilkan hubungan antara LCD dengan port mikrokontroler:

Gambar 3.7 Rangkaian Skematik dari LCD ke mikrokontroler

Pada gambar rangkaian skematik dari LCD pin 1 dihubungkan ke Vcc (5V), pin 2 dan 16 dihubungkan ke Gnd (Ground), pin 3 merupakan pengaturan tegangan Contrast dari LCD, pin 4 merupakan Register Select (RS), pin 5 merupakan R/W (Read/Write), pin 6 merupakan Enable, pin 11-14 merupakan data. Reset, Enable, R/W dan data dihubungkan ke mikrokontroler Atmega8535. Fungsi dari potensiometer (R2) adalah untuk mengatur gelap/terangnya karakter yang ditampilkan pada LCD.


(30)

3.1.7 Rangkaian Driverr MAX232

Untuk menghubungkan mikrokontroller dengan modul GSM diperlukan komunikasi serial RS232r, driver yang digunakan adalah MAX232.Driver ini berfungsi untuk mesinkronisasi tegangan antara mikrokontroller dengan Modul GSM.Sehingga komunikasi serial dapat terjadi antara mikrokontroler dan modul GSM.Rangkaian driver MAX232 ini ditunjukkan pada gambar 3.8 berikut:

Gambar 3.8 rangkaian MAX232

Rangkaian ini terdiri dari sebuah ic MAX232 dan 4 buah elektrolit kapasitor. Rangkaian ini berfungsi mengubah logika high +3 s/d +25 volt pada DB9 menjadi logika high 5 volt pada keluarannya, juga mengubah logika low -3 s/d -25 volt pada DB9 menjadi logika low 0 volt pada keluarannya. Dan sebaliknya,dimana tegangan +3s/d-3 volt tidak di definisikan. Pin 12 dan Pin 11 akan menerima data serial berupa data kecepatan yang telah diprogram di mikrokontroller yang akan dikirim ke modul GSM , sehingga modul GSM akan mengirim Data serial tadi dalam bentuk SMS ke modem GSM yang terhubung ke PC.Fungsi utamanya adalah Untuk mengkonversikan sinyal TTL pada mikrokontroler menjadi sinyal seial port yang dibutuhkan.

Ke

P

or

t Main Modul

GSM


(31)

3.1.8 Module GSM SIM300EVB dan Modem GSM

Perangkat GSM yang digunakan dalam perancangan ini adalah D-GSM300 yaitu Modul SIMCOM SIM300EVB yang dikembangkan oleh Delta Electronic menjadi Modul GSM Modem siap pakai sehingga perangkat mikrokontroler maupun PC dapat mengaksesnya dengan mudah. PC dapat mengakses modul ini melalui port RS232 yang disediakan sedangkan mikrokontroler dapat mengakses melalui port serial. Untuk netbook atau laptop yang tidak memiliki port serial, dengan tambahan DU‐232, SIM300EVB dapat diakses melalui port USB. Dalam pengguanaan modul gsm digunakan perintah atau yang lebih dikenal dengan “at-command” yang ditetapkan baik secara internasional maupun oleh vendor pembuat modem itu sendiri.

pengoperasian SIM300EVB dengan PC dilakukan menghubungkan port RS232 SIM300EVB pada port RS232 PC. Software yang digunakan adalah GTKterm/minicom (linux) atau Hyperterminal (windows). Baudrate standar yang digunakan D-GSM300 adalah 115200 bps. Module SIM300EVB ditunjukkan oleh gambar berikut :

Gambar 3.9 Modul GSM SIM300 Top Dan Bottom View

Modem GSM digunakan untuk menerima Data SMS dari modul GSM, dengan memanfatkan gammu dalam perancangan SMS Gateway nya, dan MYSQL sebagai databasenya yang digunakan untuk program Tampilan database pada Visula basic, diamana data base ini akan ditampilkan di PC, dan modem terhubung ke PC.


(32)

3.2 Perancangan Program

Diagram alir programnya adalah sebagai berikut:

start

Inisialisasi ke port dengan modul GSM

Tunggu Sinyal dari sensor

Sensor 1 = 0

Tekan A pada keypad Hitung Waktu Baca input jarak Baca input V Maks Sensor 2 = 0

Kec = Jarak Waktu

Konversi ke Km/Jam

Kec Kec Maks Kirim Data Kecepatan menggunakan GSM Modul

End Ya tidak Tidak Ya Ya Nilai = Baca eeprom

Jarak = Nilai

Nilai V Maks = Baca eeprom V maks = Nilai V Maks

Tampilkan nilai jarak , t (detik) V = Nilai V ( meter )

Tampilkan nilai jarak , t (detik) V = Nilai V ( Kilometer )

Ya

Tidak

Masukkan Data jarak dan Vmaks ke eeprom

Tidak


(33)

Pada saat power dihidupkan maka mikrokontroler akan melakukan inilisiasi port ke modul GSM, bila koneksi modul GSM dengan mikrokontroler terubung dengan baik maka mikrokontroler akan membaca nilai inputan V maks dan jarak yang disimpan di EEPROM yang sebelumnya telah disetting dengan menggunakan Keypad , yang telah terhubung dengan mikrokontroller, kemudian mikrokontroller akan menunggu sinyal dari sensor , dimana pada perancangan alat terdapat dua sensor, yaitu sensor 1 dan sensor 2 .Sensor yang digunakan adalah photodioda,apabila sensor satu mengirim inputan 0 ( Low ) yang akan mengaktifkan program penghitungan waktu dan program ini akan berakhir hingga sensor 2 mengirim inputan 0 (Low), selama sensor 2 tidak 0 (LOW) tetap melakukan pengitungan waktu .

Apabila mikrokontroller tidak mendapat data input dari sensor 1 maka mikrokontroler dapat menerima settingan data jarak dan kecepatan maksimum yang ditekan melalui keypad,kemudian data akan di simpan dalam EEPROM. Setelah didapat waktu maka dilaksanakan program penghitungan kecepatan yaitu Jarak dibagi waktu, dimana jarak nya adalah 0,5 meter dan waktu ( t ) detik, setelah itu tampilkan pada LCD nilai jarak, t(detik) dan nilai v (meter/detik).Kemudian lakukan konversi ke Km/Jam, setelah itu tampilkan di LCD nilai jarak,t(detik) dan nilai v ( kilometer/jam ). Apabila hasil perhitungan kecepatan (V) nya lebih besar atau sama dengan kecepatan V maksimum yang telah disimpan dalam EEPROM maka mikrokontroler perintahkan modul GSM mengirim data kecepatan yang telah terukur yang melebihi batas kecepatan maksimum dalam bentuk SMS kemudian akhiri program, dimana pada mikrokontroler teah dibuat program untuk mengirim format data SMS yang akan dikirimkan oleh modul GSM.

Jika kecepatan tidak sama atau tidak melebihi kecepatan maksimum akhiri program, dimana disini alat hanya menampilkan tampilan data kecepatan yang terukur ditampilkan pada LCD dan data kecepatan tidak akan dikirimkan oleh modul GSM.


(34)

BAB IV

PENGUJIAN SISTEM

Pada bab ini, akan dibahas pengujian alat mulai dari pengujian alat permodul sampai pengujian alat secara keseluruhan. Pengujian tersebut akan di lakukan secara bertahap dengan urutan sebagai berikut:

a. Pengujian minimum sistem

b. Pengujian sistem secara keseluruhan

4.1 Pengujian Minimum Sistem

4.1.1 Pengujian Rangkaian mikrokontroller AVR ATMega8535

Pada pengujian rangkaian mikrokontroller dilakukan percobaan yang sifatnya sederhana tapi dapat menunjukkan bekerja tidaknya minimum system pada rangkaian tersebut.Percobaan tersebut adalah menghidupkan beberapa buah LED secara bergantian. Percobaan ini dilakukan pada I/O port (Port A). Untuk menghidupkan LED tersebut digunakan program sebagai berikut:

while (1) {

// Place your code here PORTA=170

delay_ms(100); PORTA=15 delay_ms(100); };


(35)

Jika Program tersebut dijalankan , maka LED akan hidup dan mati secara bergantian seperti yang ditunjukkan oleh tabel sebagai berikut:

Tabel 4.1 Pengujian Rangkaian Mikrokontroler AVR ATMega8535

LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 LED 7 LED 8

Tahap 1 ON OFF ON OFF ON OFF ON OFF

Tahap 2 ON OFF ON OFF ON OFF ON OFF

4.1.2 Pengujian LCD

Selain percobaan uji I/O Port ( Port A), juga duilakukan pengujian LCD. Pada tahap ini dilakukan percobaan untuk mengaktifkan LCD system. Pengaktifan LCD ini dilakukan dengan cara menampilkan beberapa karakter pada LCD.Untuk menampilkan beberapa karakter tersebut digunakan listing program sebagai berikut:

while (1) {

// Place your code here lcd_gotoxy(4,0);

lcd_putsf("MY PROJECT"); delay_ms(30);

lcd_clear(); };

}

Jika program di atas dijalankan maka di layar LCD akan tampil „MY PROJECT‟ pada koordinat x = 4 dan y = 0. Hal ini menunjukkan bahwa minimum system dan LCD dapat berjalan dengan baik.


(36)

4.1.3Pengujian Keypad

Pengujian rangkaian tombol ini dapat dilakukan dengan menghubungkan rangkaian ini dengan mikrokontroler ATMEGA8535, kemudian memberikan program sederhana untuk mengetahui baik/tidaknya rangkaian ini. Rangkaian dihubungkan ke PORTA.

Untuk Mengecek penekanan pada tombol “A” yang paling atas, maka PORTA.0

diberi logika 0 Dengan demikian maka PORTA.0 akan mendapat logika low (0), dan yang lainnya mendapat logika high (1), seperti berikut:

Jika terjadi penekanan pada Tbl A, maka PORTA.0 akan terhubung ke PORTA.7 yang menyebabkan PORTA.7 juga akan mendapatkan logika low (0). Seperti berikut:

A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 0 1 1 1 1 1 1 0

Nilai pada PORTA.7 akan berubah menjadi 0. Nilai inilah sebagai indikasi adanya penekanan pada tombol A.

Jika terjadi penekanan pada Tbl 1, maka PORTA.0 akan terhubung ke PORTA.4 yang menyebabkan PORTA.4 juga akan mendapatkan logika low (0). Seperti berikut:


(37)

A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 1 1 1 0 1 1 1 0

Nilai pada PORTA.4 akan berubah menjadi 0. Nilai inilah sebagai indikasi adanya penekanan pada tombol 1. Demikian seterusnya untuk tombol-tombil yang lain.

Program yang diisikan pada mikrokontroler ATMEGA8535 untuk menguji rangkaian keypad adalah sebagai berikut:

PORTA.0=0;

if (PINA.4==0) {temp=1; indktor=0;} if (PINA.5==0) {temp=2; indktor=0;} if (PINA.6==0) {temp=3; indktor=0;}

Program diatas akan menunggu penekanan pada tombol 1, tombol 2, tombol 3 dan seterusnya. Jika tombol 1 ditekan, maka variable temp akan diisi dengan 1, jika tombol 2 ditekan, maka variable temp akan diisi dengan 2 dan jika tombol 3 ditekan, maka variable temp akan diisi dengan 3. Variable temp merupakan variable untuk penyimpanan nilai tombol yang ditekan. Indktor merupakan variable untuk keluar dari rutin baca keypad. Jika indktor bernilai 0 makan program akan keluar dari rutin baca keypad dan melanjutkan ke rutin selanjutnya.

Untuk Mengecek penekanan pada 4 tombol yang di tengah, maka PORTA.1 diberi logika 0 Dengan demikian maka PORTA.1 akan mendapat logika low (0), dan yang lainnya mendapat logika high (1).

Jika terjadi penekanan pada Tbl 4, maka PORTA.0 akan terhubung ke PORTA.4 yang menyebabkan PORTA.4 juga akan mendapatkan logika low (0). Seperti berikut,

A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 1 1 1 0 1 1 1 0


(38)

Nilai pada PORTA.4 akan berubah menjadi 0. Nilai inilah sebagai indikasi adanya penekanan pada tombol 4.

Jika terjadi penekanan pada Tbl 5, maka PORTA.0 akan terhubung ke PORTA.5 yang menyebabkan PORTA.5 juga akan mendapatkan logika low (0). Seperti berikut,

A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 1 1 0 1 1 1 1 0

Nilai pada PORTA.5 akan berubah menjadi 0. Nilai inilah sebagai indikasi adanya penekanan pada tombol 5. Demikian seterusnya untuk tombol-tombil yang lain.

Program yang diisikan pada mikrokontroler ATMEGA8535 untuk menguji rangkaian keypad adalah sebagai berikut:

PORTA.1=0;

if (PINA.4==0) {temp=4; indktor=0;} if (PINA.5==0) {temp=5; indktor=0;} if (PINA.6==0) {temp=6; indktor=0;}

Program diatas akan menunggu penekanan pada tombol 4, tombol 5, dan tombol 6. Jika tombol 4 ditekan, maka temp akan diisi dengan 4, jika tombol 5 ditekan, maka temp akan diisi dengan 5 dan jika tombol 6 ditekan, maka temp akan diisi dengan 6.


(39)

4.1.4 Pengujian Rangkaian Sensor

Pengujian pada rangkaian dapat dilakukan dengan mengukur tegangan pada output sensor. Dari hasil pengujian didapatkan tegangan sebagai berikut :

Tabel 4.2 Pengujian Rangkaian Sensor

Kondisi Tegangan pada output sensor Sensor tidak Terhalang 4,98 volt

Sensor Terhalang 0,003 volt

4.1.5 Pengujian Module GSM

Pengoperasian modul GSM SIM300EVB dengan mikrokontroler ATMega8535 dilakukan dengan menghubungkan pin main SIM300EVB pada pin USART mikrokontroler dan menjalankan at-command via mikrokontroler dan menampilkan respon dari modul GSM pada LCD. Baudrate standar yang digunakan dalam komunikasi D-GSM300 dengan ATMega8535 adalah 9600 bps.

Pengujian pengoperasian modul GSM SIM300EVB dengan mikrokontroler sebagai berikut,pengiriman sms dilakukan dalam mode teks. Pengoperasian pengiriman sms dengan menggunakan mikrokontroler dilakukan yaitu dengan engiriman sms pada 1 penerima. Berikut potongan listing program mikrokontroler ATMega8535 untuk mengirimkan at-commad pada modul gsm untuk mengirim sms: void send_SMS( )

{

printf("at+cmgs="); // Mengirim sms tanpa menyimpan pada memori putchar('"');

printf("+6285359710965"); // No Id GSM yang dituju putchar('"');

printf(","); delay_ms(1000); putchar(13);


(40)

delay_ms(1000);

printf("Kecepatan Melampaui Batas v=%0.3f Km/jam\r\n", kec_km); delay_ms(1000);

putchar(26); putchar(13); delay_ms(1000); }

4.2 Pengujian Sistem Secara Keseluruhan

4.2.1 Analisa Perhitungan kecepatan kendaraan secara teori

Mikrokontroller melakukan penghitungan jumlah waktu yang dibutuhkan untuk menerima data sensor 1 dan sensor 2, Pada saat data dari sensor 1 adalah low, maka data ini digunakan untuk memerintahkan mikrokontroller melakukan penghitungan waktu, apabila mikrokontroller menerima data masukan low dari sensor 2, maka data low sensor 2 digunakan untuk menghentikan program perhitungan waktu. Dengan potongan listing program dari codevision sebagai berikut:

while (kondisi==1) {

if (PIND.3==0) {

while (PIND.2==1) {delay_ms(2); hitung=hitung+1;}

Dimana sensor 1 dihubungkan dengan PIND.3 dan sensor 2 dihubungkan dengan PIN.D2. Dalam listing program C tersebut jika data di PIND.2 masih bernilai 1( high ) maka terus dilakukan perhitungan waktu sampai data PIND.2 Bernilai 0. Mikrokontroller ATMega8535 merupakan mikrokontroller AVR yang termasuk keluarga RISC ( Reduced Instruction Set Computing ). Dimana mikrokontroller ini hanya memerlukan 1 sinyal clock untuk mengeksekusi 1 siklus mesin , Dalam pemograman mikrokontroller dirancang untuk menghitung jumlah waktu yang dibutuhkan untuk menerima data dari sensor 1 dan sensor 2 dengan kelipatan 2 ms.


(41)

Data sensor 1

Data sensor2

t (ms)

Gambar 4.1 Diagram perhitungan selang waktu antara data sensor 1 dan data dari sensor 2.

Dari gambar diatas menunjukkan keadaan jika PIND.3 dan PIND.2 mendapatkan trigger negatif, sehingga perhitungan waktu di mulai dari PIND.3 = 0 memulai perhitungan waktu dan PIND.2 = 0 untuk menghentikan perhitungan waktu. Dimana selang waktu dihitung dengan kelipatan 2 milisekon.misalkan waktu yang terukur adalah t ( mili second ) diamana dalam pemograman mikrokontroller waktu ( t ) dikonversikan ke detik yaitu 2 x sehingga t ( detik ) = t milisekon / 500, sedangkan jarak sensor 1 dan sensor 2 ( S ) adalah tetap yaitu 50 cm.Jarak ( S ) adalah 50 cm = 0,5 m dimana rumus kecepatan ( v ) = S / t maka untuk mengkonverikan ke Km/Jam sebagai satuan kecepatan adalah sebagai berikut:

v

=

0,5 m

di konversikan ke Km/jam menjadi

v =

0,5 m

x

3 00 1000

v

=

1,8


(42)

4.2.2 Data Pengujian Alat Secara Keseluruhan

Untuk mengetahui ketelitian alat yang telah dirancang maka dilakukan suatu pengujian dengan tabel sebagai berikut:

Tabel 4.3 Pengujian alat dengan stopwatch

No

Set point Stopwatch

( Detik)

t alat ( Detik)

1 5 4,89

2 10 10,082

3 15 14,774

4 20 19,848

5 25 24,724

6 30 29,804

7 35 34,814

8 40 39,622

9 45 44,800

10 50 49,422

11 55 54,600

12 60 59,706

Pengujian t ( waktu ) di alat dilakukan untuk membandingkan apakah t (waktu) yang diprogram di alat sudah cukup baik, sehingga alat yang dirancang dapat digunakan sebagai alat pengukur kecepatan kendaraan bermotor, pada pengujian t alat dibandingkan dengan t stopwatch . Dengan memvariasikan waktu di stopwatch dari 5 detik sampai 60 detik, dimana pada setiap setpoin waktu di butuhkan untuk mengaktifkan sensor 1 dan sensor 2, dimana sinyal keluaran dari sensor 1 akan mengaktifkan counter untuk memulai perhitungan waktu dan sensor 2 merupakan sinyal untuk meghentikan counter penghitungan waktu pada program.


(43)

Tabel 4.4 Penguian alat secara keseluruhan

No Set Point ( Km/ Jam)

V alat (Km/jam) Speedometer (Km/jam) t alat (detik) Modul GSM 1 30

14,06250 15 0,128 -

2 18,36734 20 0,98 -

3 29,03326 32 0,062 -

4 33.33333 35 0,046 Kirim SMS

5 39,13043 40 0,046 Kirim SMS

6

40

32,14285 35 0,056 -

7 37,5000 39 0,048 -

8 39,13043 40 0,046 -

9 42,85714 45 0,042 Kirim SMS

10 47.36842 50 0,038 Kirim SMS

11

50

40,90909 42 0,044 -

12 50,0000 53 0,036 -

13 37,5000 39 0,048 -

14 52,9411 55 0,034 Kirim SMS

15 60,0000 62 0,030 Kirim SMS

16

60

47,3684 50 0,038 -

17 50,0000 52 0,036 -

18 56,2500 58 0,032 -

19 64,2857 66 0,028 Kirim SMS

20 69,2307 72 0,026 Kirim SMS

Persamaan yang digunakan untuk menghitung persentase (%) kesalahan adalah :

% kesalahan = v speedometer – v alat

v s eedometer

x 100 % ...( 4.3)

Dari persaman 4.4 maka diperoleh % kesalahan untuk pengukuran kecepatan seperti yang ditunjukkan pada tabel 4.5 berikut:


(44)

Tabel 4.5persentase (%) kesalahan kecepatan pada alat

No Set Point ( Km/ Jam)

V alat (Km/jam) Speedometer (Km/jam) t alat (detik) % Kesalahan 1 30

14,06250 15 0,128 6,25%

2 18,36734 20 0,98 8,16%

3 29,03326 32 0,062 9,27%

4 33.33333 35 0,046 4,76%

5 39,13043 40 0,046 2,17%

6

40

32,14285 35 0,056 8,16%

7 37,5000 39 0,048 3,85%

8 39,13043 40 0,046 2,17%

9 42,85714 45 0,042 4,76%

10 47.36842 50 0,038 5,26%

11

50

40,90909 42 0,044 2,60%

12 50,0000 53 0,036 5,66%

13 37,5000 39 0,048 3,85%

14 52,9411 55 0,034 3,74%

15 60,0000 62 0,030 3,23%

16

60

47,3684 50 0,038 5,26%

17 50,0000 52 0,036 3,85%

18 56,2500 58 0,032 3,02%

19 64,2857 66 0,028 2,60%

20 69,2307 72 0,026 3,85%

Dari hasil pengujian yang di sajikan pada tabel 4.5 diperoleh persentase (%) kesalahan rata-rata sebesar 4,26%


(45)

4.2.3 Tampilan Database Kecepatan Melebihi Kecepatan Maksimum

Setelah data kecepatan maksimum di deteksi dan diolah oleh alat, maka data akan dikirim dalam bentuk SMS dengan menggunakan modul GSM yang akan diterima oleh modem GSM pada PC dan ditampilkan dalam bentuk database dengan menggunakan visual basic. Berikut tampilan database kecepatan maksimum pada pengujian alat:

Gambar 4.2 Tampilan Database kecepatan melebihi batas kecepatan maksimum


(46)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil perancangan alat hingga pengujian dan pembahasan sistem maka penulis dapat menarik kesimpulan, antara lain :

1. Alat yang dirancang dapat di gunakan untuk pengukuran kecepatan kendaraan bermotor yang melintas di jalan raya atau pun jalan tol yang memiliki peraturan batas kecepatan maksimum.

2. Alat ini dapat melakukan pengukuran kecepatan kendaraan bermotor yang di pantau pada jarak jauh , karena data yang di ukur akan dikirim dalam bentuk SMS melalui komunikasi GSM .

3. Dari Pengujian alat ,besar kesalahan rata-rata dari alat dalam pengukuran kecepatan adalah 4,26 %, ini terjadi karena ada delay pada program .

5.2 Saran

Setelah melakukan penelitian ini diperoleh beberapa hal yang dapat dijadikan saran untuk penelitian lebih lanjut, antara lain :

1. Pada perancangan alat ini, diharapkan dapat dikembangkan kembali untuk mendeteksi identitas kendaraan ,yang melaju melebihi batas kecepatan maksimum dan menyimpan datanya.

2. Pada perancangan alat ini, kirannya dapat dikembagkan lagi dengan menggunakan counter waktu dengan skala mikrosekon, untuk memperoleh nilai waktu yang lebih real, dan mengunakan pemograman yang baik untuk meminimalkan pengaruh delay pada program sehingga dapat diproleh data kecepatan yang lebih baik lagi.

3. Aplikasi dari alat ini bisa dikembangkan lagi, tidak hanya untuk pengukuran kecepatan kendaraan saja tetapi pengukuran kecepatan benda-benda yang bergerak lainnya yang perlu diukur lajunya.


(47)

BAB II

TINJAUAN PUSTAKA

2.1 Mikrokontroler ATMega8535

Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas dalam sebuah chip,artinya di dalam sebuah IC mikrokontroler sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja,yaitu meliputi mikroprosesor,ROM,RAM,I/O dan clock seperti halnya yang dimiliki oleh sebuah PC.Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang relatif lebih kecil , tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.

Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.

2.1.1 Arsitektur Mikrokontroler AVR ATMEGA8535

Mikrokontroller AVR merupakan keluarga mikrokontroller RISC (Reduced Instruction Set Computing) keluaran Atmel.Konsep arsitektur AVR pada mulanya dibuat oleh dua orang mahasiswa di Norwgian institute of Technology ( NTH ) yaitu Alf-Egil Bogen dan Vegard Wollan.Mikrokontroler ATMega8535 merupakan salah satu anggota mikrokontroller AVR 8-bit.


(48)

AVR merupakan mikrokontroller dengan arsitektur Harvard dimana antara kode program dan data disimpan dalam memori secara terpisah. Umumnya arsitektur Havard ini menyimpan kode program dalam memori permanen atau semi-permanen(non Volatille) Sedangkan data disimpan dalam memori tidak permanen(Volatile).ATMega8535 memiliki fitur yang cukup lengkap,mulai dari kapasitas memori program dan memori data yang cukup besar ,interupsi,timer/counter,PWM,USART,TWI,analog comparator,EEPROM internal dan juga ADC internal semuanaya ada dalam ATMega8535.

Selain itu kemampuan kecepatan ekseskusi yang lebih tinggi menjadi alasan bagi banyak orang untuk beralih dan lebih memilih untuk menggunakan mikrokontroller jenis AVR dari pada pendahulu nya keluarga MCS-51.

Secara garis besar, mikrokontroler ATMEGA8535 memiliki arsitektur harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan unjuk kerja dan pararelisme .Instruksi-instruksi dalam memori program dieksekusi dalam salah satu alur tunggal , dimana pada saat satu instruksi di kerjakan instruksi berikutnya sudah diambil dari memeori program.

32x 8bit register serba guna digunakan untuk mendukung opersi arithcmetic Logic Unit (ALU) yang dapat dilakukan dalam 1 siklus. 6 dari register serba guna dapat digunakan sebagai 3 buah register pointer 16- bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memory data.Hampir semua instruksi AVR ini memiliki format 16-bit(word).Selain register serba guna terdapat register lain yang tepetakan dengan teknik memory mapped I/O selebar 64 byte.Beberapa register ini digunakan untuk beberapa fungsi khusus antara lain sebagai register kontrol timer/counter,interupsi,ADC,USART,SPI,EEPROM dan Fungsi I/O lainnya.Register-register ini menempati memori pada alamat 0x20h-0x5fh.


(49)

Gambar 2.1 Arsitektur ATMega8535 2.1.2 Fitur ATMega8535

Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega8535:

1. 130 macam instruksi,yang hampir semuanya dieksekusi dalam satu siklus clock. 2. Kecepatan mencapai 16 MIPS dengan clock 16 MHZ.

3. 512 Byte internal EEPROM. 4. 32x8-bit register serba guna.

5. 8 Kbyte Flash memory,yang memiliki fasilitas In-System Programing. 6. 512 Byte SRAM


(50)

7. Programming Lock, fasilitas untuk mengamankan kode program. 8. 4 channel output PWM.

9. 8 channel ADC 10-Bit.

10. 2 Buah timer/counter 8-bit dan 1 buah timer/counter 16-bit. 11. Serial USART.

12. Master/Slave SPI serial interface. 13. Serial TWI atau 12 C.

14. On-Chip Analog comparator.

2.1.3 Konfigurasi Pin ATMega8535

Mikrokontroler ATMega8535 memiliki 40 pin untuk model PDIP ditunjukkan pada Gambar 2.2, dan 44 pin untuk model TQFP dan PLCC. Nama-nama pin pada mikrokontroler ini adalah :

1. VCC : merupakan pin yang berfungsi sebagai pin masukan catu daya digital. 2. GND : merupakan pin ground untuk catu daya digital.

3. Port A (PA0...PA7) : merupakan pin I/O 8bit dua arah(bi-directional) dan pin masukan 8 chanel ADC.

4. Port B (PB0 – PB7) : merupakan akan pin I/O 8 bit dua arah (bi-directional)dengan resistor pull-up internal dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI.

5. Port C (PC0 – PC7) : merupakan pin I/O 8bit dua arah (bi-directional)dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator. 6. Port D (PD0 – PD7) : merupakan pin I/O 8 bit dua arah(bi-directional) dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial.

7. RESET : merupakan pin yang digunakan untuk mereset mikrokontroler. 8. XTAL1 :merupakan input ke penguat osilator pembalik dan input ke internal

clock.

9. XTAL2 : merupakan out put dari penguat oslator pembalik.

10.AVCC : merupakan pin masukan tegangan untuk ADC yang terhubung ke portA.


(51)

Gambar 2.2 Konfigurasi Pin ATMega8535 Deskripsi pin-pin pada mikrokontroler ATMega8535 :

1.Port A

Merupakan 8-bit dua arah bi-directional port I/O,dengan menggunakan resistor pull-up internal dimana setiap pinnya dapat diatur per bit. Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan8 channel ADC.

2. Port B

Merupakan 8-bit dua arah(bi-directional) port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.Selain sebagai port I/O 8 bit port B juga dapat difungsikan secara individu sebagai berikut:


(52)

2.PB6: MISO( SPI Bus Master Input/ Slave Out put) 3.PB5: MOSI( SPI Bus Master Output/Slave Input). 4.PB4: SS (SPI Slave Select Input)

5.PB3: AIN1(Analog Comparator Negatif Input) OC0 (Out put Compare Timer/counter 0) 6.PB2: AIN0 (Analog Comparator Positif Input) INT2 (External Interrupt 2 Inpt)

7.PB1:T1 (Timer/Counter 1 External Counter Input) 8.PB0:T0 (Timer/Counter 0 External Counter Input) XCK (USART External Clock Input/Output)

3. Port C

Merupakan port I/O 8-bit dua arah (bi-directional). Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, Port C juga difungsikan secara individu sebagai berikut:

1.PC7: TOSC2 (Timer Oscillator 2) 2.PC6: TOSC1 (Timer Oscillator 1) 3.PC1: SDA (Serial Data Input/Output) 4.PC0: SCI (Serial Clock)

4. Port D

Merupakan Port I/O 8-bit dua arah (bi-directional) . Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus sebagai berikut:


(53)

1.PD7: OC2 ( Ouput Compare Timer/Counter 1) 2.PD6: ICP1 ( Timer Counter 1 input capture)

3.PD5: OC1A ( Output Compare A Timer /Counter1) 4.PD4: OC1B ( Output Compare B Timer/Counter 1) 5.PD3: INT1 ( External Interrupt 1 Input)

6.PD2: INT0 ( External interrupt 0 Input) 7.PD1: TXD ( USART Transmit)

8.PD0: RXD ( USART Receive)

5. RESET

RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us.

6. XTAL2

Merupakan out put dari penguat dari osilator pembalik

7. XTAL1

Merupakan input ke penguat osilator pembalik dan input ke internal clock. 8. AVcc

Avcc adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

9. AREF

AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.


(54)

2.1.4 Peta Memory ATMega8535

Mikrokontroller ATMega8535 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM.Ketigannya memiliki ruang-ruang tersendiri dan terpisah seperti terlihat pada gambar 2.5

Gambar 2.3 Organisasi memori ATMega8535 1.Memori Program

ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi.


(55)

2.Memori Data

ATMega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM. 32 byte alamat terendah digunakan untuk register serbaguna yaitu R0 – R31. 64 byte berikut nya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas timer /counter ,interrupsi,ADC,USART,SPI,EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D. Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM .

Jika register-register I/O diatas diakses seperti mengakses data pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas menempati alamat 0020-005F. Tetapi jika register-register I/O diakses seperti mengakses I/O pada umumnya ( menggunakan instruksi IN/ IOUT) maka register I/O diatas menempati alamat memori 0000h – 003Fh.

3.Memori EEPROM

ATMega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun dari memori data. Memori EEPROM ini hanaya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Addres ( EEARH-EEARL),register EEPROM Data (EEDR) dan register EEPROM control ( EECR). Untuk megakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM.

2.1.5 Status Register ( SREG)

Register SREG digunakan untuk menyimpan informasi dari hasil operasi aritmatika yang terakhir . Informasi-informasi dari register SREG dapat digunakan untuk mengubah alur program, yang sedang dijalankan dengan mengunakan instruksi percabangan . Data SREG akan selalu berubah jika setiap instruksi atau operasi pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi percabangan baik karena instruksi maupun lompatan.


(56)

Gambar 2.4 Status Register

Status Register ATMega8535:

1.Bit 7 – I : Global Interrupt Enable

Bit I digunakan untuk mengaktifkan interrupsi secara umum ( interrupsi

global) .Jika bit I benilai „1‟ maka interrupsi secara umum akan aktif , tetapi

jika bernilai „0‟ maka tidak ada satupun interrupsi yang aktif.Pengaturan jenis -jenis interrupsi apa sja yang akan aktif dilakukan dengan mengatur register kontrol yang sesuai dengan jenis interrupsi tersebut, dengan terlebih dahulu

mengaktifkan interupsi global ,yaitu bit I diset‟1‟.

2.Bit 6 – T : Bit Copy Storage

Bit T digunakan untuk mementukan bit sumber atau bit tujuan pada instruksi bit copy.Pada instruksi BST ,data akan dicopy dari register ke bit T( Bit T sebagai tujuan) sedangkan pada instruksi BLD, bit T akan di copy ke register ( Bit T Sebagai Sumber).

3.Bit 5 – H : Half carry Flag

Bit H digunakan untuk menunjukkan ada tidaknya setengah carry pada operasi aritmatika BCD ,yaitu membagi satu byte data menjadi dua bagian ( masing-masing 4 bit) dan masing-masing-masing-masing bagian dianggap sebagai 1 digit desimal. 4.Bit 4 – S: Sign bit

Bit S merupakan kombinasi antara bit V dan bit N, yaitu dengan meng-XOR-kan bit V dan bit N.


(57)

5.Bit 3 –V : Two‟s Complement over flow flag

Bit V digunakan untuk mendukun operasi aritmatika komplemen 2.Jika terjadi luapan pada operasi aritmatika bilangan komplemen 2 maka akan

menyebabkan bit V bernilai „1‟.

6.Bit 2 - N : Negative Flag

Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi aritmatika ataupun operasi logika bernilai negatif atau tidak.Jika hasilnya negatif maka

bit N bernilai „1‟ dan jika hasilnya bernilai positif maka bit N bernila‟0‟.

7.Bit 1 - Z : Zero Flag

Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun operasi

logika apakah bernilai nol atau tidak.Jika hasilnya nol maka bit Z bernilai „1‟ dan jika hasilnya tidak nol maka bit Z bernilai‟0‟.

8.Bit 0 – C : Carry flag

Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika apakah ada carry atau tidak.Jika ada carry maka bit C bernilai‟1‟ dan jikatidak

ada carry maka bit C akan bernilai „0‟.

2.1.6 Register Serba guna ( General Purpose Register)

ATMega8535 memiliki 32 byte register serbaguna yang terletak pada awal alamat RAM. Dari 32 byte register serba guna 6 byte terakhir juga digunakan sebagai register pointer yaitu register pointer X,register pointer Y dan Register pointer Z.


(58)

Gambar 2.5 Register Serba guna

2.1.7 USART ( Universal Synchronous and Asynchoronous Serial Receiver And Transmitter)

Universal Synchronous Serial Receiver and Transmitter (USART) juga merupakan salah satu metode komunikasi serial yang dimiliki oleh ATMega8535. USART merupakan komunikasi yang memiliki fleksibilitas yang tinggi, yang dapat kita gunakan untuk melakukan transfer data baik antara mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.

USART memungkinkan transmisi data baik secara synchronous maupun asynchronous sehingga dengan demikian USART pasti kompatibel dengan UART. Pada ATMega8535,pengaturan secara umum pengaturan mode komunikasi baik Synchronous maupun Asynchronous adalah sama , perbedaannya hanya terletak pada sumber clocknya saja.

Pada mode Asynchronous masing – masing Peripheral memiliki sumber clock sendiri sedang kan pada mode Synchronous hanya ada satu sumber clock yang digunakan secra bersama- sama. Dengan demikian secara hardware untuk mode Asynchronous hanya membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk mode Synchronous harus 3 pin yaitu TXD,RXD dan XCK.


(59)

2.2 Modul GSM

2.2.1 Pengertian Modul GSM

Modul GSM merupakan sebuah perangkat yang menawarkan layanan transit SMS, mengirim pesan ke jaringan selular dari media lain atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS dengan atau tanpa menggunakan ponsel.Modul GSM adalah peralatan yang didesain supaya dapat digunakan untuk aplikasi komunikasi dari mesin ke mesin atau dari manusia ke mesin. Modul GSM merupakan peralatan yang digunakan sebagai mesin dalam suatu aplikasi. Dalam aplikasi yang dibuat harus terdapat mikrokontroler yang akan mengirimkan perintah kepada modul GSM berupa AT command melalui RS232 sebagai komponen penghubung (communication links). Modul GSM mempunyai fungsi yang sama dengan sebuah telepon seluler yaitu mampu melakukan fungsi pengiriman dan penerimaan SMS. Dengan adanya sebuah modul GSM maka aplikasi yang dirancang dapat dikendalikan dari jarak jauh dengan menggunakan jaringan GSM sebagai media akses.

2.2.2 Modul GSM SIM 300C EVB Dan Modem GSM

Modul GSM yang digunakan pada perancangan alat adalah tipe sim 300C EVB yang dapat di operasikan dengan menggunakan mikrokontroller, Modul GSM ini mempunyai fungsi yang sama dengan sebuah telepon seluler yaitu mampu melakukan fungsi pengiriman SMS.

Adapun bagian – bagian dari modul GSM SIM 300C EVB adalah sebagai berikut: A: port serial UTAMA untuk men-download, perintah AT transmiting, data bertukar data

B: Slot kartu SIM C: Interface headset

D: Saklar Download, mengaktifkan atau mematikan fungsi download

E: Saklar VBAT, switch sumber tegangan dari adaptor atau baterai eksternal F: VCHG ON / OFF control (shifter S3)


(60)

G: PWRKEY kunci, menghidupkan atau mematikan SIM300C H: Bagian-bagian seperti port tombol, port serial utama dan debug. I : Port Main

J: Serial port DEBUG K: Lubang untuk antena L: Sumber adaptor antarmuka M: LED sebagai lampu indikator N: Buzzer

O: Interface Headphone

P: Lubang untuk menghubungkan SIM300C dengan casing .

Gambar 2.6 Modul GSM SIM300C

Pada perancangan alat modem GSM di gunakan sebagai bagian yang berfungsi untuk menerima SMS yang dikirim dari modul GSM. Prinsip kerjanya hampir sama dengan telepon seluler, biasanya modem GSM memiliki banyak fungsi , pada umumnya digunakan untuk mengakses layanan internet tetapi pada perancangan alat modem GSM digunakan sebagai penerima data SMS kecepatan yang diterima dari modul GSM.


(61)

2.2.3 JARINGAN GSM

GSM muncul pada pertengahan 1991 dan akhirnya dijadikan standar telekomunikasi selular untuk seluruh Eropa oleh ETSI (European Telecomunication Standard Institute). Pengoperasian GSM secara komersil baru dapat dimulai pada awal tahun 1992 karena GSM merupakan teknologi yang kompleks dan butuh pengkajian yang mendalam untuk bisa dijadikan standar. Pada September 1992, standar tipe approval untuk handphone disepakati dengan mempertimbangkan dan memasukkan puluhan item pengujian dalam memproduksi GSM. Pada awal pengoperasiannya, GSM telah mengantisipasi perkembangan jumlah penggunanya yang sangat pesat dan arah pelayanan per area yang tinggi, sehingga arah perkembangan teknologi GSM adalah DCS (Digital Cellular System) pada alokasi frekuensi 1800 Mhz.

Alokasi spektrum frekuensi untuk GSM awalnya dilakukan pada tahun 1979. Spektrum ini terdiri atas dua buah sub-band masing-masing sebesar 25MHz, antara 890MHz - 915MHz dan 935MHz - 960MHz. Sebuah sub-band dialokasikan untuk frekuensi uplink dan band yang lain sebagai frekuensi downlink. Kedua sub-band tersebut dibagi lagi menjadi kanal -kanal, sebuah kanal pada satu sub-sub-band memiliki pasangan dengan sebuah kanal pada sub-band yang lain. Tiap sub-band dibagi menjadi 124 kanal, yang kemudian masing -masing diberi nomor yang dikenal sebagai Absolute Radio Frequency Channel Number ( ARFCN).

Prinsip kerja dari suatu jaringan GSM adalah pembagian pelayanan menjadi daerah-daerah kecil yang disebut sel. Sel merupakan daerah layanan terkecil dalam sistem selular. Setiap sel dilayani oleh sebuah BS (Base station) yang mempunyai seperangkat peralatan pemancar dan penerima dengan beberapa kanal frekuensi untuk berkomunikasi dengan pelanggan, maka sel didefinisikan sebagai luas cakupan dari sebuah base station untuk suatu daerah daerah tertentu. Jumlah sel pada suatu daerah geografis adalah berdasarkan pada jumlah pelanggan yang beroperasi di daerah tersebut. Masing- masing BS saling terintegrasi dan dikendalikan oleh suatu MSC (Mobile Switching Center). Jangkauan pengiriman sinyal pada sistem komunikasi bergerak selular dapat diterima dengan baik tergantung pada kuatnya sinyal batasan sel para pemakainya. Tetapi masih ada terdapat faktor lain yang dapat menjadi kendala untuk sinyal yang dikirim dapat diterima dengan baik. Faktor lain yang dimaksud adalah factor gegrafis (alam).


(62)

Ukuran sel pada sistem seluler dapat dipengaruhi oleh: 1. Kepadatan pada trafik

2. Daya pemancar yaitu Base station dan Mobile Station (MS)

3. Dan faktor alam seperti gunung, udara, laut, gedung – gedung dan lain-lain. Akan tetapi batasan-batasan tersebut akhirnya ditentukan sendiri oleh kuatnya sinyal radio antar Base Station (BS) dan Mobile Station (MS). Ada beberapa hal yang menjadi faktor penting dari sistem GSM. Faktor-faktor tersebut diantaranya:

1. Pemancar mempunyai daya pancar yang rendah dan cakupan yang kecil. 2. Menggunakan prinsip pengulangan frekuensi (frekuensi reuse).

3. Pembelahan sel (Cell Splitting) pada sel yang telah jenuh dengan pelanggan.

2.2.4 ARSITEKTUR JARINGAN GSM

Sebuah jaringan GSM dibangun dari beberapa komponen fungsional yang memiliki fungsi dan interface masing-masing yang spesifik. Secara umum jaringan GSM dapat dibagi menjadi 3 yaitu:

1. Mobile Station (MS) 2. Base Station Subsystem 3. Network Subsystem

Berikut ini akan dijelaskan mengenai arsitektur GSM yang merupakan gabungan dari perangkat-perangkat yang saling berkaitan dalam mendukung jaringan GSM. Fungsi dari komponen jaringan itu diantara nya:

1. Base Transceiver Station (BTS)

BTS merupakan perangkat pemancar dan penerima yang memberikan pelayanan radio kepada mobile station ( MS ). Dalam BTS terdapat kanal trafik yang digunakan untuk komunikasi BTS sangat penting dalam suatu jaringan telekomunikasi karena menghubungkan jaringan suatu operator telekomunikasi seluler dengan pelanggannya. BTS memiliki daerah cakupan yang luasnya tergantung dari kuat lemahnya pancaran daya dari sinyal yang dikirimkan ke pelanggan. Selain itu, faktor lingkungan dan interferensi dari BTS operator lain juga cukup berpengaruh pada kemampuan BTS dalam mengcover daerah yang


(63)

luas. Biasanya sebuah BTS akan memiliki beberapa transceivers (TRXs) yang memungkinkan untuk melayani beberapa frekuensi yang berbeda dan antena sel yang berbeda.

2. Mobile Switching Center

BSC membawahi satu atau lebih BTS serta mengatur trafik yang datang dan pergi dari BSC menuju MSC atau BTS. BSC memenejemen sumber radio dalam pemberian frekuensi untuk setiap BTS dan mengatur handover ketika mobile station melewati batas antar sel. MSC didesain sebagai switch ISDN (Integrated Service Digital Network) yang dimodifikasi agar berfungsi untuk jaringan seluler. MSC juga dapat menghubungkan jaringan seluler dengan jaringan fixed.

3. Home Location Register ( HLR )

HLR merupakan database yang berisi data pelanggan yang tetap. Data tersebut antara lain, layanan pelanggan, service tambahan serta informasi mengenai lokasi pelanggan yang paling akhir (update).

4. Authentication Center (AuC)

AuC berisi database informasi rahasia yang disimpan dalam bentuk format kode. AuC digunakan untuk mengontrol penggunaan jaringan yang sah dan mencegah semua pelanggan yang melakukan kecurangan.

5. Visitor Location Register (VLR)

VLR merupakan database yang berisi informasi sementara mengenai pelanggan, terutama mengenai lokasi dari pelanggan pada cakupan area jaringan.

6. Operation and Maintance Center (OMC)

OMC sebagai pusat pengontrolan operasi dan pemeliharaan jaringan. Fungsi utamanya mengawasi alarm perangkat dan perbaikan terhadap kesalahan operasi. 7. Mobile Station (MS)

MS merupakan perangkat yang digunakan oleh pelanggan untuk dapat memperoleh layanan komunikasi bergerak. MS dilengkapi dengan sebuah smartcard yang dikenal dengan SIM (Subscriber Identity Module) yang berisi nomor identitas pelanggan.


(64)

8. Equipment Identity Register (EIR)

Equipment Identity Register (EIR) merupakan database yang berisi suatu daftar valid mobile equipment pada jaringan. Setiap mobile station diidentifikasikan dengan International Mobile Equipment Identity (IMEI). Pada kasus khusus sebuah IMEI ditandai/didaftarkan invalid bila ponsel dilaporkan dicuri/dirampas dari pemiliknya.

Gambar 2.7 Arsitektur jaringan GSM

2.2.5 Layanan SMS (Short Message Service) Pada Sistem GSM

SMS adalah layanan untuk mengirim dan menerima pesan tertulis (teks) dari maupun kepada perangkat bergerak (Mobile Device). Pesan teks yang dimaksud tersusun dari huruf, angka, atau karakter alfanumerik. Pesan teks dikemas dalam satu paket/frame yang berkapasitas maksimal 160 byte yang dapat direpresentasikan berupa 160 karakter huruf latin atau 70 karakter alfabet non-latin seperti alfabet Arab atau Cina.

SMS pada awal diciptakan adalah bagian dari layanan pada sistem GSM yang dikembangkan dan distandarisasi oleh ETSI. SMS semula hanyalah merupakan layanan yang bersifat komplementer terhadap dua layanan utama sistem GSM (atau


(65)

sistem 2G pada umumnya) yaitu layanan suara dan switched data.Namun karena keberhasilan SMS yang tak terduga dengan ledakan pelanggan yang menggunakan nya, menjadikan SMS menjadi bagian Integral dari layanan sistem.

SMS adalah data tipe pesan asinkron yang pengiriman datanya dilakukan dengan mekanisme protokol store and forward. Hal ini berarti bahwa pengirim dan penerima SMS tidak perlu berada dalam status berhubungan (connected/online) satu sama lain ketika akan saling bertukar pesan.

Keterbatasan SMS adalah pada ukuran pesan yang dapat dikirimkan, yaitu maksimal hanya sebesar 160 byte. Keterbatasan ini disebabkan karena mekanisme transmisi SMS itu sendiri. Pada awalnya, SMS merupakan sebuah layanan yang ditambahkan pada sistem GSM yang digunakan untuk mengirimkan data mengenai konfigurasi dari handset pelanggan GSM. SMS dikirimkan menggunakan signalling frame pada kanal frekuensi atau time slot frame GSM yang biasanya digunakan untuk mengirimkan pesan untuk kontrol dan sinyal setup panggilan telepon, seperti pesan singkat tentang kesibukan jaringan atau pesan CLI (Caller Line indentification). Frame ini bersifat khusus dan ada pada setiap panggilan telepon serta tidak dapat digunakan untuk membawa suara atau data dari pelanggan melainkan hanya berupa pesan saja. Ukuran frame pada sistem GSM sendiri adalah sebesar 1250 bit (kurang lebih sama dengan 160 byte). Karena hanya menggunakan satu frame inilah pengiriman pesan SMS menjadi sangat murah dan terjangkau, karena beban biaya hanya dihitung dari penggunaan satu frame melalui kanal frekuensi.

Pengiriman SMS menggunakan frame pada kanal frekuensi adalah berarti SMS dikirim oleh pengirim ke nomor telepon tertentu yang bertindak sebagai SMSC (SMSCenter) dan kemudian SMSC bertugas untuk meneruskannya ke penerima. Pengiriman SMS berlangsung cepat karena, SMSC selain terhubung ke LAN aplikasi juga terhubung ke MSC (Mobile Switching Network) melalui SS7 (Signaling System 7) yang merupakan jaringan khusus untuk menangkap frame kontrol dan sinyal. Mekanisme pengiriman pesan singkat SMS yang serupa juga ditemukan dalam sistem jaringan lain seperti TDMA, PDC, dan cdmaOne. Beda antara sistem jaringan satu dengan yang lainnya adalah ukuran dari pesan SMS itu sendiri yang bergantung pada ukuran paket yang digunakan pada masing-masing sistem. Pada sistem TDMA dan


(66)

PDC ukuran pesan sms sama dengan sistem GSM ,yaitu 160 byte dan pada cdma one ukuran pesan SMS sebesar 256 byte.

Gambar 2.8 Struktur Time slot dan Frame pada GSM

Pada akhirnya SMS menjadi layanan messaging yang populer dan digemari oleh pelanggan hanphone. Layanan SMS dapat diintegrasikan dengan layanan GSM yang lain seperti suara, data, dan fax, dan karena itu pesan SMS selain digunakan untuk pengiriman pesan person to person juga digunakan untuk notifikasi suara dan pesan fax yang datangkepada pelanggan. Selain itu, SMS juga berharga murah, bersifat pribadi, serta dalam pengoperasiannya tidak terlalu mengganggu kesibukan pemakainya, karena mereka dapat mengirim atau menerima pesan pada waktu yang mereka kehendaki.

Berdasarkan mekanisme distribusi pesan SMS oleh aplikasi SMS, terdapat empat macam mekanisme pengiriman pesan, yaitu:

a. Pull, yaitu pesan yang dikirimkan ke pengguna berdasarkan permintaan pengguna.

b. Push – event based, yaitu pesan yang diaktivasi oleh aplikasi berdasarkan kejadian yang berlangsung.

c. Push – scheduled, yaitu pesan yang diaktivasi oleh aplikasi berdasarkan waktu yang telah terjadwal.

d. Push – personal profile, yaitu pesan yang diaktivasi oleh aplikasi berdasarkan profil dan preferensi dari pengguna.


(67)

Kini SMS tidak terbatas untuk komunikasi antar manusia pengguna saja, namun juga bisa dibuat otomatis dikirim/diterima oleh peralatan (komputer, mikrokontroler, dsb) untuk mencapai suatu tujuan tertentu. Namun untuk melakukannya, kita harus memahami dulu cara kerja SMS itu sendiri. Gambar 2.10 berikut ini adalah alur pengiriman SMS pada standar teknologi GSM.

Gambar 2.9 Alur Pengiriman SMS

Ketika pengguna mengirim SMS, maka pesan dikirim ke MSC melalui jaringan seluler yang tersedia yang meliputi tower BTS yang sedang meng-handle komunikasi pengguna, lalu ke BSC, kemudian sampai ke MSC. MSC kemudian mem-forward lagi SMS ke SMSC untuk disimpan. SMSC kemudian mengecek (lewat HLR - Home Location Register) untuk mengetahui apakah handphone tujuan sedang aktif dan dimanakah handphone tujuan tersebut.

Jika handphone sedang tidak aktif maka pesan tetap disimpan di SMSC itu sendiri, menunggu MSC memberitahukan bahwa handphone sudah aktif kembali untuk kemudian SMS dikirim dengan batas maksimum waktu tunggu yaitu validity period dari pesan SMS itu sendiri. Jika handphone tujuan aktif maka pesan disampaikan MSC lewat jaringan yang sedang meng-handle penerima (BSC dan BTS).


(1)

MEASUREMENT SPEED OF VEHICLE BASED MICROCONTROLLER ATMega8535 COMMUNICATION VIA GSM

ABSTRACT

Have been designed a measurement speed of vehicle device by using microcontroller ATMega8535, wich is equipped with two infrared sensors as a means of detecting vehicle speed, the distance between sensor 1 and 2 is 50 cm. Distance data the sensor 1 with sensor 2 was set to microcontroller by using the keypad that is connected to microcontroller. If a vehicle passing on the higway through sensor 1 and sensor 2, sensor will send input data to the microcontroller for calculating the time.Distance and time data obtained processed by using the program on the microcontoller speed calculation.So that speed data compared to the maximum data which be set to a microcontroller by using the keypad. After that the distance data, time and speed displayed on the LCD which has been connected to the microcontroller . If the speed exceed the maximum speed limit , the speed data will be sent by the GSM module is connected to the microcontroller in the from of SMS. Maximum speed of SMS data will be received by the GSM modem which is connected to Personal Computer and SMS data will be displayed in the form of data base on the PC. This device has been tested and obtained good results.


(2)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xii

BAB I PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Sistematika Penulisan 4

BAB II TINJAUAN PUSTAKA

2.1 Mikrokontoler ATMega8535 5

2.1.1 Arsitektur Mikrokontroler AVR ATMega8535 5 2.1.2 Fitur ATMega8535 7 2.1.3 Konfigurasi Pin ATMega8535 8 2.1.4 Peta Memory ATMega8535 12 2.1.5 Status Register( SREG) 13 2.1.6 Register Serba guna ( General Purpose Register ) 15 2.1.7 USART ( Universal Synchronous And Asynchronous 16 Serial Receiver And Transmitter)

2.2 Modul GSM 17

2.2.1 Pengertian Modul GSM 17

2.2.2 Modul GSM SIM 300C EVB Dan Modem GSM 17


(3)

2.8.2 Pemograman Bahasa C 38

2.8.3 Code Vision AVR 39

BAB III PERANCANGAN SISTEM

3.1 Perancangan Alat 41

3.1.1 Diagram Blok Rangkaian 41

3.1.2 Rangkaian Power Supply (PSA) 42 3.1.3 Rangkaian Mikrokontroller ATMega8535 43

3.1.4 Rangkaian Sensor 45

3.1.5 Rangkian Keypad 48

3.1.6 Rangkaian LCD (Liquid Crystal Display) 49 3.1.7 Rangkaian Driver MAX232 51 3.1.8 Modul GSM SIM300EVB Dan Modem GSM 52

3.2 Perancangan Program 53

BAB IV PENGUJIAN SISTEM

4.1 Pengujian Minimum Sistem 55

4.1.1 Pengujian Rangkaian Mikrokontroler AVR ATMega8535 55

4.1.2 Pengujian LCD 56

4.1.3 Pengujian Keypad 57

4.1.4 Pengujian Sensor 60

4.1.5 Pengujian Module GSM 60

4.2 Pengujian Sistem Secara Keseluruhan 61 4.2.1 Analisa Perhitungan Kecepatan Secara Teori 61 4.2.2 Data Pengujian Alat Secara Keseluruhan 63 4.2.3 Tampilan Database Kecepatan Melebihi Kecepatan 66 Maksimum

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan 67

5.2 Saran 67

DAFTAR PUSTAKA 68


(4)

DAFTAR TABEL

Halaman Tabel 2.1 Fungsi Pin-pin pada Liquid Crystal Display 32 Tabel 4.1 Pengujian Rangkaian Mikrokontroller AVR ATMega 8535 56 Tabel 4.2 Pengujian Rangkaian Sensor 60 Tabel 4.3Pengujian Alat Dengan Stopwatch 63 Tabel 4.4 Pengujian Alat Secara Keseluruhan 64 Tabel 4.5 Tabel Persentase ( % ) Kesalahan Kecepatan Pada Alat 65


(5)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Arsitektur ATMega8535 7

Gambar 2.2 Konfigurasi Pin ATMega8535 9 Gambar 2.3 Organisasi Memori ATMega8535 12

Gambar 2.4 Status Register 14

Gambar 2.5 Register Serba Guna 16

Gambar 2.6 Modul GSM SIM300C 18

Gambar 2.7 Arsitektur jaringan GSM 22 Gambar 2.8 Struktur Time slot dan Frame Pada GSM 24

Gambar 2.9 Alur Pengiriman SMS 25

Gambar 2.10 MAX 232 Untuk Komunikasi Serial 30

Gambar 2.11 LCD 2 x 16 31

Gambar 2.12 LCD ( Liquid Cristal Display) 31

Gambar 2.13 LCD M1632 33

Gambar 2.14 Keypad dengan matrix 4x4 34

Gambar 2.15 Photodioda 36

Gambar 2.16 Karakteristik Daerah Saturasi Pada Transistor 37

Gambar 2.17 Tampilan Code Vision 40

Gambar 3.1 Diagram Blok Rangkaian Sistem 41 Gambar 3.2 Rangkaian Skematik Power Supply 42 Gambar 3.3 Rangkaian Mikrokontroler ATMega8535 44 Gambar 3.4 Rangkaian Pemancar laser 45 Gambar 3.5 Rangkaian Penerima Laser 46

Gambar 3.6 Rangkaian Keypad 49

Gambar 3.7 Rangkaian Skematik Dari LCD Ke Mikrokontoler 50

Gambar 3.8 Rangkaian Max232 51

Gambar 3.9 Modul GSM SIM300 Top Dan Bottom View 52

Gambar 3.10 Diagram Alir Program 53

Gambar 4.1 Tampilan Tampilan Database Kecepatan melebihi batas 66 Kecepatan Maksimum


(6)

DAFTAR LAMPIRAN

LAMPIRAN A Rangkaian Lengkap

LAMPIRAN B Program Di Mikrokontroller ATMega8535

LAMPIRAN C Program Visual Basic