PERTEMUAN II PEMOGRAMAN INPUT

Please download to get full document.

View again

of 12
47 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
PERTEMUAN II PEMOGRAMAN INPUT TUJUAN: - Mahasiswa mampu memprogram mikrokontroller untuk menerima Informasi dari perangkat input yaitu switch, potensiometer, LDR, phototransistor, mic. PENGENALAN MIKROKONTROLER
Document Share
Document Transcript
PERTEMUAN II PEMOGRAMAN INPUT TUJUAN: - Mahasiswa mampu memprogram mikrokontroller untuk menerima Informasi dari perangkat input yaitu switch, potensiometer, LDR, phototransistor, mic. PENGENALAN MIKROKONTROLER Setiap switch/saklar mekanik baik yang dikendalikan secara manual maupun dengan listrik (contohnya relay) akan mengalami yang disebut dengan efek pantul atau bounching, yaitu efek yang tidak stabil dalam waktu beberapa saat, sesaat setelah perubahan keadaan terjadi, misalnya semula ON berupah ke OFF atau sebaliknya. Gambar 1. Bounching Gambar 1 bagian kiri memperlihatkan kejadian bounching sesaat dari kondisi OFF menuju ON, sedangkan yang kanan kejadian bounching dari keadaan On menuju OFF. Kejadian ini pada mikrokontrol yang mempunyai clock yang cukup tinggi akan dapat menimbulkan masalah. Salah satu solusi sederhananya agar mikrokontroler tidak salah dalam menerima data yang diharapkan oleh perancang, maka program diatur sedemikian rupa agar pada saat keadaan tidak stabil mikrokontroler tidak mengambil data saklar tesebut, dengan cara menunggu (delay) beberapa saat sampai keadaan stabil. PERALATAN: Modul-modul/perangkat keras yang digunakan dalam praktikum ini terdiri dari : 1. Satu buah Kit-MCU (ATMega16) 2. Satu buah Kit-Display a. 1 sub-modul Led (Merah-Kuning-Hijau-Biru) b. 1 sub-modul Mic c. 1 buah Buzzer d. 1 sub-modul Led & Switch e. 1 sub-modul LDR f. 1 sub-modul Potensio g. 1 sub-modul Phototransistor 3. Satu buah Kit Programmer AVR910-Serial 4. Satu buah kabel ISP 5. Satu set kabel jumper yang terdiri : a. 3 buah kabel data 10 pin b. 1 buah kabel jumper 2 pin c. 3 buah kabel jumper 1 pin TUGAS-2.1. CounterUp Untuk praktikum kali ini, lakukan mounting sebagai berikut : 1. Hubungkan MCU dengan Programmer 2. Hubungkan terminal Port B pada MCU dengan terminal P02 menggunakan kabel-10 (PERHATIKAN pin-0 pada masing-masing terminal). 3. Dalam tugas ini, praktikan ditugaskan untuk menyalin source code yang diberikan pada IDE BASCOM. 4. Diharapkan praktikan memahami cara untuk memeriksa salah satu PIN dari suatu port. Untuk memeriksa keadaan salah satu pin dari suatu Port harus menggunakan PinX.n, misalnya pada sintax IF.. atau While $regfile = m16def.dat $crystal = Config Portb.0 = Input Config Portb.4 = Output Config Portb.5 = Output Config Portb.6 = Output Config Portb.7 = Output Dim I As Byte ' jika I = 3 maka semua lampu mati I = 3 Portb.0 = 1 Do If Pinb.0 = 0 Then Delay While Pinb.0 = 0 Wend Waitms 1 I = I + 1 If I 7 Then Portb = 0 I = 3 Else Portb.i = 1 Loop End 5. Beri nama source code yang anda salin: Tugas2-1.bas 6. Compile source code, jika masih terdapat kesalahan perbaiki dan compile ulang. 7. Perlihatkan hasilnya ke asisten. Tugas tertulis (dibuat pada pada lembar jawaban yang disediakan) : 1. Buatkan diagram alir dari program di atas. 2. Jelaskan manfaat perintah delay pada program di atas 3. Ubah perintah If Pinb.0 = 0 (tanpa tanda kutip) pada program menjadi If PortB.0 = 0 (tanpa tanda kutip). Jelaskan, kesimpulan apa yang didapat. 4. Ubah perintah Delay (tanpa tanda kutip) pada program menjadi Waitms 1 (tanpa tanda kutip). Jelaskan, kesimpulan apa yang didapat. 5. Jelaskan manfaat perintah While Pinb.0 = 0 Wend yang ada pada program. TUGAS-2.2. CounterUpDown $regfile = m16def.dat $crystal = Config Portb.0 = Input Config Portb.4 = Output Config Portb.5 = Output Config Portb.6 = Output Config Portb.7 = Output Dim I As Integer Dim J As Integer ' jika I = 3 maka semua lampu mati I = 3 J = 1 Do If Pinb.0 = 0 Then Delay While Pinb.0 = 0 Wend Waitms 100 I = I + J If I 7 Then J = -1 I = 7 Else If I = 3 Then J = 1 I = 4 If J 0 Then Portb.i = 1 Else Portb.i = 0 Loop End Tugas Praktikan : 1. Salin source code dan simpan dengan nama file : Tugas2-2.bas 2. Compile & Upload ke dalam MCU 3. Perlihatkan hasilnya ke asisten. Tugas tertulis (dibuat pada pada lembar jawaban yang disediakan) : 1. Buatkan diagram alir dari program di atas. 2. Jelaskan digunakan untuk apa variabel J pada pada program 2.1 di atas. TUGAS-2.3. Switch ON/OFF Tugas Praktikan : 1. Salin source code dan simpan dengan nama file : Tugas2-3.bas 2. Compile & Upload ke dalam MCU 3. Perlihatkan hasilnya ke asisten. $regfile = m16def.dat $crystal = Declare Sub Cekswitch(byval Pnum As Integer) Config Portb.0 = Input Config Portb.1 = Input Config Portb.2 = Input Config Portb.3 = Input Config Portb.4 = Output Config Portb.5 = Output Config Portb.6 = Output Config Portb.7 = Output Do Call Cekswitch(0) Call Cekswitch(1) Call Cekswitch(2) Call Cekswitch(3) Loop End ' Sub Cekswitch(pnum As Integer) If Pinb.pnum = 0 Then Delay While Pinb.pnum = 0 Wend Waitms 100 Pnum = Pnum + 4 Portb.pnum = Not Portb.pnum End Sub Tugas tertulis: 1. Buatkan diagram alir dari program di atas. TUGAS-2.4. Switch Cerdas cermat Skenario utama dari program di bawah ini adalah program simulasi tombol yang biasa digunakan pada pertandingan cerdas cermat. Algoritmanya adalah sbb. : 1. Diasumsikan peserta pertandingan ada 3 kelompok (Switch-0 s/d Switch-2). 2. Switch-3, digunakan untuk tim juri. 3. Jika salah satu peserta (Switch-0 s/d Switch-2) sudah menekan tombol sehingga LED yang terkait menyala, maka peserta lain walaupun sudah menekan tombol tetapi tidak dapat membuat LED menyala. 4. Juri mempersilahkan peserta yang yang pertama kali menekan tombol menjawab sekaligus menekan tombol reset.. Tugas Praktikan : 1. Salin source code di bawah ini dan simpan dengan nama file : Tugas2-4.bas 2. Compile & Upload ke dalam MCU 3. Uji cobakan dengan menekan dua buah tombol peserta secara bersama. 4. Perlihatkan hasilnya ke asisten. $regfile = m16def.dat $crystal = Dim Snum As Integer Declare Sub Cekswitch(byval Pnum As Integer) Config Portb.0 = Input Config Portb.1 = Input Config Portb.2 = Input Config Portb.3 = Input Config Portb.4 = Output Config Portb.5 = Output Config Portb.6 = Output Config Portb.7 = Output Portb.4 = 0 Portb.5 = 0 Portb.6 = 0 Portb.7 = 0 Do Call Cekswitch(0) Call Cekswitch(1) Call Cekswitch(2) Call Cekswitch(3) Loop End ' Sub Cekswitch(pnum As Integer) If Pinb.pnum = 0 Then If Pnum = 3 Then Portb.4 = 0 Portb.5 = 0 Portb.6 = 0 Else Porta.0 = 1 Snum = Pnum + 4 Portb.snum = 1 ' ' 2 baris berikut ini untuk blok pemencetan tombol lainnya ' While Pinb.3 = 1 Wend End Sub 5. Simpan source code ini sekali lagi tetapi dengan nama file : Tugas2-4A.bas 6. Ubah source code ini sehingga indentik dengan yang sebelumnya tetapi jika salah satu led peserta menyala, buzzer-pun ikut menyala dan akan mati jika switch untuk juri (switch-3) ditekan. 7. Perlihatkan hasilnya ke asisten. (mintalah asisten memberi paraf pada item ini jika hasil sudah sesuai dengan seharusnya). 8. Lepaskan terminal catu-daya (power suply) dari kit-mcu. 9. Hubungkan terminal pina.0 ke terminal bz pada Buzzer 10. Hubungkan kembali catu daya 11. Lakukan uji coba. Tugas tertulis (dibuat pada pada lembar jawaban yang disediakan) : 1. Buatkan diagram alir dari program cerdas cermat yang terakhir (menggunakan buzzer). TUGAS-2.5. Pengaturan lampu lalu lintas mobil untuk orang menyebrang. Pada aplikasi ini diharapakan praktikan dapat mempelajari penggunaan Const, yang digunakan (pada program ini) untuk membuat alias terhadap nomor Port sehingga memudahkan mengingat penggunaan pin-pin pada Port tertentu. Skenario dari program aplikasi ini adalah sbb. : 1. Kondisi normal, lampu Hijau untuk mobil & lampu merah untuk peyebrang (orang) dalam keadaan ON 2. Switch-0 digunakan untuk permintaan menyebrang pada sisi jalan satu 3. Switch-2 digunakan untuk permintaan menyebrang pada sisi jalan satu lagi 4. Jika terdapat ada pemintaan menyebrang : a. Lampu Merah mobil OFF b. Lampu Kuning mobil ON 2 detik c Lampu Kuning mobil OFF d. Lampu Merah mobil ON e. Lampu Merah Orang OFF, Lampu Hijau Orang ON selama 5 detik f. Lampu Kuning blinking, Buzzer ON 2 detik g. Lampu Kuning OFF, Buzzer OFF h. Lampu Merah Orang ON dan lampu Hijau Mobil ON 5. Kondisi Normal kembali Catatan : 1. Led biru merupakan alternatif lain terhadap Buzzer. 2. Lepaskan hubungan buzzer dari porta.0 dan hubungkan portc.7 dengan buzzer, sehingga PortA dapat digunakan untuk keperluan lain. Tugas Praktikan : 1. Salin source code di bawah ini dan simpan dengan nama file : Tugas2-5.bas 2. Compile & Upload ke dalam MCU 3. Perlihatkan hasilnya ke asisten. (mintalah asisten memberi paraf pada item ini jika hasil sudah sesuai dengan seharusnya) $regfile = m16def.dat $crystal = Const M_r = 0 Const M_y = 1 Const M_g = 2 Const O_r = 4 Const O_y = 5 Const O_g = 6 Const O_buz = 7 Dim A As Integer Config PortC = Output Config PortB.0 = Input Config PortB.3 = Input PortC.m_g = 1 PortC.m_y = 0 PortC.m_r = 0 PortC.3 = 0 PortC.o_g = 0 PortC.o_y = 0 PortC.o_r = 1 PortC.o_buz = 0 Do If PinB.0 = 0 Or PinB.3 = 0 Then ' Untuk Bounching Waitms 100 ' lampu stopan mobil : hijau mati, kuning nyala PortC.m_g = 0 PortC.m_y = 1 Waitms 2000 ' lampu stopan orang : merah mati, hijau nyala PortC.o_r = 0 PortC.o_g = 1 ' lampu stopan mobil : kuning mati, merah nyala PortC.m_y = 0 PortC.m_r = 1 Waitms 5000 ' lampu stopan orang : hijau mati, buzzer hidup PortC.o_g = 0 PortC.o_buz = 1 A = 0 While A 5 PortC.o_y = 1 Waitms 200 PortC.o_y = 0 Waitms 200 A = A + 1 Wend PortC.o_buz = 0 ' waitms 2000 PortC.m_g = 1 PortC.o_y = 0 PortC.o_r = 1 PortC.m_r = 0 Loop End Tugas tertulis (dibuat pada pada lembar jawaban yang disediakan) : 1. Buatkan diagram alir dari program cerdas cermat yang terakhir (menggunakan buzzer). TUGAS-2.6. LED Blinking dengan potensio Tugas Praktikan : 1. Hubungkan antara terminal port C pada kit-mcu dengan terminal port P01 pada kit-display menggunakan kabel Hubungkan antara terminal pin A.0 pada kit-mcu dengan terminal pin dt port POT pada kit-display, terminal pin G pada kit-mcu dengan terminal pin G port POT pada kit-display, dan terminal pin + pada kit-mcu dengan terminal pin + port POT pada kit-display menggunakan kabel jumper 3 pin. 3. Salin source code di bawah ini dan simpan dengan nama file : Tugas2-6.bas 4. Compile & Upload ke dalam MCU ' ' Menyalakan/mematikan LED Port C dengan memutar Potensiometer, ' $regfile = m16def.dat $crystal = Config Portc = Output Config Porta.0 = input 'RUTIN UTAMA Do If Pinb.0 = 0 Then Delay While Pinb.0 = 0 Wend Waitms 1 PortC = 255 Waitms 100 Else PortC = 0 Waitms 100 Loop ' Nyalakan LED ' tunggu selama 100 mdetik ' Matikan LED ' tunggu selama 100 mdetik End 5. Cobalah putar potensiometer, dan perhatikan yang terjadi 6. Perlihatkan hasilnya ke asisten. Tugas praktikan: a. Ubahlah mounting MCU dengan potensio, hubungkan MCU dengan LDR dengan menggunaan pina.0 pada MCU sama seperti saat mounting dengan potensio. Ubah-ubah intensitas cahaya yang diterima LDR (bisa gunaan senter). Jelaskan apa yang terjadi. b. Ubahlah mounting MCU dengan LDR, hubungkan MCU dengan Mic dengan menggunaan pina.0 pada MCU sama seperti saat mounting dengan potensio. Ubah-ubah intensitas suara yang diterima Mic (Suara keras atau sepi). Jelaskan apa yang terjadi. c. Ubahlah mounting MCU dengan Mic, hubungkan MCU dengan Phototransistor dengan menggunaan pina.0 pada MCU sama seperti saat mounting dengan potensio. dekatkan (pantulkan) benda berwarna hitam diatas phototransistor, kemudian dekatkan (pantulkan) benda berwarna putih diatas phototransitor. Coba dengan benda berwana lain. Jelaskan apa yang terjadi. Tugas tertulis: a. Jelaskan fungsi sensor Switch, Potensiometer, LDR, Mic, dan Phototransistor. Latih Kretivitas Sampai sejauh ini, Anda telah belajar mengenai pemograman mikrokontroller untuk peangat input lampu LED dan Buzzer, serta pemograman perangkat input switch, sensor potensiometer, LDR, Mic, dan phototransistor. Produk-produk bermanfaat apa yang bisa Anda buat menggunakan perangkat tersebut saat ini? Jelaskan!
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks