Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
29
BAB III
PEMBAHASAN
3.1. Tinjauan Umum Alat
Untuk memudahkan dalam pembuatan desain sistem, langkah pertama adalah
membuat diagram blok sebagai acuan dimana diagram blok mempunyai fungsi untuk
menjelaskan susunan sistem yang saling berkaitan sehingga membentuk sistem dari
alat yang dibuat yaitu desain perangkat keras (hardware) dan perangkat lunak
(software).
3.2. Blok Rangkaian
Pembuatan blok diagram merupakan acuan dimana masing-masing blok
mempunyai keterkaitan satu dengan yang lain sehingga membentuk suatu sistem
kontrol yang berpusat pada mikrokontroler .
POWER SUPLLYMIKROKONTROLER
ATMEGA 16
OUTPUT
- BUZZER
- LCD
SENSOR
ULTRASONIK
Gambar III.1. Blok Diagram Rangkaian
30
Untuk penjelasan blok diagram alat yang dibuat adalah sebagai berikut :
1. Power Suply
Blok ini berfungsi sebagai sumber daya untuk disalaurkan kepada semua rangkaian.
Pada blok ini, Tegangan diturunkan dengan transformator step down dan terdapat
dua tegangan output yaitu tegangan 5Vdc dan 12 Vdc.
2. Sensor Ultrasonik
Sensor Ultrasonik merupakan inputan yang akan mendeteksi objek yang
selakanjutnya akan dikirim ke mikrokontroler untuk diproses.
3. Mikrokontroler ATMEGA 16
Mikrokontroler Atmega 16 digunakan untuk mengontrol inputan yang masuk
kerangkaian kontroler yang akan di deteksi di proses dan di keluarkan hasilnya
melalui LCD dan alarm.
4. Rangkaian Output
Rangkaian output terdiri dari LCD 16x2 dan buzzer .
31
3.3. Gambar Rangkain
Gambar rangkaian skema keseluruhan pada pembuatan alat pendeteksi
kendaraan yang a kan mendahului dapat di lihat pada gambar III.2.
Gambar III.2. Rangkaian Alat
3.4. Cara Kerja Alat
Pada bagian ini akan di bahas seraca rinci mengenai cara kerja alat yang
dibuat. Cara kerja alat tersebut meliputi catu daya, proses dan output. Berikut adalah
carakerja masing-masing rangkaian yang ada pada alat.
3.4.1. Catu Daya (Power Supply)
Pada rangkaian power suply ini digunakan trafo 1Amper jenis step down
dengan sumber tegangan listrik 220 Volt yang diturunkan menjadi 12 Volt AC dan di
32
searahkan dengan dioda bridge menjadi 12 Vdc dan kemudian di perkecil lagi
menggunkan IC 7805 sehingga keluarannya di perhalus menjadi 5 Vdc.
Rangkaian ini diguankan sebagai sumber tegangan untuk seluruh rangkaian,
catu daya dengan keluaran 5 Vdc digunakan untuk sumber tegangan seluruh
rangkaian termasuk diantaranya sistem minimum, LCD, Buzzer dan Sensor.
Gambar III.3. Rangkaian Power Supply
3.4.2. Rangakaian Sistem Minimum
Pada rangkaian ini yang berfungsi sebagai pusat kendali dari seluruh sistem
komponen utama adalah mikrokontroler atmega16. Disinilah semua program yang
telah dibuat disimpan untuk kemudian dijalankan sehingga seluruh rangkaian dapat
berjalan seuaia dengan apan yang kita inginkan.
Port yang digunakan yaitu Port A0-A3 sebagai input dari pin triger sensor
ultrasonik, port B sebagai output ke LCD, port D0-D3 sebagai output dari pin echo
sensor ultrasonik sebagai penerima sinyal pantulan dari frekuensi triger, port D4
sebagai output ke alarm atau buzzer . untuk dapat membaca inputan dan menjalankan
33
perintah output Atmega 16 ini memerlukan program Code Vision AVR dan untuk
mengupload program di gunakan AVR OspII.
Gambar III.4. Rangkaian Sistem Minimum
3.4.3. Rangkaian Sensor
Rangkaian sensor pada alat ini terdiri dari sensor ultrasonik HC-SR04dan
pada keadaan normal sensor ini akan berloigka 1 (high) ketika ada objek yang
melintas diarea pemancara sinyal sensor, maka sensor akan menghitung jarak dari
objek menerima pantulan dari objek proses perhitungannya menggunakan data yang
34
sudah terdapat pada librari yang terdapat pada sensor HC-SR04 proses pantulan
inilah yang kemudian di kirimkan ke mikrokontroler untuk di proses .
Setelah mikrokontroler menerima sinyal dari sensor, kemudian mikrokontroler
akan menjalankan sistem sesuai dengan perintah program. Jika sensor berlogika 1
(high) maka buzzer akan menyala selama objek berada pada area sensor.
Gambar III.5. Rangkaian Sensor
3.4.4. Rangkaian LCD
Rangkaian LCD dengan mikrokontroler atmega16 ini mempunyai 16 kaki
pin (16 pin header) dengan tata letak urutannya sesuan sesuai konfigurasi kaki LCD
yaitu pin 1 sebagai grounding , pin 2 sebagai VCC, pin 3 sebagai kontras (trimport)
pin 4 sebagai RS (register select) dan pin 5 untuk R/W (read /write).
Akses LCD yang digunakan bertipe 4, bit dengan demikian hanya pin data pin
4 sampai 7 yang di hubungkan ke port mikrokontroler.
35
LCD yang digunakan adalah jenis LCD modul dengan tampilan 16 x2 baris
dengan konsumsi daya rendah oprasi dasar pada pada LCD adalah intruksi mengakses
proses internal, intruksi menulis data, membaca kondisi sibuk, dan intruksi membaca
data.
Gambar III.6.Rangkaian LCD
3.4.5. Rangkaian Buzzer
Rangkain ini berfungsi sebagai alarm kepada pengguna tentang adanya benda
(kendaraan) yang akan mendahului dari arah belakang alarm pada rangkaian ini
menggunakan buzzer 5 Vdc yang tidak terlalu berisik sehingga tidak mengganggu
pendengaran selain itu di perlihatkan pula dengan tampilan LCD tentang keberadaan
atau posisis dari kendaraan yang mendahului tadi baik dari sebelah kiri atau pun
kanan.
36
Ketika mikrokontroler menerima sinyal logika 1 (high) dari sensor ultrasonik
maka mikrokontroler akan meneruskan logika 1 (high) menjadi output ke alarm atau
buzzer sehingga pengguna bisa lebih berhati-hati pada saat bekendara agar tidak salah
dalam pengambilan keputusan baik saat hendak mendahului maupun akan di dahului.
Gambar III.7. Rangkaian Buzzer
37
3.5. Perancangan Program
3.5.1. Flowchart Program
START
INISIALISASI
SISTEM
OBJEK
MENDEKAT
ADA
PERGERAKAN ?
LEWAT LEBIH
DARI 20 DETIK?
BUZER
BERHENTI
END
N
N
Y
SENSOR
DETECTIONS
OBJEK BERGERAK
-BUZER ON
- LCD ON
Y
Gambar III.8. Flowchart Program
38
Program diawali dengan menyalakan power yaitu pemberian catudaya setelah
itu muncul tampilan pembuka dan bunyi buzzer dua kali d lanjutkan dengan
pembacaan sensor – sensor.
1. Jika terdapat objek pada area sensor 4 (kanan belakang ) maka sensor akan
menyala dan ditampilkan peringatan pada layar LCD (belakang kanan).
2. Jika terdapat objek pada area sensor 3 (Kiri belakang ) maka sensor akan
menyala dan ditampilkan peringatan pada layar LCD ( belakang kiri).
3. Jika terdapat objek pada area sensor 2 (kanan depan ) maka sensor akan
menyala dan ditampilkan peringatan pada layar LCD depan kanan).
4. Jika terdapat objek pada area sensor 1 (kiri depan ) maka sensor akan
menyala dan ditampilkan peringatan pada layar LCD (depa kiri).
.
39
3.5.2. Konstruksi Sistem (coding)
Dalam menjalankan alat pendeteksi kendaraan yang akan mendahului, di
perlukan program yang dimasukan dalam mikrokontroler. Pada pembuatan alat ini
menggunakan aplikasi CVAPR. Berikut penjelasan kontruksi sistem (coding).
1. Inisiasi Program
Untuk inisiasi program yang di buat, dalam pembuatan alat pendeteksi
kendaraan yang akan mendahului dapat dilihat sebagai berikut:
#include <mega16.h>
#include <stdio.h>
#include <delay.h>
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
Penjelasan dari listing program diatas adalah:
#include <mega16.h> :merupakan perintah untuk memanggil library fungtions IC
Atmega 16
#include <stdio.h> :merupakan perintah untuk memanggil library fungtions pada
bahasa C
#include <delay.h> merupakan perintah untuk memanggil library fungtions dilay
#asm : mendeklarasikan penggunaan bahasa asembler
.equ __lcd_port=0x18 ;PORTB :pemilihan output LCD pada PORTB
#endasm :akhir penggunaan bahasa asembler
40
Deklarasi variabel
unsigned int konter0=0; mendeklarasikan nilai variabel dengan satuan bilangan bulat
pada sensor 1
unsigned char jarak0; mendeklarasikan nilai variabel berupa karakter yang
diperoleh dari perhitungan konter 0 dengan rumus baku
sensor.
unsigned char jarak01; mendeklarasikan nilai variabel bayangnan berupa karakter
yang diperoleh dari perhitungan konter 0 dengan rumus
baku sensor.
unsigned int konter1=0; mendeklarasikan nilai variabel dengan satuan bilangan
bulat pada sensor 2
unsigned char jarak1; mendeklarasikan nilai variabel berupa karakter yang diperoleh
dari perhitungan konter 0 dengan rumus baku sensor
unsigned char jarak11; mendeklarasikan nilai variabel bayangnan berupa karakter
yang diperoleh dari perhitungan konter 0 dengan rumus
baku sensor.
unsigned int konter2=0; mendeklarasikan nilai variabel dengan satuan bilangan
bulat pada sensor 3
unsigned char jarak2; mendeklarasikan nilai variabel berupa karakter yang diperoleh
dari perhitungan konter 0 dengan rumus baku sensor
41
unsigned char jarak21; mendeklarasikan nilai variabel bayangnan berupa karakter
yang diperoleh dari perhitungan konter 0 dengan rumus
baku sensor.
unsigned int konter3=0; mendeklarasikan nilai variabel dengan satuan bilangan bulat
pada sensor 3
unsigned char jarak3; mendeklarasikan nilai variabel berupa karakter yang diperoleh
dari perhitungan konter 0 dengan rumus baku sensor
unsigned char jarak31; mendeklarasikan nilai variabel bayangnan berupa karakter
yang diperoleh dari perhitungan konter 0 dengan rumus
baku sensor.
unsigned char text1[16]; Deklarasi Texl LCD
unsigned char text[16]; Deklarasi Tekt LCD
a) Fungsi perintah program pada sensor 1 (kiri depan)
unsigned char baca_kiri_d() variabel konter0=0;
PORTA.0=1;
delay_us(15);
PORTA.0=0;
while(PIND.0==0){};
while(PIND.0==1)
{konter0++;
};
jarak0=konter0*10/100; // hasil konversi dengan rumus regresi linier
return jarak0;
42
}
b) Fungsi perintah program pada sensor 2 (Kanan Depan)
signed char baca_kanan_d(){
konter1=0;
PORTA.1=1;
delay_us(15);
PORTA.1=0;
while(PIND.1==0){};
while(PIND.1==1)
{konter1++;
};
jarak1=konter1*10/100; // hasil konversi dengan rumus regresi linier
return jarak1;
}
c) Fungsi perintah program pada sensor 3 (kiri Belakang)
signed char baca_kiri_b(){
konter2=0;
PORTA.2=1;
delay_us(15);
PORTA.2=0;
while(PIND.2==0){};
while(PIND.2==1)
{konter2++;
43
};
jarak2=konter2*10/100; // hasil konversi dengan rumus regresi linier
return jarak2;
}
d) Fungsi perintah program pada sensor 1 (Kanan Belakang)
signed char baca_kanan_b(){
konter3=0;
PORTA.3=1;
delay_us(15);
PORTA.3=0;
while(PIND.3==0){};
while(PIND.3==1)
{konter3++;
};
jarak3=konter3*10/100; // hasil konversi dengan rumus regresi linier
return jarak3;
}
{
PORTA=0x00; merupakan perintah untuk memberikan awalan logika 0 (nol) pada
semua PORT A
DDRA=0xFF; merupakan perintah untuk menjadikan semua PORT A sebagai inpu
PORTB=0x11;
44
DDRB=0x00; merupakan perintah untuk menjadikan semua PORT B sebagai
output
PORTD=0xFF; merupakan perintah untuk memberikan awalan logika 0 (nol) pada
semua PORT
DDRD=0x00; merupakan perintah untuk menjadikan semua PORT sebagai output
;
/lcd_init(16); Inisiasi modul LCD dengan ukuran 16x2 (16 kolom,2baris)
Program Utama
lcd_clear(); Perintah untuk mehapus LCD
PORTA.4=1; Untuk menyalakan buzzer
delay_ms(20); Lama waktu buzzer menyala
PORTA.4=0; Untuk mematikan
lcd_gotoxy(0,0);
lcd_puts(" Bismillah "); Tampilan LCD bertulis “Bismilah”
lcd_gotoxy(0,1);
lcd_puts(" TA 2016 ");
delay_ms(300);
lcd_clear();
PORTA.4=1;
delay_ms(20);
PORTA.4=0;
lcd_gotoxy(0,0);
lcd_puts("SENSOR KENDARAAN");
45
lcd_gotoxy(0,1);
lcd_puts("YANG MENDAHULUI");
delay_ms(300);
lcd_clear();
PORTA.4=1;
delay_ms(20);
PORTA.4=0;
lcd_gotoxy(0,0);
lcd_puts(" Wahyu Gunawan ");
lcd_gotoxy(0,1);
lcd_puts(" 13130795 ");
delay_ms(300);
lcd_clear();
while (1) :perintah perulangan program, agar program berjalan realtime.
{
jarak01=baca_kiri_d(); :variabel "jarak01" memanggil isi dari variabel
"baca_kiri_d"
sprintf(text,"jarak= %3d cm", jarak01); cetak karakter pada modul LCD.
jarak11=baca_kanan_d();
sprintf(text,"jarak= %3d cm",jarak11);
46
jarak21=baca_kiri_b();
sprintf(text,"jarak= %3d cm",jarak21);
jarak31=baca_kanan_b();
sprintf(text,"jarak= %3d cm",jarak31);
if (jarak01<5) kondisi pemilihan. jika hasil perhitunngan vaariabel jarak01 kurang
dari 5
{
PORTA.4=1;
delay_ms(50);
PORTA.4=0;
sprintf(text1," Kiri Depan");
}
if (jarak11<5)
{
PORTA.4=1;
delay_ms(50);
PORTA.4=0;
sprintf(text1," Kanan Depan");
}
if (jarak21<5)
{
47
PORTA.4=1;
delay_ms(50);
PORTA.4=0;
sprintf(text1," Kiri Belakang ");
}
if (jarak31<5)
{
PORTA.4=1;
delay_ms(50);
PORTA.4=0;
sprintf(text1," Kanan Belakang ");
};
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(text1);
lcd_gotoxy(0,1);
lcd_puts(" ! WASPADA ! ");
delay_ms(30);
};
48
3.6. Hasil Percobaan
Untuk mengetahui alat yang dibuat dapat berfungsi sesuai dengan yang
diharapkan maka perlu dilakukan pengujian alat, Hasil pengujian alat akan dijelaskan
berikut ini:
1. Pengujian Catu Daya
Pengujian pada catu daya ini perlu dilakukan untuk memastikan tidak
terjadinya kerusakan komponen pada rangkaian akibat arus yang tidak sesuai atau
kelebihan tegangan pengujian ini mengunakan alat pengukur tegangan (multitester)
selain meminimalisir kesalahan pada tegangan pengukuran catu daya ini di lakukan
untuk mengetahui apakah rangkaian catu daya ini berfungsi dengan baik atau tidak.
Hasil pengujian catu daya dapa dilihat pada tabel III.1.
Tabel III.2
Pengujian Catu Daya 5 volt DC
No Tegangan yang diukur Hasil Pengukuran
1 Tegangan sekunder trafo 12 volt AC
2 Tegangan penyearah sebelum masuk IC
regulator 11,8 volt DC
3 Tegagan keluaran IC regulator 4,7 volt DC
2. Pengujian sensor
Pada alat ini, mikrokontroler atmega 16 digunakan sebagai pusat kendali
atau kontrol kesekuruhan sistem meliputi pembacaan sensor menghidupkan alarem
dan tampilan pada LCD.
49
Saat salah satu sensor mendeteksi ada objek atau kendaraan semua output
akan menerima perintah dari mikrokontroler untuk menyala sebagai pemberi
peringatan kepada pengguna akan kedatangan kendaraan dari belakang dan di
tampilkan pada layar LCD dalam bentuk tulisan agar waspada.
Tabel III.2
Hasil Pengujian Jarak Sensor
Percobaan Jarak (cm) Respon Sensor Keterangan
1 5 Sangat Kuat Terdeteksi
2 10
Sangant Kuat
Terdeteksi
3 15 Sangat kuat Terdeteksi
4 25 Kuat Terdeteksi
5 30 Kuat Terdeteksi
6 35 Lemah Tidak Terdeteksi
7 40 Lemah Tidak Terdeteksi
Pada tabel uji coba diatas menujukan bahwa, dari jarak 5 sampai dengan 30
centimeter terjadi respon yang kuat terhadap adanya objek yang memasuki area
sensor dan alarem berbunyi sedangkan pada jarak 35 centimeter lebih terjadi respon
yang lemah pada pembacaan sensor dan menyebabkan sensor gagal membaca dan
menyalakan alarm.