Perancangan Sistem Multi Locker Dengan Penyandian Berbasis Mikrokontroler Atmega 8 Menggunakan Android Phone
LAMPIRAN 1
PROGRAM PADA ALAT
***************************************************** This program was produced by the
CodeWizardAVR V2.04.9 Evaluation Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version :
Date : 11/03/2016
Author : Freeware, for evaluation and non-commercial use only Company :
Comments:
Chip type : ATmega8 Program type : Application
AVR Core Clock frequency: 11,059200 MHz Memory model : Small
External RAM size : 0 Data Stack size : 256
*****************************************************/
#include <mega8.h> #include <delay.h> #include <stdio.h>
(2)
void Open_Lock1(void){ for (j=0;j<18;j++){
PORTC.0 = 1 ;delay_ms(200); PORTC.1 = 2 ;delay_ms(200); PORTC.2 = 4 ;delay_ms(200); PORTC.3 = 8 ;delay_ms(200); }
PORTC = 0 ; } void Close_Lock1(void){ for (j=0;j<18;j++){
PORTC.3 = 8 ;delay_ms(200); PORTC.2 = 4 ;delay_ms(200); PORTC.1 = 2;delay_ms(200); PORTC.0 = 1 ;delay_ms(200); }
PORTC = 0 ;
} void Close_Lock2(void){ for (j=0;j<18;j++){
PORTD.1 = 1 ; delay_ms(200);PORTD.4 = 0 ; PORTD.2 = 1 ; delay_ms(200);PORTD.1 = 0 ; PORTD.3 = 1 ; delay_ms(200);PORTD.2 = 0 ;
PORTD.4 = 1 ; delay_ms(200);PORTD.3 = 0 ;PORTD.4 = 0 ; }
} void Open_Lock2(void){ for (j=0;j<18;j++){
PORTD.4 = 1 ; delay_ms(200);PORTD.1 = 0 ; PORTD.3 = 1 ; delay_ms(200);PORTD.4 = 0 ; PORTD.2 = 1 ; delay_ms(200);PORTD.3 = 0 ;
(3)
} } void Open_Lock3(void){ for (j=0;j<18;j++){
PORTB.0 = 1 ;delay_ms(200); PORTB.1 = 2 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.3 = 8 ;delay_ms(200); }
PORTB = 0 ; }
void Close_Lock3(void){ for (j=0;j<18;j++){
PORTB.3 = 8 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.1 = 2 ;delay_ms(200); PORTB.0 = 1 ;delay_ms(200); }
PORTB = 0 ; }
void Open_Lock3(void){ //rutin menjalankan motor step buka locker 1 for (j=0;j<18;j++){ //loop 15 kali
PORTB.0 = 1 ;delay_ms(t); // urutan motor step PORTB.1 = 2 ;delay_ms(t);
PORTB.2 = 4;delay_ms(t); PORTB.3 = 8 ;delay_ms(t); }
PORTB = 0 ; //reset port B }
(4)
void Close_Lock3(void){ for (j=0;j<18;j++){
PORTB.3 = 8 ;delay_ms(t); PORTB.2 = 4 ;delay_ms(t); PORTB.1 = 2;delay_ms(t); PORTB.0 = 1 ;delay_ms(t); }
PORTB = 0 ; }
void main(void) {
// Input/Output Ports initialization // Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out // State6=P State5=P State4=P State3=0 State2=0 State1=0 State0=0
PORTC=0x00; DDRC=0x3F;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=Out Func3=Out Func2=Out Func1=Out Func0=In
(5)
// State7=P State6=P State5=P State4=0 State3=0 State2=0 State1=0 State0=T PORTD=0xE0;
DDRD=0x1E;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: Off // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00;
UCSRB=0x10; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; t = 10;
x = 0; while (1)
{XT:if ((UCSRA & (1<<RXC))){ //deteksi port serial Data = UDR; //baca data serial PORTC.4 = 1; delay_ms(15);PORTC.4 = 0;
if(I == 1){ A = Data;} //jika i = 1 data digit 1 disimpan di variabel A if(I == 2){ B = Data;}
if(I == 3){ C = Data;} if(I == 4){ D = Data;} if(I == 5){ E = Data;}
if(I > 5) { I = 0;} //reset i jika > 5
if (Data == '#') {I = 0;} //reset I jika # ditekan
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){if (E=='1'){Open_Lock1();x = 0;goto XT;}}}}}x++;}//buka locker 1 jika password = 3241 1
(6)
if (Data == '*') {I = 0;if (A=='4'){if (B=='3'){if (C=='2'){if (D=='1'){if (E=='2'){Open_Lock2();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='3'){if (D=='1'){if (E=='3'){Open_Lock3();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){x = 0;goto XT;}}}}}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='1'){Close_Lock1();x = 0;}}}} // kunci locker 1 dgn perintah 1 diikuti *
if (Data == '*') {I = 0;if (A=='7'){if (B=='3'){if (C=='2'){Close_Lock2();x = 0;}}}}
if (Data == '*') {I = 0;if (A=='8'){if (B=='1'){if (C=='3'){Close_Lock3();x = 0;}}}}
I++;} //naikkan hitungan I setiap data serial masuk
if (x > 6) {PORTC.4 = 1; delay_ms(200);PORTC.4 = 0; delay_ms(200);} }
(7)
LAMPIRAN 2
(8)
LAMPIRAN 3
GAMBAR ALAT
Gambar 3.1 Foto Alat dari Depan
(9)
Gambar 3.3 Foto Sistem Rangkaian Alat
(10)
Gambar 3.5 Foto Pintu Locker 1 saat Terbuka
(11)
Gambar 3.7 Foto Pintu Locker 3 saat Terbuka
(12)
Gambar 3.9 Foto Pintu Locker 2 saat Tertutup
(13)
(14)
Gambar 3.12 Foto Bluetooth Serial untuk Menghubungkan ke Bluetooth Module HC-05 Pada Alat
(15)
DAFTAR PUSTAKA
Ahmad, Hamzah dkk. 1996. Kamus Pintar Bahasa Indonesia. Surabaya: Fajar Mulya
Albert, Paul. 1989. Prinsip-prinsip Elektronika. Yogyakarta: Penerbit Andi
Budiharto, Widodo. 2004. Interfacing Komputer dan Mikrokontroler. Jakarta: PT Elex Media Komputindo
Budiharto, Widodo. 2005. Perancangan Sistem dan Aplikasi Mikrokontroler. Jakarta : PT.Elex Media Komputindo.
Hartono, Jogiyanto . 2005. Analisis dan Desain Sistem Informasi. Yogyakarta : Penerbit Andi
Hartono, Jogiyanto . 1999. Pengenalan Komputer . Yogyakarta : Penerbit Andi Kurniawan Dayat . 2009. ATMega 8 dan Aplikasinya . Jakarta : Penerbit PT. Elex
Media Komputindo.
Nurcahyo Sidik. 2012.Aplikasi dan Teknik Pemrograman Mikrokontroller AVR Atmel . Yogyakarta: Penerbit Andi .
Malvino, Albert Paul.2000. Prinsip-prinsip elektronika jilid 1. Jakarta : Erlangga Mulyanta, Edi S. 2005. Kupas Tuntas Telepon Seluler Anda. Edisi Ketiga.
Yogyakarta : Penerbit Andi
Sasongko, Bagus Hari. 2012.Pemrograman Mikrokontroller dengan Bahasa C. Yogyakarta: Penerbit Andi .
Soebhakti, Hendawan. 2009. Pengenalan Code Vision AVR. Surabaya : ITS Suyadhi, Taufiq Dwi Septian. 2010. Buku Pintar Robotika Edisi I. Yogyakarta :
Penerbit Andi
Syarkawi. 2007. Pengenalan Motor Stepper. Jakarta : Erlangga
Winarno, Edy.2012. Membuat Sendiri Aplikasi Android Untuk Pemula. Palembang : Elex Media Komputindo
(http://syarkawi.wordpress.com/2010/04/09/Pengenalan-Motor-Stepper/, diakses pada 30 April 2016)
(16)
BAB 3
PERANCANGAN SISTEM
3.1Diagram Blok
Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1 berikut ini :
PENYANDIAN
BLUETOOTH MODULE
(HC-05)
Atmega
8
Motor
LOCKER
1
Buzzer
(suara)
Motor
LOCKER
2
Motor
LOCKER
3
Android
Phone
Mikrokontroller Driver (Penguat) Driver (Penguat) Driver (Penguat) Driver (Penguat) Motor Stepper Motor Stepper Motor Stepper Transistor (BD 139) Transistor (BD 139) Transistor (BD 139) Transistor (BD 139) Gambar 3.1 Diagram Blok Sistem(17)
3.2Rangkaian Mikrokontroler ATMega 8
Rangkaian sistem minimum mikrokontroler ATMEGA 8 dapat dilihat pada gambar 3.2 di bawah ini :
Gambar 3.2 Rangkaian Sistem Minimum ATMega 8
Kontroler AT mega 8 berfungsi sebagai pengendali utama dari sebuah system locker dimana tugas kontroler tersebut adalah menerima data password dari user kemudian verifikasi password dan mengakses locker sesuai password atau perintah yang diberikan. Input kontroler berasal dari masukkan serial yaitu masukkan dari user yang dikirim melalui ponsel android sebagai perantara atau interface ponsel dengan rangkaian digunakan sebuah adapter Bluetooth yaitu HC-05. Output adapter dihubungkan pada masukkan serial kontroler pada pin 2 atau PD.0 yang merupakan masukkan serial, sedangkan output kontroler diprogram pada beberapa Port yaitu Port B, sebagian Port C dan Port D. Seperti diketahui sebuah motor stepper dibutuhkan minimal 4 bit sehingga untuk 3 buah motor rancangan membutuhkan 12 bit dari keluaran mikrokontroler. Untuk motor pada pintu locker pertama diprogram pada Port B yaitu PB.0 sampai PB.3, sedangkan untuk motor pada pintu locker kedua diprogram pada Port C yaitu PC.0 sampai PC.3 dan untuk motor pada pintu locker ketiga ada pada Port D yang dimulai dari PD.1 sampai pada PD.4. Selain motor stepper terdapat output buzzer dimana
(18)
output tersebut deprogram pada PC.5 pada pin 28. Masukkan Kristal dihubungkan pada pin 9 dan 10 yang merupakan masukkan system pembangkit clock.
3.3Rangkaian Media Komunikasi Bluetotth HC-05
3.3Rangkaian Adapter Bluetooth HC-05
Untuk menghubungkan (communication links) mikrokontroler dengan adapter Bluetooth pada android diperlukan komunikasi Bluetooth HC-05, Rangkaian ini berfungsi untuk mengirim password antara android ponsel dengan adapter Bluetooth seperti ditunjukkan pada Gambar 3.4 berikut:
Gambar 3.4 Komunikasi Adapter Bluetooth HC-05
(19)
Komunikasi antara ponsel dengan rangkaian dilakukan melalui jaringan Bluetooth yaitu gelombang radio frekuensi tinggi dengan protokol Bluetooth. Sebagai perantara atau interface digunakan sebuah adapter Bluetooth yaitu HC-05, keluaran adapter dihubungkan pada PD.0 dari kontroler. PD.0 merupakan pin I/O dua arah dan pin fungsi khusus yaitu interupsi eksternal dan komunikasi serial. Data yang dikirim oleh ponsel diterima oleh adapter Bluetooth kemudian disalurkan ke kontroler melalui pin keluaran. Dari Bluetooth adapter keluar TXD yang berfungsi untuk mengirimkan data dari modul ke mikrokontroler, dan masuk ke mikrokontroler menjadi RXD yang berfungsi untuk menerima data dari Bluetooth HC-05.
3.4Rangkaian Motor Stepper
Pada alat ini rangkaian motor stepper sebagai penggerak untuk membuaka dan mengunci pintu locker. Gambar 3.5 berikut merupakan gambar prinsip kerja rangkaian motor stepper:
Gambar 3.5 Rangkaian Prinsip Kerja Motor Stepper
Motor stepper digunakan sebagai penggerak locker yaitu mengunci atau membuka. Jenis motor stepper yang digunakan adalah jenis unipolar 4 fasa. Motor stepper bergerak secara step demi step (langkah demi langkah) terdapat 4 buah kumparan untuk sebuah motor stepper jenis ini memiliki 4 langkah untuk satu periode. Tegangan kerja motor stepper adalah 12 volt dc.
(20)
3.5Rangkaian Driver Motor Stepper
Gambar 3.6 Rangkaian Driver Motor Stepper
Driver motor stepper adalah penguat arus rangkaian terbuat dari 4 buah transistor. Gambar 3.7 berikut merupakan gambar rangkaian skema driver motor stepeer yang berhubungan dengan mikrokontroler.
Gambar 3.7 Rangkaian Driver Motor Stepper Pada Alat
Dari gambar diatas yang disebut driver motor stepper adalah sebuah rangkaian penguat arus rangkian terbuat dari 4 buah transistor NPN, dimana transistor dikendalikan oleh kontroler masing-masing kumparan motor stepper dengan transistor adalah dengan cara mengatur arus kumparan melalui transistor. Tipe transistor NPN bekerja berdasarkan bias positif pada basis transistor sehingga
(21)
jika diberi tegangan positif akan ON dan sebaliknya jika tegangan nol diberikan, akan menyebabkan transistor dalam keadaan OFF. Berdasarkan sifat tersebut kontroler mengendalikan transistor dan motor. Tipe transistor yang digunakan adalah BD 139 yaitu transistor NPN dengan arus kerja 1 Ampere. Selain penguat untuk motor transistor juga digunakan untuk mengendalikan buzzer. Akan tetapi dengan tipe yang lebih kecil yaitu BC 546 yang terhubung pada pin 28. Pada rangkaian driver motor stepper diatas tidak digunakan resistor karena fan out mikrokontroler sudah cukup mengaktifkan transistor tanpa adanya resistor.
3.6Rangkaian Catu Daya
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mencatu IC kontroler adapter Bluetooth sedangkan tegangan 12 volt digunakan untuk menggerakkan motor dan buzzer, seperti pada gambar 3.8:
220µF/50V
10µF/50V
GND GND
GND GND TRAFO
DIODA
Gambar 3.8 Rangkaian Catu Daya
Catu daya system dirancang dengan mengguanakan sebuah trafo step down penyearah dan regulator. Trafo yang digunakan memiliki besaran output 12 volt CT dan arus 1 Ampere. Output trafo disearahkan menjadi arus searah kemudian diregulasi oleh sebuah IC regulator yaitu AN 7805 sehingga keluaran dari regulator adalah 5 volt stabil. Tegangan 5 volt diguanakan untuk mencatu IC
(22)
kontroler adapter Bluetooth, sedangkan 12 volt digunakan untuk menggerakkan motor dan buzzer.
3.7 Rangkaian Lengkap
Berdasarkan uraian-uraian yang telah diterangkan pada bagian sebelumnya, maka dibuat rangkaian lengkap dari peralatan. Adapun rangkaian lengkap dari perancangan sistem ini dapat dilihat pada gambar 3.9 berikut ini:
(23)
(24)
3.8Diagram Alir
Start
Inisialisasi dan nilai awal Baca masukkan dari user Ada masukkan? Verifikasi password Password sesuai?
Kode = 1?
Kode = 2?
Kode = 3?
Kode = #?
Stop
Naikkan Counter
Counter > 3?
Buka Locker 1
Buka Locker 2
Buka Locker 3
Aktifkan Buzzer
Kunci Locker sesuai kode T T T T T T T Y Y Y Y Y Y Y
(25)
Flow chart diatas menjelaskan aliran proses system yang ditentukan oleh program yang dibuat. Dimulai dari inisialisasi dan nilai awal, kemudian program akan mulai membaca input yaitu input serial dari user melalui Bluetooth adapter. Jika terdapat masukan, maka program akan verifikasi password tersebut. Jika password benar maka locker akan dibuka sesuai kode yang diberikan. Sedangkan jika salah, program akan cek jumlah kesalahan, bila mencapai lebih 3 kali maka buzzer akan diaktifkan. Jika belum mencapai 3 lebih maka counter akan ditambahkan. Proses mengunci kembali locker yang telah dibuka cukup dengan mengirim tanda # tanpa disertai password. Flow chart diatas memberikan aliran 1 siklus kerja system.
3.9Program
Adapun program ringkas yang diisikan ke dalam IC Mikrokontroler ATmega 8 adalah sebagai berikut:
#include <mega8.h> #include <delay.h> #include <stdio.h>
unsigned char x,j,t,Data,I,A,B,C,D,E; void Open_Lock1(void){
for (j=0;j<18;j++){
PORTC.0 = 1 ;delay_ms(200); PORTC.1 = 2 ;delay_ms(200); PORTC.2 = 4 ;delay_ms(200); PORTC.3 = 8 ;delay_ms(200); }
PORTC = 0 ; } void Close_Lock1(void){ for (j=0;j<18;j++){
(26)
PORTC.2 = 4 ;delay_ms(200); PORTC.1 = 2;delay_ms(200); PORTC.0 = 1 ;delay_ms(200); }
PORTC = 0 ;
} void Close_Lock2(void){ for (j=0;j<18;j++){
PORTD.1 = 1 ; delay_ms(200);PORTD.4 = 0 ; PORTD.2 = 1 ; delay_ms(200);PORTD.1 = 0 ; PORTD.3 = 1 ; delay_ms(200);PORTD.2 = 0 ;
PORTD.4 = 1 ; delay_ms(200);PORTD.3 = 0 ;PORTD.4 = 0 ; }
} void Open_Lock2(void){ for (j=0;j<18;j++){
PORTD.4 = 1 ; delay_ms(200);PORTD.1 = 0 ; PORTD.3 = 1 ; delay_ms(200);PORTD.4 = 0 ; PORTD.2 = 1 ; delay_ms(200);PORTD.3 = 0 ;
PORTD.1 = 1 ; delay_ms(200);PORTD.2 = 0 ;PORTD.1 = 0 ; }
} void Open_Lock3(void){ for (j=0;j<18;j++){
PORTB.0 = 1 ;delay_ms(200); PORTB.1 = 2 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.3 = 8 ;delay_ms(200); }
PORTB = 0 ; }
(27)
void Close_Lock3(void){ for (j=0;j<18;j++){
PORTB.3 = 8 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.1 = 2;delay_ms(200); PORTB.0 = 1 ;delay_ms(200); }
PORTB = 0 ; } void main(void) {
PORTB=0x00; DDRB=0xFF;
PORTC=0x00; DDRC=0x3F;
PORTD=0xE0; DDRD=0x1E;
UCSRA=0x00; UCSRB=0x10; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; t = 10;
x = 0; while (1)
{XT:if ((UCSRA & (1<<RXC))){ Data = UDR;
(28)
if(I == 1){ A = Data;} if(I == 2){ B = Data;} if(I == 3){ C = Data;} if(I == 4){ D = Data;} if(I == 5){ E = Data;} if(I > 5) { I = 0;} if (Data == '#') {I = 0;}
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){if (E=='1'){Open_Lock1();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='4'){if (B=='3'){if (C=='2'){if (D=='1'){if (E=='2'){Open_Lock2();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='3'){if (D=='1'){if (E=='3'){Open_Lock3();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){x = 0;goto XT;}}}}}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='1'){Close_Lock1();x = 0;}}}}
if (Data == '*') {I = 0;if (A=='7'){if (B=='3'){if (C=='2'){Close_Lock2();x = 0;}}}}
if (Data == '*') {I = 0;if (A=='8'){if (B=='1'){if (C=='3'){Close_Lock3();x = 0;}}}}
I++;}
if (x > 6) {PORTC.4 = 1; delay_ms(200);PORTC.4 = 0; delay_ms(200);} }
(29)
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1Pengujian Rangkaian Mikrokontroler ATMega 8
Pengujian mikrokontroler dilakukan dengan memprogram kontroler untuk mengeluarkan output pada PORT kontroler. Berikut ini adalah perintah pengujian mikrokontroler:
PORTB=0x00; DDRB=0xFF;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out // State6=P State5=P State4=P State3=0 State2=0 State1=0 State0=0
PORTC=0x00; DDRC=0x1F;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=Out Func3=Out Func2=Out Func1=Out Func0=In
// State7=P State6=P State5=P State4=0 State3=0 State2=0 State1=0 State0=T PORTD=0xE0;
DDRD=0x1E;
Setelah program diunduh ke dalam IC kemudian dilakukan pengukuran dengan volt meter masing-masing PORT hasil pengukuran pada PORT B untuk bit 0 hingga bit 7 adalah 0 Volt. Untuk PORT C 6 bit yaitu bit 0 hingga bit 5 berlogika 0, sedangkan bit 6 dan bit 7 dalam keadaan seven state yaitu 2,5 Volt. Dan untuk PORT D 3 bit pertama yaitu D.0 sampai D.2 akan berlogika 0 sedangkan bit 3 akan berlogika 1, sedangkan untuk bit 4 hingga bit 7 adalah 2,5
(30)
Volt. Setelah diukur akan dibandingkan dengan program, maka dapat dibandingkan apakah data program sama dengan data pengukuran. Jika terjadi perbedaan ada indikasi kesalahan, tetapi jika tidak dapat dinyatakan kontroler bekerja dengan baik.
4.2 Pengujian Motor Stepper
Pengujian dilakukan dengan memprogram kontroler dengan rutin yang disajikan pada program dibawah ini:
void Open_Lock1(void) {
for (j=0;j<15;j++) {
PORTB.0 = 1 ;delay_ms(200); PORTB.1 = 2 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.3 = 8 ;delay_ms(200); }
PORTB = 0 ; }
Setelah program diunduh, kontroler dijalankan pemanggilan open lock 1 akan membuat motor step bergerak searah jarum jam. Pada awalnya pengujian motor tidak begerak teratur dan hanya bergetar, setelah diperiksa ternyata urutan kabel salah satunya terbalik. Setelah dilakukan perbaikan dan dijalankan kembali motor akan berputar searah jarum jam sebanyak 1,5 putaran. Pengujian dilakukan juga untuk arah kebalikan yaitu berlawanan jarum jam dengan rutin seperti yang diberikan pada program berikut:
void Close_Lock1(void) {
(31)
PORTB.3 = 8 ;delay_ms(200); PORTB.2 = 4 ;delay_ms(200); PORTB.1 = 2 ;delay_ms(200); PORTB.0 = 1 ;delay_ms(200); }
PORTB = 0 ; }
Putaran motor akan bergerak berlawanan jarum jam sebanyak 1,5 putaran. Setelah itu pengujian dilakukan untuk motor kedua dan motor ketiga. Hasil pengujian final menyatakan bahwa semua motor bekerja dengan baik.
4.3 Pengujian Bluetooth Adapter HC-05
Pengujian adapter dilakukan dengan program berikut:
{XT: if ((UCSRA & (1<<RXC))){ Data = UDR;
Jika adapter bekerja dan membaca 1 data dari user kontroler akan membunyikan buzzer selama 15 milidetik. Setelah program diunduh dan dijalankan pengujian dapat dilakukan dengan mengaktifkan Bluetooth dari ponsel android. Setelah itu dilakukan paring atau koneksi, setelah Bluetooth adapter terhubung dengan ponsel pengujian dilakukan dengan mengaktifkan program atau aplikasi Bluetooth serial dalam ponsel. Pada aplikasi tersebut di klik maka ponsel akan mengirim 1 karakter ASCII dan bila data tersebut diterima oleh Bluetooth adapter akan menyebabkan bunyi buzzer dengan durasi pendek tiap kali tombol di klik buzzer tersebut akan tetap berbunyi. Dengan demikian pengujian tersebut dinyatakan berhasil karena Bluetooth adapter telah terkoneksi dengan ponsel dan dapat menerima data dari ponsel tersebut.
(32)
4.4Pengujian Alat Secara Keseluruhan
Progam pengujian alat secara keseluruhan diperlihatkan berikut ini:
while (1)
{XT:if ((UCSRA & (1<<RXC))){ Data = UDR;
PORTC.4 = 1; delay_ms(15);PORTC.4 = 0;
if(I == 1){ A = Data;} if(I == 2){ B = Data;} if(I == 3){ C = Data;}
if(I == 4){ D = Data;} if(I == 5){ E = Data;} if(I > 5) { I = 0;} if (Data == '#') {I = 0;}
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){if (E=='1'){Open_Lock1();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='4'){if (B=='3'){if (C=='2'){if (D=='1'){if (E=='2'){Open_Lock2();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='3'){if (D=='1'){if (E=='3'){Open_Lock3();x = 0;goto XT;}}}}}x++;}
if (Data == '*') {I = 0;if (A=='3'){if (B=='2'){if (C=='4'){if (D=='1'){x = 0;goto XT;}}}}}
if (Data == '*') {I = 0;if (A=='5'){if (B=='2'){if (C=='1'){Close_Lock1();x = 0;}}}}
if (Data == '*') {I = 0;if (A=='7'){if (B=='3'){if (C=='2'){Close_Lock2();x = 0;}}}}
if (Data == '*') {I = 0;if (A=='8'){if (B=='1'){if (C=='3'){Close_Lock3();x = 0;}}}}
I++;}
if (x > 6) {PORTC.4 = 1; delay_ms(200);PORTC.4 = 0; delay_ms(200);} }
(33)
Program bekerja membaca masukan dari user kemudian verifikasi password dan menggerakkan locker sesuai nomor yang diberikan setelah program terunduh ke kontroler kemudian dijalankan. Pada kondisi awal semua locker dalam keadaan terkunci setelah itu input diberikan oleh user dengan kondisi koneksi Bluetooth telah tersambung. User dapat memasukkan password dari keypad yang ada pada aplikasi Bluetooth serial. Pertama-tama dimasukkan sembarang password sebanyak 4 digit dan 1 digit nomor pintu. Setelah dimasukkan password yang salah lebih dari 3 kali maka akan terjadi bunyi buzzer sehingga harus dinonaktifkan, untuk menonaktifkan buzzer harus dimasukkan password yang benar dimana password bisa pada angka 3241 setelah ditekan password tersebut buzzer akan berhenti berbunyi. Kemudian dicoba untuk membuka pintu locker 1 dengan dengan memasukkan kode 3241 1 pintu locker 1 akan terbuka. Setelah itu dicoba pintu locker 2 dengan kode 4321 2 demikaian juga dengan pintu locker 3 dengan kode 5231 3. Untuk mengunci kembali tidak membutuhkan password hanya memberikan nomor pintu dan kode mengunci yaitu 52 1 untuk pintu 1, 73 2 untuk pintu 2 dan 81 3 untuk pintu 3. Pada awal pengujian masih banyak terjadi kesalahan misalnya macet pada pintu 2 dan 3 selain itu password sulit dibaca, setelah dilakukan perbaikan maka secara keseluruhan system bekerja sempurna sesuai dengan kode password yang diberikan.
(34)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil perancangan alat hingga pengujian dan pembahasan sistem maka penulis dapat menarik kesimpulan, antara lain :
1. Telah berhasil dirancang sebuah alat yang dapat menyimpan barang dengan system multi locker menggunakan android berbasis mikrokontroler ATmega 8.
2. Rancang bangun dapat diterapkan pada system multi locker dengan single password.
3. System bekerja cukup efektif dan praktis sebagai akses pintu locker tanpa kunci.
5.2 Saran
Setelah melakukan penelitian, diperoleh beberapa hal yang dapat dijadikan saran untuk dilakukan penelitian lebih lanjut yaitu :
1. Pengembangan system dibutuhkan dalam hal mekanisme multi locker elektronik.
2. Pengembangan pada softwere dan hardwere agar system dapat dipasarkan.
(35)
BAB 2
LANDASAN TEORI
2.1 Pengertian Sistem
Berdasarkan kutipan buku yang berjudul Analisis dan Desain Sistem Informasi karangan Jogiyanto HM (2005,1) : ”Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan,berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”. Sebuah sistem dapat terdiri dari sistem-sistem bagian (subsistem) masing-masing dapat terdiri dari subsistem-subsistem yang lebih kecil lagi atau terdiri dari komponen-komponen yang saling berinteraksi dan saling berhubungan membentuk suatu ksesatuan sehingga tujuan atau sasaran sistem dapat tercapai.
2.2 Locker
Locker atau lemari barang barang adalah benda. Lemari adalah perkakas rumah, tempat menyimpan pakaian dan sebagainya (Hamzah Ahmad, Nanda Santoso:1996:44, 222). Merujuk dari referensi tersebut, maka penulis menyimpulkan bahwa lemari barang adalah perkakas rumah yang memiliki fungsi untuk menyimpan benda.
2.3 Android
(36)
Android adalah sistem operasi untuk handphone yang berbasis linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Android merupakan salah satu sistem operasi yang banyak digunakan saat ini. Hal ini didukung dengan support-nya beberapa vendor besar, seperti Samsung, HTC, LG yang menggunkan system opersai ini. Sehingga menjadikan andoid lebih cepat popular dibandingkan system operasi smartphone lainnya. “(Winarno, Edy & Zaki, Ali :2012) Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat 8 peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
2.3.1 Karakteristik Android
Andorid merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware, dan aplikasi unit yang di-release oleh Google. Pada tulisan sebelumnya, kita mengenal SDK (Software Development Kit). SDK adalah suatu tools dan API yang diperlukan untuk mengembangkan aplikasi pada platform atau linkungan Android. Pengembangan aplikasi Android menggunakan bahasa pemrograman Java. Seperti kita ketahui, SDK ini dikembangkan oleh OHA (Open Handsate Alliance). Organisasi OHA ini terdiri atas Googl, Intel, Motorola, Qualcomm, T-Mobile, dan NVIDIA. SDK dapat kita gunakan pada beberapa IDE (Integrated Development and Environment) – software untuk membuat suatu program –
(37)
akan tetapi, pada tulisan selanjutnya, penulis akan menggunakan Eclipse karena OHA secara resmi membuat plugin untuk IDE Eclipse.
2.4 Buzzer
Buzzer adalah suatu alat yang dapat mengubah sinyal listrik menjadi sinyal suara. Pada umumnya buzzer digunakan untuk alarm, karena penggunaannya cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz. (Albert Paul, Prinsip-prinsip Elektronika, 1989 hal: 134).
Gambar 2.2 Simbol dan Fisik Buzzer
Rangkaian Buzzer atau yang biasa disebut sebagai rangkaian alarm pengingat pesan dan tanda pastinya sudah sering ditemukan di beberapa perangkat elektronik di pasar. Pada era teknologi modern ini, pastinya alarm sudah tersedia di beberapa perangkat elektronik seperti ponsel dan juga jam memiliki alarm sebagai tanda peringatan. Rangkaian alarm atau tanda pengingat ini sudah menjadi salah satu penunjang penting dan tidak dapat dipisahkan di beberapa perangkat elektronik tersebut. Rangkaian tanda pengingat ini berfungsi untuk mendeteksi gerakan dan juga cahaya yang bisa membantu Anda mencegah kasus pencurian.
(38)
2.5 Mikrokontroler Atmega8
Gambar 2.3 Bentuk Fisik ATmega 8
AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash.
Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 – 5,5 V.
(39)
2.6 Bluetooth Module HC-05
Gambar 2.4 Bentuk Fisik Bluetooth HC-05
Bluetooth Module HC-05 merupakan module komunikasi nirkabel pada frekuensi 2.4 GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master. Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi wireless. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built in LED sebagai indikator koneksi bluetooth. Modul BT ini terdiri dari dua jenis yaitu Master dan Slave. Seri modul BT HC bisa dikenali dari nomor serinya, jika nomer serinya genap maka modul BT tersebut sudah diset oleh pabrik, bekerja sebagai slave atau master dan tidak dapat diubah mode kerjanya, contoh adalah HC-06-S. Modul BT ini akan bekerja sebagai BT Slave dan tidak bisa diubah menjadi Master, demikian juga sebaliknya misalnya HC-04M. Default mode kerja untuk modul BT HC dengan seri genap adalah sebagai Slave.
Sedangkan modul BT HC dengan nomer seri ganjil, misalkan HC-05, kondisi default biasanya diset sebagai Slave mode, tetapi pengguna bisa mengubahnya menjadi mode Master dengan AT Command tertentu.
Penggunaan utama dari modul BT ini adalah menggantikan komunikasi serial via kabel, sebagai contoh:
1. Jika akan menghubungkan dua sistem mikrokontroler agar bisa berkomunikasi via serial port maka dipasang sebuah modul BT Master pada satu sistem dan modul BT Slave pada sistem lainnya. Komunikasi dapat langsung dilakukan setelah kedua modul melakukan pairing.
(40)
Koneksi via bluetooth ini menyerupai komunikasi serial biasa, yaitu adanya pin TXD dan RXD.
2. Jika sistem mikrokontroler dipasangi modul BT Slave maka ia dapat berkomunikasi dengan perangkat lain semisal PC yang dilengkapi adapter BT ataupun dengan perangkat ponsel, smartphone dan lain-lain
3. Saat ini banyak perangkat seperti printer, GPS modul dan lain-lain yang bekerja menggunakan media bluetooth, tentunya sistem mikrokontroler yang dilengkapi dengan BT Master dapat bekerja mengakses device-device tersebut
Pemakaian module BT pada sistem komunikasi baik antar dua sistem mikrokontrol maupun antara suatu sistem ke device lain tidak perlu menggunakan driver, tetapi komunikasi dapat terjadi dengan dua syarat yaitu :
1. Komunikasi terjadi antara modul BT Master dan BT Slave, komunikasi tidak akan pernah terjadi jika kedua modul sama Master atau sama-sama Slave, karena tidak akan pernah pairing diantara keduanya
2. Password yang dimasukkan cocok
Modul BT yang banyak beredar di sini adalah modul HC-06 atau sejenisnya dan modul HC-05 dan sejenisnya. Perbedaan utama adalah modul HC-06 tidak bisa mengganti mode karena sudah diset oleh pabrik, selain itu tidak banyak AT Command dan fungsi yang bisa dilakukan pada modul tersebut. Diantaranya hanya bisa mengganti nama, baud rate dan password saja.
Sedangkan untuk modul HC-05 memiliki kemampuan lebih yaitu bisa diubah mode kerjanya menjadi Master atau Slave serta diakses dengan lebih banyak AT Command, modul ini sangat direkomendasikan, terutama dengan flexibilitasnya dalam pemilihan mode kerjanya.
(41)
2.7 Motor Stepper Unipolar
Gambar 2.5 Bentuk Fisik Motor Stepper Unipolar
Motor stepper adalah motor yang digunakan sebagai penggerak/pemutar. Prinsip kerja motor stepper mirip dengan motor DC, sama-sama dicatu dengan tegangan DC untuk memperoleh medan magnet. Bila motor DC memiliki magnet tetap pada stator, motor stepper mempunyai magnet tetap pada rotor. Motor stepper dinyatakan dengan spesifikasi : “berapa phasa “, “berapa derajat perstep”, “berapa volt tegangan catu untuk tiap lilitan” dan ”berapa ampere/miliampere arus yang dibutuhkan untuk tiap lilitan”. Motor stepper tidak dapat bergerak sendirinya, tetapi bergerak secara per-step sesuai dengan spesifikasinya, dan bergerak dari satu step ke step berikutnya memerlukan waktu, serta menghasilkan torsi yang besar pada kecepatan rendah. Motor stepper juga memiliki karakteristik yang lain yaitu torsi penahan, yang memungkinkan menahan posisinya. Hal ini sangat berguna untuk aplikasi dimana suatu sistem memerlukan keadaan start dan stop (Syarkawi, 2007).
Motor stepper tidak merespon sinyal clock dan mempunyai beberapa lilitan dimana lilitan-lilitan tersebut harus dicatu (tegangan) dahulu dengan suatu urutan tertentu agar dapat berotasi. Membalik urutan pemberian tegangan tersebut akan menyebabkan putaran motor stepper yang berbalik arah. Jika sinyal kontrol tidak terkirim sesuai dengan perintah maka motor stepper tidak akan berputar secara tepat, mungkin hanya akan bergetar dan tidak bergerak. Untuk mengontrol motor stepper digunakan suatu rangkaian driver yang menangani kebutuhan arus dan tegangan (Syarkawi, 2007).
(42)
Karakteristik dari motor stepper menurut Trianto adalah sebagai berikut: 1. Tegangan
Tiap motor stepper mempunyai tegangan rata-rata yang tertulis pada tiap unitnya atau tercantum pada datasheet masing-masing motor stepper. Tegangan rata-rata ini harus diperhatikan dengan seksama karena bila melebihi dari tegangan rata-rata ini akan menimbulkan panas yang menyebabkan kinerja putarannya tidak maksimal atau bahkan motor stepper akan rusak dengan sendirinya.
2. Resistansi
Resistansi per lilitan adalah karakteristik yang lain dari motor stepper. Resistansi ini akan menentukan arus yang mengalir, selain itu juga akan mempengaruhi torsi dan kecepatan maksimum dan motor stepper.
3. Derajat per step
Derajat per step adalah faktor terpenting dalam pemilihan motor stepper sesuai dengan aplikasinya. Tiap-tiap motor stepper mempunyai spesifikasi masing-masing, antara lain: 0.72° per step, 1.8° per step, 3.6° per step, 7.5° per step, 15° per step, dan bahkan ada yang 90° per step. Dalam pengoperasiannya kita dapat menggunakan 2 prinsip yaitu full step atau half step. Dengan full step berarti motor stepper berputar sesuai dengan spesifikasi derajat per stepnya, sedangkan half step berarti motor stepper berputar setengah derajat per step dari spesifikasi motor stepper tersebut. Motor stepper dibedakan menjadi dua kategori besar yaitu: magnet permanen dan reluktansi variabel. Tipe magnet permanen terbagi menjadi dua motor stepper yaitu motor stepper unipolar dan bipolar.
Motor stepper unipolar sangat mudah untuk dikontrol dengan menggunakan rangkaian counter „-n‟. Motor stepper unipolar mempunyai karakteristik khusus yaitu berupa lilitan center-tapped dan 1 lilitan sebagai common. Lilitan common akan mencatu tegangan pada center-tapped dan sebagai ground adalah rangkaian drivernya.
Motor stepper unipolar dapat dikenali dengan mengetahui adanya lilitan center-tapped. Jumlah phase dan motor stepper adalah dua kali dan jumlah
(43)
koilnya. Umumnya pada motor stepper unipolar terdapat dua buah koil (Syarkawi, 2007).
Gambar 2.6 Susunan Koil Motor Stepper Unipolar
Tabel 2.1 Pola 1-Phase Putaran Motor Stepper Unipolar
Pada prinsipnya ada dua macam cara kerja motor stepper unipolar, yaitu full-step dan half-step. Terlihat pada Tabel 2.2 dan Tabel 2.3
Tabel 2.2 Pemberian Tegangan Untuk Operasi Full-Step
FULLSTEP
Tegangan yang diberikan pada lilitan
Arah putar searah jarum jam Arah putar melawan jarum jam
L3 L2 L1 L0 L3 L2 L1 L0
1 1 0 0 0 0 0 0 1
2 0 1 0 0 0 0 1 0
3 0 0 1 0 0 1 0 0
(44)
Pada full step, suatu titik pada sebuah kutub magnet di rotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4, dan berikutnya dapat diberikan lagi mulai dari step 1. Setiap step, rotor bergerak searah atau berlawanan dengan jarum jam sebesar spesifikasi derajat per step dan motor stepper. Setiap step hanya menarik sebuah kutub saja. Tegangan „1‟ adalah menunjukkan logika dalam level Transistor Transistor Logic (TTL). Besar tegangan sesungguhnya diatur dengan spesifikasi motor stepper yang dipakai, misalnya dengan menggunakan buffer.
Tabel 2.3 Pemberian Tegangan Untuk Operasi Half-Step
HALFSTEP
Tegangan yang diberikan pada lilitan
Arah putar searah jarum jam Arah putar melawan jarum jam
L3 L2 L1 L0 L3 L2 L1 L0
1 1 0 0 0 0 0 0 1
2 1 1 0 0 0 0 1 1
3 0 1 0 0 0 0 1 0
4 0 1 1 0 1 1 1 0
5 0 0 1 0 1 1 0 0
6 0 0 1 1 1 1 0 0
7 0 0 0 1 0 0 0 0
8 1 0 0 1 0 0 0 1
Untuk half step, setiap kutub magnet pada rotor akan kembali mendapatkan tarikan dan medan magnet lilitan yang sama setelah step ke 8. berikutnya kembali mulai step 1. Setiap step posisi rotor berubah sebesar setengah derajat dan spesifikasi derajat per step motor stepper.
Berbeda dengan motor stepper unipolar, motor stepper bipolar sangat sulit dalam pengontrolannya. Motor stepper jenis ini memerlukan rangkaian driver yang kompleks. Keuntungan motor stepper bipolar adalah ukurannya yang besar dan dapat menghasilkan torsi yang besar daripada motor stepper unipolar. Motor
(45)
stepper bipolar di desain dengan koil yang terpisah yang akan di catu dan dua arah (polaritas harus dibalik selama pencatuan). Motor stepper bipolar menggunakan logika yang sama seperti motor stepper unipolar yaitu hanya „0‟ dan „1‟ untuk merespon koilnya.
2.7.1 Prinsip Kerja Motor Stepper
Prinsip kerja motor stepper adalah mengubah pulsa-pulsa input menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik.
Berikut ini adalah ilustrasi struktur motor stepper sederhana dan pulasa yang dibutuhkan untuk menggerakkannya :
Gambar 2.7 Prinsip Kerja Motor Stepper Unipolar
Gambar diatas memberikan ilustrasi dari pulsa keluaran pengendali motor stepper dan penerpan pulsa tersebut pada motor stepper untuk menghasilkan arah putaran yang bersesuaian dengan pulsa kendali.
2.7.2 Driver Motor Stepper Unipolar
Secara teoritis, sebuah motor stepper dapat digerakkan langsung oleh mikrokontroller (Syarkawi, 2007). Dalam kenyataannya, arus dan tegangan yang dikeluarkan oleh mikrokontroller terlalu kecil untuk menggerakkan sebuah motor stepper. Gerbang-gerbang Transistor Transistor Logic (TTL) mikrokontroller hanya mampu mengeluarkan arus dalam orde mili-ampere dan tegangan antara 2 sampai 2,5 Volt. Sementara itu untuk menggerakkan motor stepper diperlukan arus yang lebih besar (dalam orde ampere) dan tegangan berkisar 5 sampai 24
(46)
Volt. Untuk mengatasi masalah tersebut, diperlukan sebuah piranti tambahan yang memenuhi kebutuhan arus dan tegangan yang cukup besar. Rangkaian driver motor stepper merupakan rangkaian “open collector”, dimana output rangkaian ini terhubung dengan ground untuk mencatu lilitan-lilitan motor stepper.
Gambar 2.8 Skema Rangkaian Driver Motor Stepper
Arus keluaran mikrokontroler tidak dapat menggerakkan motor stepper. Maka diperlukan driver untuk mencatu arus motor stepper.
Motor stepper terdiri rotor dan stator yang bekerja berdasar sifat magnet, dimana magnet sejenis tolak menolak dan yang berlawanan tarik menarik. Kumparan pada stator membentuk medan magnet saat diberi arus, sehingga motor yang menggunakan magnet akan bergerak untuk mencari kestabilan agar kutub magnet bersesuaian dengan medan magnet yang terjadi. Arah puran motor stepper ditentukan oleh arah urutan arus yang diberikan pada input motor stepper. Motor stepper mempunyai 4 input dan satu input tegangan. Motor stepper dapat berputar kekiri maupun kekanan sesuai dengan input yang diberikan. Untuk perputaran kearah kiri dengan memberikan input ring counter dengan arah kekiri dan untuk berputar kekanan dengan memberikan input ring counter dengan arah kekanan. Motor stepper bergerak setiap satu langkah dengan besar sudut 1,8º jadi untuk berputar satu putaran penuh membutuhkan 200 step. Dengan motor stepper kita dapat memutar motor sesuai dengan yang diinginkan. Kecepatan motor stepper juga dapat diubah sesuai dengan kebutuhan. Dengan mengubah waktu perpindahan dari suatu input ke input lain pada motor stepper.
(47)
2.8 Bahasa Pemograman C
Struktur bahasa pemograman C (Andrian, 2013):
1. Header File
Header File adalah berkas yang berisi prototype fungsi, definisi konstanta dan definisi variable. Fungsi adalah kumpulan kode C yang diberi nama dan
ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan. Contoh : stdio.h, math.h, conio.h
2. Preprosesor Directive
Preprosesor directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta.
Contoh: #include <stdio.h>, #include phi 3.14 3. Void
Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian (return).
4. Main ( )
Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi tanpa fungsi main suatu program tidak d apat dieksekusi namun dapat dikompilasi.
5. Statement
Statement adalah instruksi atau perintah kepada suatu program ketika
program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement diakhiri
dengan titik-koma (;)
2.9 Code Vision AVR
Code Vision AVR pada dasarnya merupakan perangkat lunak pemrograman microcontroller keluarga AVR berbasis bahasa C. Ada tiga
(48)
komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded). Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, Code Vision AVR ini telah mengintegrasikan perangkat lunak downloader (in system programmer) yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang deprogram.
Code Vision AVR 1.2.4.9 adalah suatu kompiler berbasis bahasa C, yang terintegrasi untuk memprogram dan sekaligus compiler aplikasi AVR (Alf and Vegard‟s Risc processor) terhadap mikrokontroler dengan sistem berbasis window. Code Vision AVR ini dapat mengimplematasikan hampir semua interuksi bahasa C yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa keunggulan tambahan untuk memenuhi keunggulan spesifikasi dari Code Vision AVR yaitu hasil kompilasi studio debugger dari ATMEL.
Integrated Development Environtment (IDE) telah diadaptasikan pada chip AVR yaitu In-System Programmer software, memungkinkan programmer untuk mentransfer program ke chip mikrokontroler secara otomatis setelah proses
(49)
assembly/kompilasi berhasil. In-System Programmer software didesign untuk bekerja dan dapat berjalan dengan perangkat lunak lain seperti AVR Dragon, AVRISP, Atmel STK500, dan lain sebagainya.
Disamping library standar C, Code Vision AVR C compiler memiliki librari lain untuk:
Modul LCD Alpanumerik Delays
Protokol semikonduktor Maxim/Dallas Dan lainnya
Code Vision AVR juga memiliki Code Wizard AVR sebagaki generator program otomatis, yang memungkinkan kita untuk menulis, segala bentuk pengaturan Chip dalam waktu singkat, dan semua kode yang dibutuhkan untuk mengimplementasikan fungsi-fungsi seperti:
1. Pengaturan akses External Memory
Untuk chip-chip AVR yang memungkinkan koneksi memori eksternal SRAM, dapat juga mengatur ukuran memori dan wait state (tahap tunggu) dari memori ketika memori tersebut diakses.
2. Identifikasi chip reset source
Adalah suatu layanan dimana kita dapat membuat kode secara otomatis yang dapat mengidentifikasi kondisi yang menyebabkan chip di reset.
3. Inisialisasi port input/output
Pengaturan port-port yang kan dijadikan gerbang masukan dan keluaran dapat secara otomatis digenerate codenya. Yang kita lakukan hanya memilih port-port yang akan digunakan sebagai input atau output.
4. Inisialisasi Interupsi external
Pengaturan interupsi eksternal yang nantinya akan digunakan untuk menginterupsi program utama
5. Inisialisasi timers/counters
Pengaturan timers yang berfungsi untuk mengatur frekwensi yang nantinya digunakan pada interupsi.
(50)
6. Inisialisasi timer watchdog
Pengaturan timers yang berfungsi untuk mengatur frekwensi yang nantinya digunakan pada interupsi, sehingga interupsi akan dilayani oleh suatu fungsi wdt_timeout_isr.
7. Inisialisasi UART(USART) dan komunuikasi serial
Pengaturan komunikasi serial sebagai penerima atau pengirim data. 8. Inisialisasi komparasi analog
Pengaturan yang berkaitan dengan masukan data yang digunakan dalam aplikasi yang membutuhkan komparasi pada ADC nya.
9. Inisialisasi ADC
Pengaturan ADC(Analog-Digital Converter) yang berfungsi untuk merubah format analog menjadi format digital untuk diolah lebih lanjut.
10.Inisialisasi antarmuka SPI
Pengaturan chip yang berkaitan dengan Clock rate, Clock Phase, dan lainnya. 11.Inisialisasi antarmuka Two Wire BUS
Pengaturan Chip yang berhubungan dengan pola jalur komunikasi antara register yang terdapat pada chip AVR.
12.Inisialisasi antarmuka CAN
Pengaturan chip yang lebih kompleks, yang dapat mengatur interupsi, transmisi data, timers, dan lainnya.
13.Inisialisasi sensor temperatur, thermometer, dan lainnya
Pengaturan yang berhubungan dengan sensor temperatur one wire bus, memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR.
14.Inisialisasi one wire bus
Pengaturan yang berhubungan dengan sensor temperatur yang memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR. Seperti Maxim/Dallas Semiconductor.
15.Inisialisasi modul LCD
Pengaturan port-port yang kan digunakan sebagai penghubung dengan LCD alpha numerik.
(51)
Contoh cara kerja sebelum melakukan pemograman di AVR, dimana contoh disini adalah contoh pengaturan program agar mikrokontroler dapat berkomunikasi dengan komputer:
a. Memilih project baru dan melakukan penyetingan komponen yang digunakan pada board.
b. Pengaturan IC/Chip, pada chip yang kita harus dilakukan adalah IC apa yang kita gunakan, dalam hal ini ATMEGA8535l dengan Clock 16 MHz. Clock ini harus di atur dengan ukuran 16 MHz, karena pada komponen oksilator yang digunakan sebesar 16 MHz. c. Pengaturan ADC, pada ADC ini ada beberapa pilihan yang harus
dipilih. diantaranya ADC Enable di check list(v), Use 8 bit di check list(v), high speed di check list (v) dan Volt Ref dipilih „AVCC PIN‟. AVCC PIN berguna sebagai referensi tegangan pada ADC untuk nilainya sebesar 5 volt.
d. Pengaturan USART, usart ini yang nantinya menghubungkan rangkaian mikrokontroler dengan PC (komputer). Langkah-langkah yang dilakukan dengan adanya pilihan Receiver di check list(v) dan Transmitter di check list(v). Pengaturan receiver berfungsi apakah serial itu sebagai penerima data, sedangkan transmitter berfungsi serial bisa digunakan sebagai pengiriman data.
Untuk lebih jelas tampilan pengaturan yang disediakan oleh AVR dapat dilihat pada gambar dibawah ini :
(52)
Selain bentuk konfigurasi hadware yang nantinya secara otomatis akan membentuk sebuah instruksi layaknya perintah program ke IC/Chip, adapula perintah program yang kita ketik sendiri. Selain itu, Code Vision AVR juga menyediakan sebuah tool yang dinamakan dengan Code Generator atau Code Wizard AVR. Secara praktis, tool ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada microcontroller AVR yang sedang diprogram. Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela Code Wizard AVR selesai dilakukan. Secara teknis, penggunaan tool ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman Visual untuk komputer (seperti Visual C, Borland Delphi, dan sebagainya). Disamping versi yang komersil, Perusahaan Pavel Haiduc juga mengeluarkan CodeVisionAVR versi Demo yang dapat didownload dari internet secara gratis. Dalam versi ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain itu tidak semua fungsi library yang tersedia dapat dipanggil secara bebas. Seperti halnya belajar pemrograman komputer, agar mendapatkan pemahaman yang kuat dalam pemrograman microcontroller AVR, anda sebaiknya mencoba langsung membuat aplikasi program pada microcontroller tersebut. Untuk tujuan latihan, perangkat lunak Code vision AVR versi demo pada dasarnya adalah sarana yang cocok dan telah cukup memenuhi kebutuhan minimal anda. Gambar 2.15 berikut memperlihatkan diagram blok yang mengilustrasikan alur pemrograman microcontroller AVR dengan Code vision AVR yang dapat anda lakukan :
(53)
Seperti terlihat pada gambar 2.10, Code vision AVR pada dasarnya telah mengintegrasikan komponen-komponen penting dalam pemrograman microcontroller AVR: Editor,Compiler C, assembler dan ISP (In System Programmer). Khusus dengan ISP, ada beberapa jenis perangkat keras programmer dongle (berikut papan pengembangnya) yang telah didukung oleh perangkat lunak Code vision AVR ini, salah satu diantaranya adalah Kanda System STK 200/300 produk Perusahaan Kanda yang terhubung pada saluran antarmuka port Paralel Komputer.
2.10 Mikrokontroler AVR Dan Bahasa C
Tidak dapat disangkal, dewasa ini penggunaan bahasa pemrograman aras tinggi (seperti C, Basic, Pascal dan sebagainya) semakin populer dan banyak digunakan untuk memprogram sistem microcontroller. Berdasarkan sifatnya yang sangat fleksibel dalam hal keleluasaan pemrogram untuk mengakses perangkat keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya.
Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson pada tahun 1972, Bahasa C merupakan salah satu bahasa pemrograman yang paling populer untuk pengembangan program-program aplikasi yang berjalan pada sistem microprocessor (komputer). Karena kepopulerannya, vendor-vendor perangkat lunak kemudian mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) sebagai standar bakunya. Perbedaan antara compiler-compiler tersebut umumnya hanya terletak pada pengembangan fungsi-fungsi library serta fasilitas IDE (Integrated Development Environment)–nya saja. Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal yang membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam program C kita dapat saja secara bebas menjumlahkan karakter huruf (misal „A‟) dengan
(54)
sebuah bilangan bulat (misal „2‟), dimana hal yang sama tidak mungkin dapat dilakukan dengan menggunakan bahasa aras tinggi lainnya. Karena sifatnya ini, seringkali bahasa C dikatagorikan sebagai bahasa aras menengah (mid level language).
Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien dalam mendekode serta mengeksekusi instruksi-instruksi yang umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut, yaituI ARC). Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk memprogram sistem microcontroller AVR. Dengan beberapa kelebihan yang dimilikinya, saat ini Code Vision AVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative banyak digunakan dibandingkan compiler-compiler C lainnya. Bahasa C telah dikritisi secara meluas, dan banyak orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yang telah hadir, C tetap tak tersentuh. Code Vision AVR adalah salah satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler. Salah satu ungkapan menyatakan bahwa “jika kamu membuat perangkat lunak yang akan tetap layak suatu hari nanti, jangan belajar bahasa yang popular saat ini, pelajarilah C”. C tidak membatasi pandangan orang mengenai sebuah bahasa pemrograman. C tidak object oriented, tetapi kita dapat menerapkan konsep objek oriented padanya. Bukan juga bahasa fungsional, tetapi kita dapat dapat menerapkan pemrograman fungsional menggunakannya. Kebanyakan interpreter
(55)
LISP dan skema interpreters-interpreters/kompiler-kompiler ditulis dengan menggunakan C. kita dapat memproses list menggunakan C, meski tak semudah menggunakan LISP. C juga memiliki fitur-fitur tambahan seperti rekursi, prosedur sebagai tipe data kelas pertama, dan banyak lagi. Banyak orang yang merasakan C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C adalah bahasa yang sederhana. Tapi karena kesederhanaan ini dianggap kurang memadai sehingga membuat C diadaptasi sebagai perkenalan pertama ke tahap bahasa tingkat tinggi yang kompleks yang memungkinkan kita mengontrol dengan baik apa yang kita program tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun sampai kita memerintahkan untuk melakukan sesuatu. Bahasa yang ada adalah transparan, bahkan jika beberapa fitur dari JAVA seperti garbage collection diikutsertakan pada implementasi C yang akan digunakan. Sebagai bahasa pemrograman, C tetap ada. Ini adalah inti dari development dilingkungan system operasi UNIX. Dan juga inti dari revolusi mikrokomputer, diantara C++, Delphi, JAVA dan lainnya, C masih tetap bertahan,dengan karakteristiknya sendiri.
(56)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan ilmu pengetahuan dan teknologi pada dewasa ini mendorong manusia untuk terus melakukan inovasi-inovasi baru diberbagai bidang. Pada dasarnya semakin berkembangnya ilmu pengetahuan dan teknologi maka semakin berkembang juga pola dan gaya hidup manusianya.
Perkembangan teknologi salah satunya berpengaruh pada bidang keamanan, hal ini terlihatdari kenyataan yang ada bahwa manusia membutuhkan kemanan dan kenyamanan dari lingkungan sekitarnya seperti keamanan tempat penyimpanan barang. Saat ini kita telah dapat menikmati begitu banyak alat pengontrol keamanan yang penggunaannya ditujukan untuk memantau keamanan lingkungan sekitarnya secara full time. Dengan pengembangan aplikasi
micorocontroller dan softwere yang ada maka penulis mencoba membuat suatu
alat yang mampu pengaman penyimpanan barang pada multi locker menggunakan penyandian oleh android phone secara full time dari pencurian.
Penyandian melalui android untuk membuka dan menutup pintu locker dan juga buzzer sebagai sumber suara jika terjadi kesalahan dalam penyandian.
Atas dasar pemikiran tersebut maka penulis mencoba membuat sebuah alat yang mampu menyatukan fungsi kerja keduanya dengan demikaian diharapkan alat yang mampu menyatukan fungsi kerja keduanya dengan demikian diharapkan alat yang akan dirancang oleh penulis dapat lebih menyempurnakan system pengamanan locker yang telah ada sebelumnya, maka dibuatlah tugas akhir dengan judul ”PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN ANDROID PHONE”
(57)
1.2 Rumusan Masalah
Permasalahan yang akan diselesaikan dari latar belakang diatas, maka penulis merumuskan masalah perancangan multi locker. Diantaranya:
1. Bagaimana merancang system multi locker pintu dengan motor stepper. 2. Bagaimana merancang rangkaian pengendali sistem dan program agar
dapat bekerja dengan baik.
3. Bagaimana merancang rangkaian pengendali sistem dan program agar dapat bekerja dengan baik.
1.3 Batasan Masalah
Untuk membatasi masalah-masalah yang ada maka pada Tugas Akhir ini penulis membatasi ruang lingkup masalah sebagai berikut:
1. Rancangan menggunakan motor stepper sebagai penggerak mekanis multi locker.
2. Rancangan menggunakan mikrokontroller ATmega 8 sebagai pengendali utama dan pemrograman C pada code vision AVR versi 2.0.4.9.
3. Rancangan menggunakan media Bluetooth sebagai komunikasi antara ponsel dengan rangkaian.
1.4 Tujuan Penelitian
Tujuan dilakukan tugas akhir ini adalah sebagai berikut:
1. Merancang system mekanis multi locker menggunakan motor stepper. 2. Merancang rangkaian Kontroler dan program untuk mengendalikan multi
locker via android.
3. Merancang algoritma penyandian atau password agar system multi locker dapat diakses.
(58)
1.5 Manfaat Penelitian
Adapun manfaat yang diperoleh dari penelitian ini adalah:
1. Dengan menggunakan ponsel untuk mengakses sebuah locker pintu akan menambah tingkat keamanan dari pintu tersebut.
2. Penggunaan lebih praktis dari system akses ponsel karena tidak perlu membawa kunci konvensional.
3. Dapat dibuat multi locker yang dapat diakses hanya dengan satu ponsel.
1.6Metode Penelitian
Penelitian diawali dengan studi literature yakni mencari materi dalam buku dan e-book tentang pengetahuan locker instrumentasi. Metode yang dilaksanakan pada penelitian ini adalah metode eksperimen.
1.7Sistematika Penulisan
Untuk mengetahui uraian singkat yang memuat gambaran singkat secara keseluruhan isi masing-masing bab, maka dibuat sistematika penulisan sebagai berikut:
BAB I : PENDAHULUAN
Bab ini berisikan gambaran umum tentang penulisan skripsi ini seperti hal-hal yang melatar belakangi penulisan skripsi ini, rumusan maslah, batasan masalah, tujuan penelitian, dan sitematika penulisan.
BAB II : DASAR TEORI
Bab ini berisikan tentang definisi-definisi dan teori-teori yang berkaitan dengan skripsi ini yang di ambil dari beberapa sumber, baik dari buku referensi, jurnal-jurnal dan dari internet.
(59)
BAB III : METODOLOGI PENELITIAN
Bab bagian ini akan dibahas rincian metode penelitian karakteritasi ATmega 8 sebagai pengendali multi locker, diagram blog, dan flow chart.
BAB IV : HASIL DAN PEMBAHASAN
Bab ini akan dibahas tentang hasil analisa karakteritasi dari ATmega 8 sebagai pengendali multi locker serta rangkaian dan system kerja alat.
BAB V : KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi kesimpulan dari pembahasan dan tujuan penelitian beserta sebagai acuan untuk dikembangkan pada penelitian yang akan datang. DAFTAR PUSTAKA
(60)
PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN
ANDROID PHONE
ABSTRAK
Telah dirancang suatu alat multi locker dengan penyandian berbasis mikrokontroler ATmega 8 menggunakan android phone. Alat ini terdiri dari mekanis pintu locker, motor stepper, android phone, buzzer, dan Bluetooth HC-05 yang berfungsi untuk mengirim password antara android ponsel dengan adapter Bluetooth yang akan digunakan sebgai system kendali dari jarak dekat maupun jauh. Softwere pada alat ini menggunakan bahasa pemrograman Bascom AVR. Alat ini digunakan untuk mempermudah penyimpanan dan meningkatkan system keamanan penyimpan barang. Prinsip kerja rangkaian secara umum adalah system minimum dihubungkan ke sumber tegangan PLN dengan menggunakan adaptor, Setelah system diaktifkan maka berdasarkan program yang diunduh pada IC mikrokontroller. Program akan menerima perintah dari user melalui ponsel android dengan jaringan Bluetooth HC-05. Ponsel akan mengirim kode password dari pengguna melalui android dengan Bluetooth modul HC-05 sebagai perantara dengan mikrokontroler. Jika password benar mikrokontroler akan menggerakkan motor untuk membuka atau mengunci locker.
Kata kunci: Locker, Mikrokontroler ATmega 8, Bluetooth HC-05, Android Phone, Motor Stepper.
(61)
LOCKER MULTI SYSTEM DESIGN WITH CODING USING MICROCONTROLLER ATmega 8 ANDROID PHONE
ABSTRACT
Has designed a multi tool locker with ATmega 8 microcontroller based encryption using android phone. This device consists of a mechanical door locker, stepper motors, android phone, buzzer, and Bluetooth HC-05 that serves to send a password between android phone with a Bluetooth adapter that will be used sebgai control system from near and far. Softwere on this instrument using Bascom AVR programming language. This tool is used to facilitate storage and improve system security storage of goods. The working principle of the circuit in general is the minimum system connected to a voltage source PLN by the adapter, after the system is activated then the downloaded program based on IC microcontroller. The program will accept commands from the user via android phone with Bluetooth network HC-05. The phone sends a password code from the user via android with HC-05 Bluetooth module as an intermediary by the microcontroller. If the password is correct microcontroller will drive the motor to open or lock locker.
Keywords: Locker, Microcontroller ATmega 8, HC-05 Bluetooth, Android Phone, Stepper Motor.
(62)
PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN
ANDROID PHONE
SKRIPSI
ROI SUGARA SIANIPAR 120801001
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2016
(63)
PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN
ANDROID PHONE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
ROI SUGARA SIANIPAR 120801001
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2016
(64)
PERSETUJUAN
Judul : Perancangan Sistem Multi Locker Dengan Penyandian Berbasis Mikrokontroler Atmega 8 Menggunakan Android Phone Kategori : Skripsi
Nama : Roi Sugara Sianipar Nomor Induk Mahsiswa : 120801001
Program Studi : Sarjana (S1) Fisika Departemen : FISIKA
Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara
Disetujui di Medan, Juni 2016
Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
(Drs. Takdir Tamba, M.Eng, Sc) (Dr. Bisman Perangin-angin M.Eng, Sc) NIP. 196006031986011002 NIP. 195609181985031002
Disetujui Oleh
Departemen Fisika FMIPA USU Ketua,
(Dr. Marhaposan Situmorang) NIP. 195510301980031003
(65)
PERNYATAAN
PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN
ANDROID PHONE
SKRIPSI
Saya mengakui bahwa ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2016
ROI SUGARA SIANIPAR 120801001
(66)
PENGHARGAAN
Segala Puji syukur penulis ucapkan kepada Allah Bapa atas segala berkat, kasih karunia dan penyertaan-Nya selama penulis melaksanakan studi hingga menyelesaikan skripsi ini sesuai dengan waktu yang telah ditetapkan. Selama kuliah sampai penyelesaian tugas akhir ini, penulis mendapatkan banyak bantuan dalam moril, materi, dorongan, serta bimbingan dari berbagai pihak oleh karena itu dengan sepenuh hati, penulis mengucapkan terimakasih yang sebesar-besarnya:
1. Kepada Bapak Dr. Bisman Perangin-angin, M.Eng. Sc dan Bapak Drs. Takdir Tamba, M.Eng. Sc selaku Dosen Pembimbing yang telah meluangkan waktu untuk membimbing, mengarahkan dan memberikan kepercayaan kepada penulis dalam melaksanakan penelitian hingga penyelesaian penulisan skripsi ini.
2. Kepada Bapak Dr. Marhaposan Situmorang selaku Ketua Departemen Fisika, dan Drs. Syahrul Humaidi, M,Sc selaku Sekretaris Departemen Fisika FMIPA USU, Bang Johaidin, Kak Tini dan Kak Yuspa selakui staff Departemen Fisika, seluruh dosen, staff dan pegawai Departemen Fisika FMIPA USU yang telah membantu dan membimbing dalam menyelesaikan skripsi ini. Dan juga kepada semua staff, pegawai dan dosen-dosen Universitas Sumatera Utara mulai dari staff tertinggi hingga terendah dimana penulis menimba ilmu selama ini.
3. Kepada kedua orang tua penulis, kepada Ayahanda tersayang H. Sianipar, ini semua penulis persembahkan kepada Bapak penulis. Dan Ibunda Sinta Sitompul yang telah mendidik dan membesarkan penulis. Yang menjadi penyemangat dan inspirasi bagi penulis. Yang telah berjuang bersusah payah, hingga penulis bisa melanjutkan studi dan menyelesaikan penulisan skripsi ini serta memberikan dorongan, material, perhatian dan doa yang tak henti-hentinya kepada penulis.
(67)
4. Kepada abang dan kakak Penulis tercinta Renol Sianipar, Kristina Sianipar, Alm. Natalina Sianipar, Natalia Sianipar, Rika Sianipar dan keluarga yang telah memberikan dukungan, doa dan memberikan semangat kepada penulis. 5. Kepada teman-teman Seperjuangan PHYSIC ON FIRE (Fisika 2012) :
Andrianus Sembiring, Sulistra Simamora, Jekson Siahaan, Mutia Lubis, Ivan Anggia Sitohang, Frisanto S, Cyndi Rointan P, Melpa Simamora, Zefanya Pardosi, Santa Simanjuntak, Fransisco Purba, Marta Nainggolan, Komting, Eni Sinaga, Wils O B, Rina Bukit, Franky S, Betaria Siahaan, Eko G T, Benget lasido H, Carmelita O S, Kristiarawati, Sabran Abbas, Tania Kristianti, M. Ali, Mia aulia, M Ari, Cut Hani, Adin, Elisabeth S, Abdul Halim, Riris J T, Mifta Habibi, Dewi Lubis, Amar Hara, Diego V C, M Fauzy, Hafsa K S, Ilhamsyah L, Roby Yetsun J, Dodi Eriza, Fitri Laban, Rudi, Yani P S, Josafat S, Ivo Sembiring, Erza Setiadana, Mareanus M, Karyaman Z, Eltrisman, Tobi Exaudi, Lagito, Yoel Sitanggang, Zippo Sijabat, Eduardo Silalahi, Novia Ginting, Firman Lamsyah, M Taufik, Rahmad S N, Kartika, Lyana, Sri hani, Leonardo.
6. Kepada teman-teman Asisten Laboratorium Elektronika Dasar : Zefanya Pardosi, Benget Lasido Hutagaol, Frisanto Simbolon, Eni Indriani Sinaga atas dukungan dan kerjasamanya selama ini.
7. Kepada yang terkasih Noni Afriyanti Naibaho atas dukungan dan doa serta penyemangat dalam penulisan skripsi ini.
8. Kepada sahabat penulis sekaligus teman satu kost Penulis Andrianus Sembiring.
9. Kepada Adik-adik Penulis Fisika Stambuk 2013 (Physics Glory), Stambuk 2014 (Physics Immortal), Stambuk 2015 (Physics Unity) atas semua dukungan dan doa dalam penulisan skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, untuk itu penulis mengharapkan saran dan kritik yang membangun demi penyempurnaan isi dan analisa yang disajikan. Akhir kata, semoga tulisan ini bermanfaat bagi yang membutuhkannya.
(68)
PERANCANGAN SISTEM MULTI LOCKER DENGAN PENYANDIAN BERBASIS MIKROKONTROLER ATmega 8 MENGGUNAKAN
ANDROID PHONE
ABSTRAK
Telah dirancang suatu alat multi locker dengan penyandian berbasis mikrokontroler ATmega 8 menggunakan android phone. Alat ini terdiri dari mekanis pintu locker, motor stepper, android phone, buzzer, dan Bluetooth HC-05 yang berfungsi untuk mengirim password antara android ponsel dengan adapter Bluetooth yang akan digunakan sebgai system kendali dari jarak dekat maupun jauh. Softwere pada alat ini menggunakan bahasa pemrograman Bascom AVR. Alat ini digunakan untuk mempermudah penyimpanan dan meningkatkan system keamanan penyimpan barang. Prinsip kerja rangkaian secara umum adalah system minimum dihubungkan ke sumber tegangan PLN dengan menggunakan adaptor, Setelah system diaktifkan maka berdasarkan program yang diunduh pada IC mikrokontroller. Program akan menerima perintah dari user melalui ponsel android dengan jaringan Bluetooth HC-05. Ponsel akan mengirim kode password dari pengguna melalui android dengan Bluetooth modul HC-05 sebagai perantara dengan mikrokontroler. Jika password benar mikrokontroler akan menggerakkan motor untuk membuka atau mengunci locker.
Kata kunci: Locker, Mikrokontroler ATmega 8, Bluetooth HC-05, Android Phone, Motor Stepper.
(69)
LOCKER MULTI SYSTEM DESIGN WITH CODING USING MICROCONTROLLER ATmega 8 ANDROID PHONE
ABSTRACT
Has designed a multi tool locker with ATmega 8 microcontroller based encryption using android phone. This device consists of a mechanical door locker, stepper motors, android phone, buzzer, and Bluetooth HC-05 that serves to send a password between android phone with a Bluetooth adapter that will be used sebgai control system from near and far. Softwere on this instrument using Bascom AVR programming language. This tool is used to facilitate storage and improve system security storage of goods. The working principle of the circuit in general is the minimum system connected to a voltage source PLN by the adapter, after the system is activated then the downloaded program based on IC microcontroller. The program will accept commands from the user via android phone with Bluetooth network HC-05. The phone sends a password code from the user via android with HC-05 Bluetooth module as an intermediary by the microcontroller. If the password is correct microcontroller will drive the motor to open or lock locker.
Keywords: Locker, Microcontroller ATmega 8, HC-05 Bluetooth, Android Phone, Stepper Motor.
(70)
DAFTAR ISI
Halaman
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak v
Abstrac vi
Daftar Isi
vii
Daftar Tabel ix
Daftar Gambar x
Daftar Lampiran xi
Bab 1. Pendahuluan
1.1. LatarBelakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penelitia 2
1.5. Manfaat Penelitian 3
1.6. Metode penelitian 3
1.7. Sistematika Penulisan 3
Bab 2. Tinjauan Pustaka
2.1 Pengertian Sistem 5
2.2 Locker 5
2.3 Android 5
2.3.1 Karakteristik Android 6
2.4 Buzzer 7
(71)
2.6 Bluetooth Module HC-05 9
2.7 Motor Stepper Unipolar 11
2.7.1 Prinsip Kerja Motor Stepper 15 2.7.2 Driver Motor Stepper Unipolar 15
2.8 Bahasa Pemrograman C 17
2.9 Code Vision AVR 17
2.10 Mikrokontroler AVR dan Bahasa C 23
Bab 3. Perancangan Sistem
3.1 Diagram Blok 26
3.2 Rangkaian Mikrokontroler ATMega 8 27 3.3 Rangkaian Media Komunikasi Bluetotth HC-05 28
3.4 Rangkaian Motor Stepper 29
3.5 Rangkaian Driver Motor Stepper 30
3.6 Rangkaian Catu Daya 31
3.7 Rangkaian Lengkap 32
3.8 Diagram Alir (Flowchart) 34
3.9 Program 35
Bab 4 Pengujian Alat dan Program
4.1 Pengujian Rangkaian Mikrokontroler ATMega 8 39
4.2 Pengujian Motor Stepper 40
4.3 Pengujian Bluetooth Adapter HC-05 41 4.4 Pengujian Alat Secara Keseluruhan 42
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 44
5.2 Saran 44
Daftar Pustaka 45
Lampiran 46
(72)
DAFTAR TABEL
Nomor Judul Halaman
Tabel
Table 2.1 Pola 1-Phase Putaran Motor Stepper Unipolar 13 Tabel 2.2 Pemberian Tegangan Untuk Operasi Full-Step 13
(73)
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
Gambar 2.1 Logo Android 5
Gambar 2.2 Simbol dan Fisik Buzzer 7
Gambar 2.3 Bentuk Fisik ATmega 8 8
Gambar 2.4 Bentuk Fisik Bluetooth HC-05 9
Gambar 2.5 Bentuk Fisik Motor Stepper Unipolar 11
Gambar 2.6 Susunan Koil Motor Stepper Unipolar 13
Gambar 2.7 Prinsip Kerja Motor Stepper Unipolar 15
Gambar 2.8 Skema Rangkaian Driver Motor Stepper 16
Gambar 2.9 Form Pegaturan Code Vision AVR 21
Gambar 2.10 Alur pemrograman microcontroller AVR 22 Gambar 3.1 Diagram Blok 26
Gambar 3.2 Rangkaian Sistem Minimum ATMega 8 27 Gambar 3.3 Rangkaian Adapter Bluetooth HC-05 28 Gambar 3.4 Komunikasi Adapter Bluetotth HC-05 28 Gambar 3.5 Rangkaian Prinsip Kerja Motor Stepper 29
Gambar 3.6 Rangkaian Driver Motor Stepper 30 Gambar 3.7 Rangkaian Driver Motor Stepper pada Alat 30
Gambar 3.8 Rangkaian Catu Daya 31 Gambar 3.9 Rangkaian Lengkap 33
(1)
vi
LOCKER MULTI SYSTEM DESIGN WITH CODING USING MICROCONTROLLER ATmega 8 ANDROID PHONE
ABSTRACT
Has designed a multi tool locker with ATmega 8 microcontroller based encryption using android phone. This device consists of a mechanical door locker, stepper motors, android phone, buzzer, and Bluetooth HC-05 that serves to send a password between android phone with a Bluetooth adapter that will be used sebgai control system from near and far. Softwere on this instrument using Bascom AVR programming language. This tool is used to facilitate storage and improve system security storage of goods. The working principle of the circuit in general is the minimum system connected to a voltage source PLN by the adapter, after the system is activated then the downloaded program based on IC microcontroller. The program will accept commands from the user via android phone with Bluetooth network HC-05. The phone sends a password code from the user via android with HC-05 Bluetooth module as an intermediary by the microcontroller. If the password is correct microcontroller will drive the motor to open or lock locker.
Keywords: Locker, Microcontroller ATmega 8, HC-05 Bluetooth, Android Phone, Stepper Motor.
(2)
vii
DAFTAR ISI
Halaman
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak v
Abstrac vi
Daftar Isi
vii
Daftar Tabel ix
Daftar Gambar x
Daftar Lampiran xi
Bab 1. Pendahuluan
1.1. LatarBelakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penelitia 2
1.5. Manfaat Penelitian 3
1.6. Metode penelitian 3
1.7. Sistematika Penulisan 3
Bab 2. Tinjauan Pustaka
2.1 Pengertian Sistem 5
2.2 Locker 5
2.3 Android 5
2.3.1 Karakteristik Android 6
(3)
viii
2.6 Bluetooth Module HC-05 9 2.7 Motor Stepper Unipolar 11 2.7.1 Prinsip Kerja Motor Stepper 15 2.7.2 Driver Motor Stepper Unipolar 15 2.8 Bahasa Pemrograman C 17
2.9 Code Vision AVR 17
2.10 Mikrokontroler AVR dan Bahasa C 23
Bab 3. Perancangan Sistem
3.1 Diagram Blok 26
3.2 Rangkaian Mikrokontroler ATMega 8 27 3.3 Rangkaian Media Komunikasi Bluetotth HC-05 28
3.4 Rangkaian Motor Stepper 29 3.5 Rangkaian Driver Motor Stepper 30 3.6 Rangkaian Catu Daya 31 3.7 Rangkaian Lengkap 32 3.8 Diagram Alir (Flowchart) 34
3.9 Program 35
Bab 4 Pengujian Alat dan Program
4.1 Pengujian Rangkaian Mikrokontroler ATMega 8 39 4.2 Pengujian Motor Stepper 40 4.3 Pengujian Bluetooth Adapter HC-05 41 4.4 Pengujian Alat Secara Keseluruhan 42
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 44
5.2 Saran 44
Daftar Pustaka 45
Lampiran 46
(4)
ix
DAFTAR TABEL
Nomor Judul Halaman
Tabel
Table 2.1 Pola 1-Phase Putaran Motor Stepper Unipolar 13 Tabel 2.2 Pemberian Tegangan Untuk Operasi Full-Step 13
(5)
x
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
Gambar 2.1 Logo Android 5
Gambar 2.2 Simbol dan Fisik Buzzer 7
Gambar 2.3 Bentuk Fisik ATmega 8 8
Gambar 2.4 Bentuk Fisik Bluetooth HC-05 9
Gambar 2.5 Bentuk Fisik Motor Stepper Unipolar 11
Gambar 2.6 Susunan Koil Motor Stepper Unipolar 13
Gambar 2.7 Prinsip Kerja Motor Stepper Unipolar 15
Gambar 2.8 Skema Rangkaian Driver Motor Stepper 16
Gambar 2.9 Form Pegaturan Code Vision AVR 21
Gambar 2.10 Alur pemrograman microcontroller AVR 22 Gambar 3.1 Diagram Blok 26
Gambar 3.2 Rangkaian Sistem Minimum ATMega 8 27 Gambar 3.3 Rangkaian Adapter Bluetooth HC-05 28 Gambar 3.4 Komunikasi Adapter Bluetotth HC-05 28 Gambar 3.5 Rangkaian Prinsip Kerja Motor Stepper 29
Gambar 3.6 Rangkaian Driver Motor Stepper 30 Gambar 3.7 Rangkaian Driver Motor Stepper pada Alat 30
Gambar 3.8 Rangkaian Catu Daya 31 Gambar 3.9 Rangkaian Lengkap 33 Gambar 3.10 Diagram Alir (Flowchart) 34
(6)
xi
DAFTAR LAMPIRAN
Nomor Lampiran Halaman
1. Listing Program Pada Alat 46 2. Rangkaian Utuh Alat 52 3. Gambar Alat 53