Kemudian pada bar USART untuk mengatur komunikasi serial
184 Gambar 13. Proses setelah pengaturan selesai dan akan menyimpan
program 14. Beri nama yang sama pada 3 tahap penyimpanan, yaitu file dalam
format C compiler file .c, Project File.prj, CodeVisionWizardAVR files .cwp. misalkan “JOB1”.
Gambar 14. Proses penyimpanan program 15.
Tambahkan file “lib.c” dengan cara menyalin kedalam folder yang sama.
16. Tambahkan header pada bagian awal program seperti pada Gambar 15 berikut ini
185 Gambar 15. Header program
17. Deklarasikan fungsi-fungsi yang akan digunakan pada program seperti pada gambar berikut ini.
Gambar 16. Deklarasi fungsi pada awal program. 18. Deklarasikan variabel yang digunakan untuk menerima data tipe
stringkalimat yang nantinya perlu diubah menjadi variabel kode dan angka pada mikrokontroller, sehingga akan menggunakan fungsi
scanfvariabel_penyimpanan; untuk membaca dari aplikasi.
Sehingga perlu menambahkan beberapa variabel seperti berikut ini untuk memilih animasi, angka maupun teks.
19. Tambahakan juga data blank sebanyak 640 buah “0xFF” yang nantinya
akan digantikan nilai heksadesimal dari bentuk angka, huruf maupun
simbol seperti berikut ini.
186 20. Kemudian buatlah contoh program seperti dibawah ini.
while 1
{ animasi=angka=0;
strcpytext, ;
scanf d d s s s s
s ,angka,animasi,a,b,c,d,e;
if animasi==1 angka==1
` { strcattext,a;
strcattext, ;
strcattext,b; strcattext,
; strcattext,c;
strcattext, ;
strcattext,d; strcattext,
; strcattext,e;
ka_ki; delay_ms500;
hapus; }
else if
animasi==2 angka==1 {
strcattext,a; strcattext,
; strcattext,b;
strcattext, ;
strcattext,c; strcattext,
; strcattext,d;
strcattext, ;
strcattext,e; ki_ka;
delay_ms500; hapus;
}
}
21. Kemudian diluar dari program utama “void main” tambahkan fungsi-
fungsi seperti dibawah ini.
16 baris 40 baris
187
void clock_pertama
{ ds=0;
ds=1; shcp=1;
stcp=1; delay_us50;
shcp=0; stcp=0;
delay_us50; ds=0;
};
void pemisah
{ for
h=0;hstrlentext;h++ {
scan_huruftext[h]; for
y=0;y6;y++ {
blank[40+h6+y]=hex[y]; 40 adalah
mulainya kolom setelah blank, h6+y adalah pemisahan karakter heksa
} }
};
void ka_ki
{ pemisah;
for y=0;y=40+strlentext6;y++
{ for
z=0;z=10;z++ {
for x=0;x=40;x++
{ if
x==1 {
clock_pertama; }
data_out=blank[y+x]; shcp=1;
stcp=1; delay_us100;
shcp=0; stcp=0;
188
delay_us100; }
} }
}
void ki_ka
{ pemisah;
for y=40+strlentext6;y0;y--
{ for
z=0;z=10;z++ {
for x=0;x=40;x++
{ if
x==1 {
clock_pertama; }
data_out=blank[y+x]; shcp=1;
stcp=1; delay_us100;
shcp=0; stcp=0;
delay_us100; }
} }
};
void hapus
{ for
n=0;n640;n++ {
blank[n]=0xFF; }
};
22. Setelah membuat program, lalu compile program mikrokontroller
dengan menekan tombol “Build” pada CV-AVR, atau dengan menekan tombol “shift+F9” pada keyboard.
189 Gambar 17. Menu Build program
23. Hubungkan kabel power ke sumber tegangan AC, lalu nyalakan modul dengan cara menekan saklar, sambungkan kabel usb dari modul ke
LaptopPC. 24. Lalu buka software PROG ISP 1.72 untuk download program yang
sudah di-build
ke mikrokontroller. Klik tombol “Load Flash”, lalu masukkan program .hex dalam folder yang kalian buat tadi, kemudian
klik OK. Setelah itu klik tombol “Auto” untuk memulai proses download.
Gambar 18. Proses download program ke mikrokontroller 25. Setelah itu, buka aplikasi DotMatriksApp dan hubungkan dengan
mikrokontroller. Cara
penghubungan dan
pengoperasian DotMatriksApp terdapat pada manual operation DotMatriksApp yang
terlampir pada Jobsheet ini. 26. Amati kinerja mikrokontroller, jika terdapat masalah lakukan trouble
shooting. Trouble shooting yang sering terjadi:
a. Pastikan hanya ada satu perangkat Android yang terhubung dengan HC-05.
1
2
190 b. Jika Aplikasi tidak dapat terhubung dengan HC-05, kemungkinan
masih terhubung dengan perangkat lain. Tutup lalu buka kembali aplikasi. Lakukan juga restart pada HC-05 dengan cara
mematikan lalu menghidupkan lagi modul bluetooth melalui saklar, kemudian coba hubungkan lagi.
c. Jika Aplikasi
telah terhubung
dengan HC-05
namun mikrokontroller tidak bekerja berdasarkan input dari aplikasi, coba
perika lagi apakah program mikrokontroller sudah benar atau belum.