Kali ini kita akan coba belajar membuat sebuah alat microcontroller yaitu Remote Lampu dengan Kendali Android. Alat ini saya buat untuk memenuhi salah satu tugas Microprocessor dengan dosen Pak Agus Virgono (AGV) di Sistem Komputer Telkom University.
Alat yang dibutuhkan :
- Microcontroller ATMEGA 8535
- Sistem Minimum (Kumpulan Komponen untuk tempat Microcontoller)
- Bluetooth V2
- HP Android
- Downloader (alat untuk download dari komputer ke microcontroller)
- Program Code Vision AVR ( silahkan cari downloadannya )
- Battery 9V
- Regulatory 5V
Silahkan lihat dokumennya disini [dilarang menyalahgunakan]
[preview]
A. Peralatan dan Komponen
·
Sistem minimum
Sistem
Minimum Mikrokontroler adalah sebuah rangkaian paling sederhana dari sebuah
mikrokontroler agar IC mikrokontroler tersebut bisa beroperasi dan diprogram.
Dalam aplikasinya sistem minimum sering dihubungkan dengan rangkaian lain untuk
tujuan tertentu. Ada beberapa yang harus diperhatikan dalam membuat sistem
minimum mikrokontroler, yaitu:
1.
Power
Supply
Semua
komponen elektronika membutuhkan power supply atau sering juga disebut catu
daya. Mikrokontroler beroprasi pada
tegangan 5 volt. Biasanya pembuatan
catu
daya mikrokontroler menggunakan IC regulator 7805 agar tegangannya bisa stabil.
2. ISP
(In-System Programmable)
3.
Osilator (Pembangkit Frekuensi)
·
Relay
Relay adalah saklar listrik/elektrik yang membuka atau menutup
sirkuit/rangkaian lain dalam kondisi tertentu.
Relay off yaitu ketika switch tidak dinyalakan, relay tidak memiliki
energi (arus) sehingga arus tidak mengaliri kaki yang terhubung dengan
komponen.
Sedangkan relay on yaitu ketika
switch dinyalakan, kumparan memiliki energi dan arus yang lebih besar dari arus
masuk, sehingga menghasilkan kontuinitas arus untuk suplay.
Berikut merupakan skematik sistem
minimum dengan menggunakan ATMEGA 8535
·
Atmega 8535
ATMega8535 merupakan salah
satu mikrokontroler 8 bit buatan Atmel (Atmel merupakan sebuah perusahaan semikonduktor yang didirikan pada tahun 1984 di Amerika
Serikat.) untuk keluarga AVR (Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi.) yang diproduksi secara
masal pada tahun 2006. Karena merupakan keluarga AVR, maka ATMega8535 juga
menggunakan arsitektur RISC.
ATMEGA
8535 memiliki kemampuan :
2. Memiliki
memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM
(Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.
4. Memiliki PWM
(Pulse Width Modulation) internal sebanyak 4 saluran.
5. Portal
komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
6. Enam pilihan
mode sleep, untuk menghemat penggunaan daya listrik.
Nama-nama
pin pada mikrokontroler ini adalah
2)
GND untuk tegangan pencatu daya negatif.
3)
Port A(PA0 – PA7) merupakan pin I/O dua arah dan pin
masukkan ADC
4)
Port B(PB0 – PB7) merupakan pin I/O dua arah dan pin
fungsi khusus, yaitu timer/counter, komparator analog, dan SPI.
5)
Port C(PC0 – PC7) merupakan pin I/O dua arah dan pin
fungsi khusus, yaitu TWI, komparator analog, dan timer oscillator.
6)
Port D(PD0 – PD7) merupakan pin I/O dua arah dan pin
fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi
serial.
7)
RESET untuk melakukan reset program dalam
mikrokontroler.
8)
XTAL1 dan XTAL2 untuk input pembangkit sinyal clock.
9)
AVCC untuk pin masukan tegangan pencatu daya untuk
ADC.
·
Sistem Minimum
Sistem Minimum Mikrokontroler adalah sebuah rangkaian paling sederhana dari sebuah
mikrokontroler agar IC mikrokontroler tersebut bisa beroperasi dan diprogram.
·
Bluetooth HC-05
HC-05 Adalah sebuah modul Bluetooth SPP (Serial Port
Protocol) yang mudah digunakan untuk komunikasi serial wireless (nirkabel) yang
mengkonversi port serial ke Bluetooth. HC-05
memiliki 2 mode konfigurasi, yaitu AT mode dan Communication mode. AT mode
berfungsi untuk melakukan pengaturan konfigurasi dari HC-05. Sedangkan
Communication mode berfungsi untuk melakukan komunikasi bluetooth dengan
piranti lain.
Dalam penggunaannya,
HC-05 dapat beroperasi tanpa menggunakan driver khusus. Untuk berkomunikasi
antar Bluetooth, minimal harus memenuhi dua kondisi berikut :
1. Komunikasi harus
antara master dan slave.
2. Password harus benar (saat melakukan
pairing).
spesifikasi dari HC-05 adalah :
Hardware :
- Sensitivitas -80dBm (Typical)
- Daya transmit RF sampai dengan +4dBm.
- Operasi daya rendah 1,8V – 3,6V I/O.
- Kontrol PIO.
- Antarmuka UART dengan baudrate yang dapat diprogram.
- Dengan antena terintegrasi.
- Sensitivitas -80dBm (Typical)
- Daya transmit RF sampai dengan +4dBm.
- Operasi daya rendah 1,8V – 3,6V I/O.
- Kontrol PIO.
- Antarmuka UART dengan baudrate yang dapat diprogram.
- Dengan antena terintegrasi.
Software :
- Default baudrate 9600, Data bit : 8, Stop bit = 1, Parity : No Parity, Mendukung baudrate : 9600, 19200, 38400, 57600, 115200, 230400 dan 460800.
- Auto koneksi pada saat device dinyalakan (default).
- Auto reconnect pada menit ke 30 ketika hubungan putus karena range koneksi.
- Default baudrate 9600, Data bit : 8, Stop bit = 1, Parity : No Parity, Mendukung baudrate : 9600, 19200, 38400, 57600, 115200, 230400 dan 460800.
- Auto koneksi pada saat device dinyalakan (default).
- Auto reconnect pada menit ke 30 ketika hubungan putus karena range koneksi.
Nama-Nama pin pada
bluetooth yaitu :
-
State
-
RXD = Sebagai Input
-
TXD = Sebagai Output
-
GND = Sebagai Ground
-
VCC = Sebagai Input Tegangan
-
Wakeup = Untuk Setting Bluetooth
·
Kabel Jumper
Kabel kecil yang digunakan untuk
menghubungkan antara satu pin dengan pin lain.
·
Downloader
Alat untuk mendownload program yang
telah dibuat kedalam microcontroller
·
Laptop
Digunakan untuk membuat program dengan
menggunakan Aplikasi Code Vision AVR.
B. Pemrograman Aplikasi
Untuk
melakukan pemrograman dalam mikrokontroler AVR, Kami menggunakan aplikasi Code
Vision AVR. Code Vision AVR yaitu sebuah software berbahasa C yang digunakan
sebagai compiler untuk mikrokontroller.
Code
Vision AVR mempunyai automatic program generator bernama CodeWizardAVR, yang memungkinkan
penggunanya untuk menulis semua instruksi yang diperlukan untuk membuat
fungsi-fungsi berikut:
•
Set-up akses memori eksternal
•
Identifikasi sumber reset untuk chip
•
Inisialisasi port input/output
•
Inisialisasi interupsi eksternal
•
Inisialisasi Timer/Counter • Inisialisasi Watchdog-Timer
•
Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan
oleh interupsi
•
Inisialisasi Pembanding Analog
•
Inisialisasi ADC
•
Inisialisasi Antarmuka SPI
•
Inisialisasi Antarmuka Two-Wire
•
Inisialisasi Antarmuka CAN
•
Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan
Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307
•
Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
•
Inisialisasi modul LCD
C.
PENGGUNAAN SOFTWARE CodeVisionAVR
Langkah 1: Buka software CodeVisionAVR
Start>>All
Program>>CodeVisionAVR>> CodeVisionAVR C Compiler.
Gambar 1. Icon
shortcut software CodeVisionAVR
Gambar 2. Tampilan
awal software CodeVisionAVR
Langkah 2: Membuat “Project”
Pilih opsi toolbar File>>New
kemudian pada File Type pilih “Project”.
Gambar
3. Jendela “Creat New File”
Selanjutnya akan muncul jendela
konfirmasi, apakah kita akan menggunakan CodeWizardAVR ataukah tidak. Kita
pilih “Yes” karena kita akan menggunakannya dalam tutorial ini.
Gambar
4. Jendela “Confirm”
Berikutnya akan muncul jendela
pengaturan fitur-fitur/konfigurasi project dalam mikrokontroler AVR, seperti
Ports, Chip, USART, I2C, Analog Comparator, dan sebagainya. Perlu diketahui
bahwa konfigurasi fitur-fitur yang tersedia, tidaklah harus kesemuanya diatur
ulang, namun cukup lakukan pengaturan untuk fitur-fitur yang dibutuhkan saja. Pada
project ini, kami hanya menggunakan fitur Chip dan USART sebagai koneksi
bluetooth.
Jika telah selesai maka klik
File>>Generate, Save and Exit.
Gambar
12. Tampilan File>>Generate,
Save and Exit
Pada proses penyimpanan (save) file akan
diminta menyimpan tiga jenis file dengan ektensi yang berbeda. Beri nama file
source(*.c), file project (*.prj), dan file codewizard (*cwp) dengan nama yang
anda senangi. Penulis sarankan, beri nama ketiga file tersebut dengan nama yang
sama, hal ini untuk memudahkan dalam mencari file dalam folder tempat kita
menyimpan file tersebut apabila kita sudah banyak menyimpan file-file project
menggunakan software codeVisionAAVR.
Gambar
13. Jendela ‘save’ file source(*.c)
Gambar
14. Jendela ‘save’ file project
(*.prj)
Gambar
15. Jendela ‘save’ file codewizard
(*cwp)
Setelah selesai maka akan muncul jendela text-editor program seperti gambar berikut ini.
Gambar
16. Jendela text-editor program
lengkap dengan hasil pengaturan CodeWizardAVR
Langkah 3: Melengkapi kode/program.
Dengan mengkofigurasi project pada
langkah sebelumnya, maka kita tinggal melengkapi dengan kode-kode (syntax)
program yang akan kita perlukan.
Setelah kode syntak
selesai diprogram, langkah selanjutnya adalah mengkompile kodingan diatas.
mas, mau tanya... data yang diterima di mikrokontroler kok berbeda dengan yang dikirim dari android ya?? misal di android saya kirim "a" (tanpa tanda petik), terus saya terima di mikro pakai fungsi getchar(), gets(), scanf() dan lain sebagainya yang didapat malah angka 216 (saya tampilkan desimalnya di LCD).. itu kira2 masalahnya di mana ya?? trims...
ReplyDelete