BAB 3 PERANCANGAN ALAT DAN PROGRAM
3.1 Rangkaian Perangkat Keras Hardware 3.1.1 Diagram Blok Rangkaian
Diagram blok merupakan diagram kotak blok diagram system yang dirancang yaitu deteksi dini banjir dengan alarm. Rancangan berupa suatu proses
deteksi input dan mengeluarkan output tertentu. Dalam hal ini adalah ketinggian air pada saat terjadi luapan akibat banjir. Dengan menggunakan sensor jarak
ultrasonic dapat diukur ketinggian air yang masuk dalam suatu wadah yang dibuat dengan tabung plastik.
Bagian proses terdiri dari sebuah kontroler yang bekerja membaca ketinggian air melalui sensor ultrasonic pada keadaan tertentu yaitu ketinggian air
tertentu kontroler harus memberikan isyarat melalui output suara yaitu buzzer sebagai isyarat kemungkinan atau akan terjadi banjir.
Universitas Sumatera Utara
Gambar 3.1 Diagram Blok Rangkaian
3.2 Perancangan Rangkaian Kendali
Rancangan rangkaian kendali adalah suatu rangkaian elektronik berbasis mikrokontroller. Rancangan terdiri dari beberapa bagian utama antara lain yaitu:
Sensor Ultrasonik, Mikrokontroller, Penguat, Display LCD, Buzzer dan Flow Chart.
Universitas Sumatera Utara
3.2.1 Sensor Ultrasonik
Pada rancangan ini menggunakan sensor jarak sensor jarak yaitu sensor ultrasonic. Tipe sensor ultrasonic yaitu SR 04. Cara kerja sensor pada rangkaian
adalah sebagai berikut: Sensor akan memancarkan sebuah gelombang ultrasonic dengan frekuensi 40 kHz kemudian sensor akan mendeteksi pantulan gelombang
ultrasonic tersebut jika mengenai suatu objek pemantul. Antara dipancarkan gelombang ultrasonic dengan diterimanya kembali gelombang tersebut terdapat
selisih waktu dan dengan mengetahui kecepatan suara kecepatan suara diudara maka dapat dihitung jarak objek dengan sensor. Dengan persamaan:
s = V × …………………………………………………………………………. 1
Dimana: s = jarak objek dengan sensor v = kecepatan suara 340 ms
t = waktu pantul ultrasonic
Universitas Sumatera Utara
Gambar 3.2 Rangkaian Skematik Sensor Ultrasonik PING
3.2.2 Mikrokontroller
Mikrokontroller adalah bagian rangkaian yang berfungsi mengendalikan sistem secara keseluruhan yaitu membaca input dari sensor, mengkalkulasikan
jarak dan memutuskan jika harus mengeluarkan suatu output peringatan atau isyarat. Mikrokontroller yang digunakan dalam rancangan adalah AVR
ATmega8535. Mikrokontroller tersebut diprogram dengan bahasa C yaitu CV AVR 2.04. Mikrokontroller membaca input melalui port D yaitu PD.0 dan PD.1
Universitas Sumatera Utara
sedangkan output mikrokontroller diprogram pada port B yaitu PB.0. Kristal pada pin 12 dan 13 berfungsi sebagai masukan pulsa clock, sedangkan resistor pada pin
9 berfungsi sebagai riset awal saat mikrokontroller diaktifkan. Mikrokontroller akan membaca sensor dengan cara mendeteksi waktu pancar gelombang
ultrasonic dan diterimanya kembali gelombang tersebut yaitu dengan mendeteksi pulsa atau logika yang diberikan oleh sensor saat diterimanya gelombang
ultrasonic pantulan. Mikrokontroller mengeluarkan output dengan cara memberikan logika 1 pada penguat untuk mengaktifkan buzzer.
Universitas Sumatera Utara
Gambar 3.3 Rangkaian Mikrokontroller ATMega8535
3.2.3 Penguat
Yang dimaksud dengan penguat dalam rangkaian ini adalah rangkaian penguat arus yaitu rangkaian yang berfungsi menguatkan arus agar dapat
mengendalikan beban yang lebih besar. Penguat arus terdiri dari sebuah transistor
Universitas Sumatera Utara
dan sebuah resistor. Transistor dikonfigurasikan sebagai penguat common emitor dan bekerja pada daerah on-off dengan memberikan logika 1 pada basis akan
menyebabkan transistor jenuh karena mendapat bias positif sehingga arus akan terputus. Tipe transistor dalam rangkaian adalah BD139 yaitu transistor NPN
Negatif Positif Negatif dengan arus 1 ampere.
3.2.4 Display LCD
Gambar 3.4 Rangkaian LCD Display LCD sebuah liquid crystal atau perangkat elektronik yang berfungsi
untuk menampilkan angka atau teks. Dalam menampilkan numerik ini kristal yang dibentuk menjadi bar, dan dalam menampilkan alfanumerik kristal hanya diatur
kedalam pola titik. Setiap kristal memiliki sambungan listrik individu sehingga dapat dikontrol secara independen. Ketika kristal off yakni tidak ada arus yang
melalui kristal cahaya kristal terlihat sama dengan bahan latar belakangnya, sehingga kristal tidak dapat terlihat. Namun ketika arus listrik melewati kristal, itu
Universitas Sumatera Utara
akan merubah bentuk dan menyerap lebih banyak cahaya. Hal ini membuat kristal terlihat lebih gelap dari penglihatan mata manusia sehingga bentuk titik atau bar
dapat dilihat dari perbedaan latar belakang. Modul display LCD sudah dilengkapi dengan sebuah kontroler yang memiliki
dua register 8 bit yaitu instruction register IR dan data register DR. IR menyimpan kode instruksi, seperti display clear, cursor shift dan informasi
address untuk display data RAM DDRAM dan character generator CGRAM.
3.2.5 Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja
buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus
sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan
dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan
menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat alarm.
Dalam rancangan ini digunakan buzzer tipe piezo elektrik dengan frekuensi ± 1000 Hz. Dengan memberikan arus pada buzzer menyebabkan getaran
pada piezo dan mengeluarkan suara berupa bunyi dengan frekuensi 1000 Hz.
Universitas Sumatera Utara
Gambar 3.5 Rangkaian Buzzer
3.2.6 Flow Chart
Flowchart Bagan Alir merupakan suatu bagan yang menggambarkan arus logika dari data yang akan diproses dari awal sampai akhir. Tujuan utama dari
penggunaan Flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurut, rapi dan jelas dengan menggunakan simbol-
simbol yang standar. Tahap masalah yang disajikan harus jelas, sederhana, efektif dan tepat.
Universitas Sumatera Utara
S ta rt
In is id a s i L C D Is i N ila i A w a l P o rt
P e m b e ria n S in y a l P ic u T rig g a r P a d a S e n s o r
B a c a N ila i P u ls a P a n tu la n D a ri S e n s o r U ltra s o n ik
P u ls a A d a A ta u P a n tu la n ?
K a lk u la s i J a ra k O b je k
T a m p ilk a n P a d a L C D J a ra k Y a n g T e ru k u r
A k tifk a n B u z z e r S e s u a i J a ra k Y a n g T e ru k u r
E n d Y a
Universitas Sumatera Utara
Gambar 3.6 Flow Chart Pendeteksi Banjir Diagram diatas adalah diagram alir sistem yaitu proses kerja dari awal
hingga selesai. Diagram tersebut menggambarkan 1 siklus dari start hingga stop yang merupakan proses yang dilakukan oleh mikrokontroller mulai dengan start
mikrokontroller akan menginisialisasi port dan mengisi nilai awal dari semua port kemudian mulai memicu sensor untuk bekerja mendeteksi jarak atau ketinggian
jika mikrokontroller membaca pulsa akibat diterima kembali gelombang ultrasonic maka tahap selanjutnya adalah mengkalkulasi ketinggian air kemudian
membandingkan ketinggian yang terdeteksi dengan suatu acuan dalam hal ini 10 cm ketinggian air jika bacaan sensor melebihi batas tersebut mikrokontroller akan
mengaktifkan buzzer sebagai isyarat peringatan akan terjadi banjir.
Universitas Sumatera Utara
3.3 Rancangan Rangkaian Pendeteksi Banjir Menggunakan Sensor Ultrasonic Berbasis Mikrokontroller ATmega8535
Universitas Sumatera Utara
Gambar 3.7 Rancangan Rangkaian Deteksi Banjir Berbasis ATmega8535 Berikut Ini Adalah Program Utuh Deteksi Banjir
include alcd.h include mega8535.h
include delay.h
include stdio.h
define SIG_in PINC.1 define trigger PINC.0
unsigned int US; unsigned int Constant;
void mainvoid {
PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0x0F;
PORTC=0x02; DDRC=0x01;
Universitas Sumatera Utara
PORTD=0xFF; DDRD=0x00;
lcd_init16; lcd_gotoxy0,0;
lcd_putsf SISTEM ALARM; lcd_gotoxy0,1;
lcd_putsf DETEKSI BANJIR; delay_ms2000;
Constant = 27; lcd_clear;
while 1 {
PORTC.0 = 1; delay_us20;
PORTC.0 = 0;
TCNT1=0; while PINC.1 == 0{};
TCCR1B=0x02; while PINC.1 == 1 TIFR 0x80; TCCR1B=0x00;
US = TCNT1; if US 1000 {US = US10Constant;}
Universitas Sumatera Utara
if US = 1000 {US = USConstant10;} if US 2000{
lcd_gotoxy0,0;lcd_putsfTINGGI: CM; US = 198 - US;
if US 0{US = 0;}
if US 50 {PORTB.0 = 1;}else{PORTB.0 = 0;}
lcd_gotoxy8,0; lcd_putcharUS1000 10 + 0x30;
lcd_putcharUS100 10 + 0x30; lcd_putcharUS10 10 + 0x30;
lcd_putsf.; lcd_putcharUS 10 + 0x30;
delay_ms100; PORTB.1 = 0;
delay_ms500; PORTB.1 = 1;}
}
}
Universitas Sumatera Utara
Keterangan yang ada pada CV AVR: 1.
USART untuk komunikasi data serial. 2.
Analog Computer untuk pembanding sinyal analog. 3.
ADC untuk mengubah analog menjadi digital. 4.
SP1, I2C, 1 Wire, TW1 I2C untuk mengkomunikasi data serial. 5.
Alphanumeric LCD untuk pengaturan port LCD. 6.
Chip untuk pemilihan IC mikrokontroller. 7.
External IRQ untuk pengaturan interupsi eksternal. 8.
Timer untuk pengaturan waktu atau delay. 9.
Bit-Banged untuk penggunaan periveral tertentu. Misalnya sensor project information untuk menulis data project.
Universitas Sumatera Utara
BAB 4 PENGUJIAN PROGRAM DAN PENGUKURAN RANGKAIAN
4.1 Pengujian Program
include alcd.h include mega8535.h
include delay.h
include stdio.h define SIG_in PINC.1
define trigger PINC.0
unsigned int US; unsigned int Constant;
void mainvoid {
PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0x0F;
Universitas Sumatera Utara
PORTC=0x02; DDRC=0x01;
PORTD=0xFF; DDRD=0x00;
lcd_init16; lcd_gotoxy0,0;
lcd_putsf SISTEM ALARM; lcd_gotoxy0,1;
lcd_putsf DETEKSI BANJIR; delay_ms2000;
Constant = 27; lcd_clear;
while 1 {
PORTC.0 = 1; delay_us20;
PORTC.0 = 0;
TCNT1=0;
Universitas Sumatera Utara
while PINC.1 == 0{}; TCCR1B=0x02; while PINC.1 == 1
TIFR 0x80; TCCR1B=0x00; US = TCNT1;
if US 1000 {US = US10Constant;} if US = 1000 {US = USConstant10;}
if US 2000{
lcd_gotoxy0,0;lcd_putsfTINGGI: CM;
US = 198 - US; if US 0{US = 0;}
if US 50 {PORTB.0 = 1;}else{PORTB.0 = 0;}
lcd_gotoxy8,0; lcd_putcharUS1000 10 + 0x30;
lcd_putcharUS100 10 + 0x30; lcd_putcharUS10 10 + 0x30;
lcd_putsf.; lcd_putcharUS 10 + 0x30;
Universitas Sumatera Utara
delay_ms100; PORTB.1 = 0;
delay_ms500; PORTB.1 = 1;}
}
}
Berikut adalah proses pengujian program yang dibuat dengan bahasa C, dimana program diuji langsung pada alat atau rangkaian sistem. Sebelumnya
program diunduh kedalam IC mikrokontroller kemudian dijalankan. Hasil yang diperoleh dari pengujian program adalah bahwa sensor memberikan input pada
mikrokontroller sehingga mikrokontroller akan merespon pada jarak tertentu yaitu mengeluarkan output buzzer. Dalam hal ini, jarak sensor dengan objek untuk
memberikan output buzzer adalah lebih kecil dari 17 cm. Dengan asumsi bahwa alat ukur ketinggian air telah mencapai 3 cm yaitu tinggi sensor dikurangi selisih
antara jarak sensor dengan ketinggian air yaitu 20 cm – 17 cm = 3 cm. Dari uji coba tersebut dapat disimpulkan bahwa rancangan program telah berjalan dengan
baik yaitu memberikan output yang diinginkan sesuai dengan kondisi input.
4.2 Pengukuran Rangkaian