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
}
void Open_Lock3(void){ //rutin menjalankan motor step buka locker 1
void Close_Lock3(void){
// 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
// 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
(E=='1'){Open_Lock1();x = 0;goto XT;}}}}}x++;}//buka locker 1 jika password
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);}
}
LAMPIRAN 2
LAMPIRAN 3
GAMBAR ALAT
Gambar 3.1 Foto Alat dari Depan
Gambar 3.3 Foto Sistem Rangkaian Alat
Gambar 3.5 Foto Pintu Locker 1 saat Terbuka
Gambar 3.7 Foto Pintu Locker 3 saat Terbuka
Gambar 3.9 Foto Pintu Locker 2 saat Tertutup
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/,
BAB 3
PERANCANGAN SISTEM
3.1Diagram Blok
Adapun diagram blok dari sistem yang dirancang adalah seperti yang
diperlihatkan pada gambar 3.1 berikut ini :
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
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:
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
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
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:
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
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
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
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
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:
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)
{
PORTB.3 = 8 ;delay_ms(200);
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
4.4Pengujian Alat Secara Keseluruhan
Progam pengujian alat secara keseluruhan diperlihatkan berikut ini:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 :
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 :
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
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
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
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
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
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
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.
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
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.
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
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
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,
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
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
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,
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.
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
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