Alat dan Bahan Langkah Kerja

213 Tabel 1. Deskripsi PIN IC 74595 Simbol PIN Deskripsi Q1 1 parallel data output 1 Q2 2 parallel data output 2 Q3 3 parallel data output 3 Q4 4 parallel data output 4 Q5 5 parallel data output 5 Q6 6 parallel data output 6 Q7 7 parallel data output 7 GND 8 ground 0 V Q7S 9 serial data output SHCP 10 shift register clock input STCP 11 storage register clock input MR 12 Master Reset Active Low OE 13 output enable input active LOW DS 14 serial data input Q0 15 parallel data output 0 V cc 16 supply voltage  PIN 14 DS adalah Pin DATA.  Pin 11 SCH_CP atau disebut juga CLOCK dalam data sheet lain, DATA akan dibaca dan disimpan kedalam shift register ketika CLOCK berubah dari level LOW ke level HIGH atau dari 0 ke 1.  Pin 12 ST_CP atau sering disebut dengan LATCHED, data akan di simpan di register ketika ST_CP kondisi LOW atau 0, dan data akan di kirim ke out Q0 – Q7 jika ST_CP kondisi HIGH atau 1. c. Komunikasi Serial dari Mikrokontroller Prinsip komunikasi serial pada Mikrokontroller adalah pengiriman data secara berurutan dengan menggunakan karakter-karakter didalam ASCII. Karakter ini yang nantinya akan dirubah menjadi signal digital oleh hardware transmitter Tx, dan akan dterjemahkan lagi menjadi data karakter oleh hardware receiver Rx. Komunikasi serial mikrokontroler sangatlah sederhana, dikarenakan sudah memiliki instruksi-instruksi 214 pemrograman yang standart. Berikut instruksi yang sering digunakan dalam komunikasi serial mikrokontroler.  printf“………..”; digunakan untuk mencetak atau mengeluarkan data string katakalimat ke jalur komunikasi serial mikrokontroler.  putchar‘…’; atau putcharno_char; digunakan untuk mencetak atau mengeluarkan data char karakter ke jalurkomunikasi serial mikrokontroler  puts.....; digunakan untuk mencetak atau mengeluarkan data char karakter berwujud array ke jalur komunikasi serial mikrokontoler.  scanfvaribel_penyimpan; digunakan untuk membacamenerima data stringchar dari jalur komunikasi serial mikrokontroler.  getchar; digunakan untuk membacamenerima data char karakter dari jalur komunikasi serial mikrokontroler.

F. Langkah Kerja

1. Rangkailah modul sistem minimum mikrokontroller PORTD ke modul bluetooth HC-05, lalu hubungkan PORT A dan PORT B sistem minimum ke bagian jalur data dan jalur kontrol dot matriks. Sedangkan, jalur data modul seven segment dihungkan ke PORT C, dan jalur kendali modul seven segment masing-masing ke PORT D.5 dan PORT D.6. Perhatikan Gambar 3 berikut ini 215 PORT A PORT B - 1 2 3 4 5 6 7 + MIKROKONTROLLER ATMEGA32 - 1 2 3 4 5 6 7 + - 1 2 3 4 5 6 7 + PORT D HC-05 VCC Tx Rx GND Rx Tx - 7 6 5 4 3 2 1 + PORT C JALUR KENDALI JALUR DATA MODUL DOT MATRIKS c a b d e f g a b d e f g c Common Anode c a b d e f g a b d e f g c PORT D.5 PORT D.6 Common Anode 1 2 Gambar 3. Rangkaian Modul Dot Matriks, Seven Segment dan Sistem Minimum. 2. Pada job 3 ini kita akan membuat program dot matriks dengan animasi gerakan atas-bawah. 3. Sebelum membuat program mikrokontroller, Gambar 4 berikut adalah algoritma dalam bentuk flowchart atau diagam alir yang akan dibuat. 216 START void clock_pertama; void pemisah; void pemisah1; void hapus; void kombinasi1; void kombinasi2; void tengah; void kapital; unsigned char text[200],a[30],b[30],c[30],d[30],e[30]; int n,angka,animasi; unsigned char x,h,y,z; Baca data: scanfd d s s s s s,angka,animasi,a,b,c,d,e ; END Animasi==5 angka == 1? strcpytext,a; kombinasi1; Y N Animasi==6 angka == 1? strcpytext,a; kombinasi2; Y N Gambar 4. Flowchart program 4. Pastikan PC atau notebook sudah terpasang driver downloader USBasp, CV AVR dan ProgISP seperti pada Gambar 5 berikut ini. 217 a b c Gambar 5. PC tersudah terpasang driver downloader a, sudah terpasang CV AVR b, dan sudah ada software ProgISP c 5. Buka software CV AVR anda dengan cara double klik pada shortcut yang ada di desktop laptop anda. 6. Setelah codevision AVR, pada main toolbar, klik pada bagian menu bar klik file kemudian klik New. Gambar 6. Pilihan menu bar File-New 7. Kemudian akan muncul tampilan Create New File, pada bagian File Type Source atau Project . Pilih Project lalu klik OK. 218 Gambar 7. Project baru CodeVision AVR 8. Maka akan muncul pertanyaan “Do you want to use the CodeWizard AVR”, klik Yes. Gambar 8. Pertanyaan untuk menggunakan CodeWizardAVR 9. Kemudian pilih tipe chip yang akan dipakai, ATmega 32 termasuk kategori pilihan yang atas. Gambar 9. Pemilihan Chip 10. Maka akan muncul tampilan CodeWizardAVR, sesuaikan atur chip dan frekuensi xtal yang digunakan, ATmega32 dengan xtal 12.000 MHz 219 Gambar 10. Pengaturan Chip

11. Kemudian pada bar USART untuk mengatur komunikasi serial

mikrokontroller. Gambar 11. Pengaturan USART 12. Kemudian atur PORT A, PORT B, PORT C, PORT D5, dan PORT D6 sebagai output. 220 Gambar 12. Pengaturan PORT 13. Lalu Klik tombol Generate program, save and exit seperti dibawah ini, maka akan muncul dialog box Save c Compiler Source File. 221 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 “JOB3”. Gambar 14. Proses penyimpanan program 15. Tambahka n file “lib.c” dengan cara menyalin kedalam folder yang sama. 16. Tambahkan header pada bagian awal program seperti pada Gambar berikut ini 222 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. 223 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==5 angka==1 { strcpytext,a; kombinasi1; delay_ms500; hapus; } else if animasi==6 angka==1 { strcpytext,a; kombinasi2; delay_ms500; hapus; } } 21. Kemudian diluar dari program utama “void main” tambahkan fungsi- fungsi seperti dibawah ini. void clock_pertama { ds=0; ds=1; shcp=1; stcp=1; delay_us50; shcp=0; stcp=0; delay_us50; ds=0; }; 16 baris 40 kolom 224 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 pemisah1 { kapital; for h=0;h5;h++ { scan1text[0]; for y=0;y5;y++ { blank[y+43]=hex1[y]; baris pertama huruf 0 blank[y+83]=hex1[y+5]; baris kedua blank[y+123]=hex1[y+10]; blank[y+163]=hex1[y+15]; blank[y+203]=hex1[y+20]; blank[y+243]=hex1[y+25]; blank[y+283]=hex1[y+30]; blank[y+323]=hex1[y+35]; blank[y+363]=hex1[y+40]; blank[y+403]=hex1[y+45]; blank[y+443]=hex1[y+50]; blank[y+483]=hex1[y+55]; blank[y+523]=hex1[y+60]; blank[y+563]=hex1[y+65]; } scan1text[1]; for y=0;y5;y++ { blank[y+49]=hex1[y]; baris pertama huruf 1 blank[y+89]=hex1[y+5]; baris kedua blank[y+129]=hex1[y+10]; blank[y+169]=hex1[y+15]; blank[y+209]=hex1[y+20]; blank[y+249]=hex1[y+25]; blank[y+289]=hex1[y+30]; 225 blank[y+329]=hex1[y+35]; blank[y+369]=hex1[y+40]; blank[y+409]=hex1[y+45]; blank[y+449]=hex1[y+50]; blank[y+489]=hex1[y+55]; blank[y+529]=hex1[y+60]; blank[y+569]=hex1[y+65]; } scan1text[2]; for y=0;y5;y++ { blank[y+55]=hex1[y]; baris pertama huruf 2 blank[y+95]=hex1[y+5]; baris kedua blank[y+135]=hex1[y+10]; blank[y+175]=hex1[y+15]; blank[y+215]=hex1[y+20]; blank[y+255]=hex1[y+25]; blank[y+295]=hex1[y+30]; blank[y+335]=hex1[y+35]; blank[y+375]=hex1[y+40]; blank[y+415]=hex1[y+45]; blank[y+455]=hex1[y+50]; blank[y+495]=hex1[y+55]; blank[y+535]=hex1[y+60]; blank[y+575]=hex1[y+65]; } scan1text[3]; for y=0;y5;y++ { blank[y+61]=hex1[y]; baris pertama huruf 3 blank[y+101]=hex1[y+5]; baris kedua blank[y+141]=hex1[y+10]; blank[y+181]=hex1[y+15]; blank[y+221]=hex1[y+20]; blank[y+261]=hex1[y+25]; blank[y+301]=hex1[y+30]; blank[y+341]=hex1[y+35]; blank[y+381]=hex1[y+40]; blank[y+421]=hex1[y+45]; blank[y+461]=hex1[y+50]; blank[y+501]=hex1[y+55]; blank[y+541]=hex1[y+60]; blank[y+581]=hex1[y+65]; } scan1text[4]; for y=0;y5;y++ 226 { blank[y+67]=hex1[y]; baris pertama huruf 4 blank[y+107]=hex1[y+5]; baris kedua blank[y+147]=hex1[y+10]; blank[y+187]=hex1[y+15]; blank[y+227]=hex1[y+20]; blank[y+267]=hex1[y+25]; blank[y+307]=hex1[y+30]; blank[y+347]=hex1[y+35]; blank[y+387]=hex1[y+40]; blank[y+427]=hex1[y+45]; blank[y+467]=hex1[y+50]; blank[y+507]=hex1[y+55]; blank[y+547]=hex1[y+60]; blank[y+587]=hex1[y+65]; } scan1text[5]; for y=0;y5;y++ { blank[y+73]=hex1[y]; baris pertama huruf 5 blank[y+113]=hex1[y+5]; baris kedua blank[y+153]=hex1[y+10]; blank[y+193]=hex1[y+15]; blank[y+233]=hex1[y+20]; blank[y+273]=hex1[y+25]; blank[y+313]=hex1[y+30]; blank[y+353]=hex1[y+35]; blank[y+393]=hex1[y+40]; blank[y+433]=hex1[y+45]; blank[y+473]=hex1[y+50]; blank[y+513]=hex1[y+55]; blank[y+553]=hex1[y+60]; blank[y+593]=hex1[y+65]; } } } void kapital { for h=0;hstrlentext;h++ { text[h]=touppertext[h]; } } void hapus { for n=0;n640;n++ 227 { blank[n]=0xFF; } }; void kombinasi1 { kapital; pemisah; for y=strlentext6+42;ystrlentext6+2; y-- kiri ke kanan lalu berhenti { 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; } } } for n=0;n120;n++ { blank[n]=0xFF; } pemisah1; tengah; tengah; for x=7;x16;x++ 17 adalah banyaknya baris data di data3 { for y=0;y75;y++ kecepatan geser { ds=0; clock ke ds=1; shcp=0; stcp=1; data_out=blank[x40+0]; delay_us50; 228 shcp=1; stcp=0; delay_us50; ds=0; for h=1;h=39;h++ { clock ke 1 shcp=0; stcp=1; data_out=blank[x40+h]; delay_us50; data_out=0xFF; shcp=1; stcp=0; delay_us50; } } } for x=0;x8;x++ 17 adalah banyaknya baris data di data3 { for y=0;y75;y++ kecepatan geser { ds=0; clock ke ds=1; shcp=0; stcp=1; data_out=blank[x40+0]; delay_us50; shcp=1; stcp=0; delay_us50; ds=0; for h=1;h=39;h++ { clock ke 1 shcp=0; stcp=1; data_out=blank[x40+h]; delay_us50; data_out=0xFF; shcp=1; stcp=0; delay_us50; 229 } } } tengah; tengah; for n=0;n120;n++ { blank[n]=0xFF; } pemisah; for y=strlentext6+2;ystrlentext6+42 ;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; } } } delay_ms1000; } void kombinasi2 { kapital; pemisah; for y=0;y=strlentext6+2;y++ kanan ke kiri lalu berhenti { for z=0;z=10;z++ { for x=0;x=40;x++ { if x==1 { clock_pertama; } data_out=blank[y+x]; 230 shcp=1; stcp=1; delay_us100; shcp=0; stcp=0; delay_us100; } } } for n=0;n120;n++ { blank[n]=0xFF; } pemisah1; tengah; tengah; for x=7;x0;x-- 17 adalah banyaknya baris data di data3 { for y=0;y75;y++ kecepatan geser { ds=0; clock ke ds=1; shcp=0; stcp=1; data_out=blank[x40+0]; delay_us50; shcp=1; stcp=0; delay_us50; ds=0; for h=1;h=39;h++ { clock ke 1 shcp=0; stcp=1; data_out=blank[x40+h]; delay_us50; data_out=0xFF; shcp=1; stcp=0; delay_us50; } } } 231 for x=15;x7;x-- 17 adalah banyaknya baris data di data3 { for y=0;y75;y++ kecepatan geser { ds=0; clock ke ds=1; shcp=0; stcp=1; data_out=blank[x40+0]; delay_us50; shcp=1; stcp=0; delay_us50; ds=0; for h=1;h=39;h++ { clock ke 1 shcp=0; stcp=1; data_out=blank[x40+h]; delay_us50; data_out=0xFF; shcp=1; stcp=0; delay_us50; } } } tengah; tengah; for n=0;n120;n++ { blank[n]=0xFF; } pemisah; for y=strlentext6+2;y0;y-- { for z=0;z=10;z++ { for x=0;x=40;x++ { if x==1 { clock_pertama; } data_out=blank[y+x]; 232 shcp=1; stcp=1; delay_us100; shcp=0; stcp=0; delay_us100; } } } delay_ms1000; } void tengah { x=7; for y=0;y255;y++ { ds=0; clock ke ds=1; shcp=0; stcp=1; data_out=blank[x40+0]; delay_us50; shcp=1; stcp=0; delay_us50; ds=0; for h=1;h=39;h++ { clock ke 1 shcp=0; stcp=1; data_out=blank[x40+h]; delay_us50; data_out=0xFF; shcp=1; stcp=0; delay_us50; } } } 233 22. Setelah membuat program, lalu compile program mikrokontroller dengan menekan tombol “Build” pada CV-AVR, atau dengan menekan tombol “shift+F9” pada keyboard. 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 1 2 234 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. 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.

G. PETUNJUK KHUSUS

Untuk menunjang kelancaran teknis dan pelaksanaan kegiatan belajar anda, perhatikan petunjuk berikut : a. Rangkailah tanpa tegangan terlebih dahulu. Jika rangkaian dirasa sudah benar baru pasangkan tegangan. b. Tanyakan kepada guru terlebih dahulu apabila rangkaian ingin dicoba supaya tidak terjadi sesuatu yang diinginkan. c. Jauhkan peralatan yang tidak diperlukan dari meja kerja. d. Perhatikan semua Langkah Kerja Jobsheet. e. Keterangan lebih lanjut, konsultasikan dengan guru pembimbing pada saat kegiatan belajar.

H. SOAL LATIHAN

a. Buatlah program baru yang animasinya lebih variatif berkebalikan dengan animasi yang ada didalam job ini, 6 huruf muncul dari sebelah kiri ke arah kanan, berhenti ditengah lalu turun ke bawah menggulung lalu muncul dari atas ke tengah, lalu bergerak menghilang dari tengah ke arah kiri. Buat program 6 huruf muncul dari sebelah kanan ke arah kiri, berhenti ditengah lalu naik ke atas menggulung lalu muncul dari bawah ke tengah, lalu bergerak menghilang ke tengah ke arah kanan. 235

I. LAMPIRAN

236 Jobsheet 4 A. Kompetensi Dasar Mengoperasikan rangkaian pengendalian dengan menggunakan mikrokontroller.

B. Sub Kompetensi

Mengendalikan 1 buah seven segment.

C. Tujuan

Setelah menyelesaikan praktik siswa diharapkan dapat : 1. mengetahui cara mengendalikan rangkaian pengendalian menggunakan mikrokontroller melalui aplikasi android, 2. membuat program mikrokontroller yang mengendalikan rangkaian pengendalian melalui aplikasi android, 3. mengetahui cara membuat program mikrokontroller yang mengendalikan rangkaian pengendalian melalui aplikasi android memanfaatkan fungsi, 4. mengembangkan pemrograman mikrokontroller pada rangkaian pengendalian.

D. Alat dan Bahan

1. Sistem minimum Mikrokontroller 1 unit 2. PCLaptop 1 unit 3. Smartphone Android 1 unit 4. Module Bluetooth HC-05 1 unit 5. Modul Seven Segment 1 unit 6. Modul Dot Matriks 1 unit 7. Kabel USB 1 buah 8. Kabel Jumper 10 Pin 4 buah

E. Dasar Teori a. Seven Segment

Seven Segment pada dasarnya terdiri dari tujuh buah led yang disusun menjadi satu agar membentuk seperti angka-angka. Seven Segment kemudian dikembangakan dengan menambahkan satu buah

Dokumen yang terkait

PENGEMBANGAN MEDIA SISTEM PENERANGAN SEPEDA MOTOR BERBASIS LED UNTUK PEMBELAJARAN KOMPETENSI MENDIAGNOSA RANGKAIAN

1 24 158

PENGEMBANGAN MEDIA PEMBELAJARAN BERBASIS SOFTWARE AURORA 3D PRESENTATION PADA MATA PELAJARAN GAMBAR TEKNIK KELAS X KOMPETENSI KEAHLIAN TEKNIK GAMBAR BANGUNAN SMKN 2 DEPOK SLEMAN.

1 7 215

Pengembangan Media Pembelajaran Kendali Terprogram Berbasis Android Pada Mata Pelajaran Merakit Sistem Kendali Mikrokontroller Di SMK Negeri 2 Depok.

0 3 188

PENGEMBANGAN VIRTUAL PROSES MODEL DISTRIBUTING STATION BERBASIS VISUAL BASIC PADA KOMPETENSI KOGNITIF MERAKIT SISTEM PLC DI SMKN 2 DEPOK SLEMAN.

0 0 159

SIMULATOR CONVEYOR BELT SEBAGAI MEDIA PEMBELAJARAN PADA MATA PELAJARAN KOMPETENSI KEJURUAN DI SMK NEGERI 2 DEPOK SLEMAN.

3 38 192

EFEKTIVITAS KOMPETENSI PERAKITAN SISTEM PLC DENGAN MEDIA SIMULATOR PENEKUK KAWAT DAN METODE PEMBELAJARAN GROUP INVESTIGATION DI SMKN 2 DEPOK, SLEMAN.

0 0 134

PENGEMBANGAN MEDIA APLIKASI PEMBELAJARAN TEKNIK ELEKTRONIKA DASAR KELAS X PROGRAM KEAHLIAN TEKNIK AUDIO VIDEO MENGGUNAKAN AUGMENTED REALITY BERBASIS ANDROID DI SMKN 2 DEPOK.

0 1 134

PENGEMBANGAN MEDIA PEMBELAJARAN BERBASIS KOMPUTER UNTUK MATA DIKLAT MENGOPERASIKAN MESIN CNC DASAR DI SMK NEGERI 2 DEPOK SLEMAN YOGYAKARTA.

0 5 214

UPAYA MENINGKATKAN PRESTASI BELAJAR MENGGUNAKAN MEDIA LENGAN ROBOT DI SMKN 2 DEPOK SLEMAN.

0 0 158

PENGEMBANGAN APLIKASI ANDROID SEBAGAI MEDIA PEMBELAJARAN KOMPETENSI PENGOPERASIAN SISTEM PENGENDALI ELEKTRONIK PADA SISWA KELAS XI SMKN 2 PENGASIH.

2 11 176