I. TUJUAN PRAKTIKUM
- Mampu memahamai teknik scanning untuk menghemat penggunaan pin I/O AVR.
- Mampu membuat program untuk menyalakan 7 segment dan mampu menampilkan suatu angka pada 7 segment menggunakan pin I/O AVR.
Pada praktikum kali ini membahas tentang Teknik Scanning, teknik scanning ini digunakan untuk menghemat penggunaan pin I/O mikrokontroler. Pada prinsipnya teknik scanning teknik bergantian. Misalnya kita menggunakan teknik scanning untuk menampilkan 8 angka 7 segment, maka pada satu saat hanya ada 7 segment yang menyala sedangkan yang lain padam. Nyala 7 segment dibuat bergantian sehingga jalur data dapat digunakan secara bersamaan oleh ke delapan 7 segment tersebut. Proses bergantian dilakukan cukup cepat sehingga mata manusia akan melihat seolah-olah ke delapan 7 segment menyala bersamaan.
Secara prorgam teknik scanning dapat dilakukan dengan cara polling maupun secara pewaktu (timer). Cara polling dialkukan dengan menjalankan suatu program scanning secara terus-menerus dimana program scanning biasanya diletakkan di program utama. Berbeda dengan cara polling cara pewaktu lebih efektif dan efisien sebab mikrokontroler dapat mengerjkan program lain tanpa menganggu proses scanning.
Sekarang, apa itu 7 segment? Seven Segment adalh LED yang disusun sedemikian rupa sehingga penyalaan LED tertentu pada 7 segment dapat menampilkan angka 0-9 maupun huruf (terbatas A-F). Kemudian tipe 7 segment ada dua macam yaitu: common anoda (anoda bersamaan) dan common katoda (katoda bersamaan). Berikut ini adalah contoh common katoda.
Gambar. Common Katoda |
III. PERCOBAAN
3.1 Alat dan Bahan
No
|
Alat
dan Bahan
|
Gambar
|
1
|
7
segment
|
|
2
|
Kabel
(Pin I/O)
|
|
3
|
AVR
Board
|
|
4
|
Kabel
Power Supply(9 V)
|
|
5
|
AVR
ISP(In System Programming)
|
|
- Siapkan alat dan bahan
- Periksa kondisi peralatan sebelum melakukan percobaan
- Buatlah rangkaian seperti rangkaian percobaan
- Letakkan dua buah 7 segment di AVR Board, kemudian posisikan tiap-tiap kabel pada 7 segment seperti gambar disamping dan dua buah kabel diposisikan di PORT A sebagai inputnya. Bagilah tempat untuk meletakkan kabel pada tiap-tiap lubang yaitu: untuk Inputnya, dari tiap-tiap 7 segment memposisikan salah satu kabel ke Pin A. Kemudian kabel untuk outputnya [a,b,c,d,e,f,g] posisinya dapat dilihat pada gambar diatas Pin 7 segment pada PORT B.
- Setelah rangkaian tersusun untuk memastikan rangkaiannya hidup atau tidak bukalah apliaksi CVAVR, dan jalankanlah instruksi seperti berikut ini:
- Nyalakan 7 segment dan tampilkan angka pada salah satu 7 segement.
- Kemudian menampilkan angka pada keuda 7 segment.
- Menghitung angka Heksimal, Desmila dan Biner dari angka 1 sampai 9 secara manual.
- Menggunakan Cara Counter untuk menyalakan 7 segment.
3.3 Rangkaian Percobaan
Gambar. Rangkaian Percobaan |
IV. HASIL dan PEMBAHASAN
4.1 Hasil Praktikum
1) Menyalakan 7 segment dan menampilkan angka pada salah satu 7 segment.
Source code untuk Instruksi I
Hasilnya seperti gambar dibawah ini:
2)Menampilkan angka pada kedua 7 segment
Source Code untuk Instruksi II
3)Menggunakan cara Counter
(1) Untuk menyalakan 7 segment menggunakan angka Heksimal dan Perintah Array
Source Code
Hasilnya seperti gambar beriktu ini:
(2) Menyalakan 7 Segment Secara Bergantian
Source Code
Hasilnya seperti gambar berikut ini:
4.2 Pembahasan
Menyalakan
7 segment dan menampilkan angka pada salah satu 7 segment .
Berdasarkan
Source code diatas, untuk menyalakan 7 segment kita harus mengatur Portnya terlebih
dahulu bertujuan untuk menentukan input dan output. Kemudian untuk menentukan 7
segment yang mana yang ingin hidup kita harus menginisialisasikan terlebih
dahulu seperti PORTA.0=0 dan PORTA.1=1 artinya 7 segment yang akan hidup pada
PORTA.1=1. Selanjutnya untuk menentukan angka pada 7 segment kita atur PORTB
sesuai dengan angka berapa yang ingin dihidupkan misalkan angka 1 berarti
a(0),b(1),c(1),d(0),e(0),f(0),g(0).
Menampilkan angka pada kedua 7 segment
Untuk menampilkan angka pada kedua 7 segment
kita tinggal mengganti PORT nya misalkan Pada 7 segment 1 PORTA.0=1, maka 7
segment ke 2 PORTA.0=0, ini maksudnya agar ke dua 7 segment menampilkan angka
secara bersamaan.
Menghitung
angka Heksimal, Desimal dan Biner dari angka 1 sampai 9 secara manual.
Angka
|
Heksimal
|
Desimal
|
0
|
0x3f
|
63
|
1
|
0x06
|
6
|
2
|
0x5b
|
91
|
3
|
0x4f
|
102
|
4
|
0x66
|
102
|
5
|
0x6d
|
109
|
6
|
0x7d
|
124
|
7
|
0x07
|
7
|
8
|
0x7f
|
127
|
9
|
0x64
|
111
|
Caranya, misalkan angka 0:
- Heksimal
yang hidup(1) adalah a,b,c,d,e,f sedangkan g mati(0) jadi hitungannya nilai a-d=1,2,4,8
e,f,g,dot=1,2,4,0 kita hitung terlebih dahulu yang e,f,g dan dot nilainya 2+1=3
kemudian untuk a,b,c dan d nilainya 1+2+4+8=15=f jadi heksimalnya 0x3f
- Desimal
menggunakan 2n jadi 1,2,4,8,16,32 dijumlahkan jadi hasilnya 63.
Menggunakan Cara Counter untuk Menyalakan 7 segment.
Pada
cara Counter ini menggunakan angka Heksimal untuk membuktikan apakah sama
dengan angka biner ternyata hasilnya sama begitu juga untuk desimal. Dan juga
menggunakan cara hold logika while untuk menampilkan angka.
V. KESIMPULAN
Berdasarkan
praktikum yang kami lakukan tujuan menggunakan Teknik scanning ini dapat
menghemat penggunaan Pin I/O, dapat
membuat bergantian sehingga jalur data dapat digunakan secara bersamaan oleh 7 segment
tersebut.
REFRENSI:
- Ridwan, M. 2015. Praktikum
2 Mikrokontroler.Bangkinang:Politeknik Kampar.
Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan. Terimakasih. ConversionConversion EmoticonEmoticon