Belajar Mikrokontroler (Push Button & LED)

of 19 /19
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER AKADEMI KOMUNITAS NEGERI KAJEN JOBSHEET 04 TEKNIK MESIN SEMESTER 3 Instruksi Bersyarat A. Tujuan Pembelajaran Dengan melaksanakan kegiatan praktikum Jobsheet 04 ini diharapkan Mahasiswa dapat memahami cara kerja dari Push Button sebagai input dalam mikrokontroler serta rangkaiannya. Mahasiswa juga diharapkan mampu mengembangkan Logika And dan Or untuk aplikasi menggunakan Push Button serta LED. B. Materi Tombol salah satu komponen yang paling sering digunakan pada aplikasi elektronik. Tombol biasa digunakan sebagai pemilih, pengatur dan juga sebagai sensor yang kemudian diproses untuk mengerjakan sesuatu. Umumnya jenis tombol ada 2 macam, yaitu tombol Push Button (Tombol Tekan) dan Tombol Toggle (On/Off). Terdapat berbagai macam bentuk dan ukuran tombol dari yang kecil sampai yang besar, sehingga pengguna harus memilih tombol yang sesuai tergantung kebutuhan. Tombol Push Button sering kita lihat dalam kehidupan sehari-hari pada peralatan elektronik, seperti radio, televisi, keyboard dan kalkulator lain-lain. Biasanya tombol push button ini digunakan untuk memilih atau menetukan suatu proses, misalnya memilih channel televisi atau mengetik komputer. Tombol Push LALU DHULKHAQ 141250016

Embed Size (px)

description

Tombol salah satu komponen yang paling sering digunakan pada aplikasi elektronik. Tombol biasa digunakan sebagai pemilih, pengatur dan juga sebagai sensor yang kemudian diproses untuk mengerjakan sesuatu. Umumnya jenis tombol ada 2 macam, yaitu tombol Push Button (Tombol Tekan) dan Tombol Toggle (On/Off). Terdapat berbagai macam bentuk dan ukuran tombol dari yang kecil sampai yang besar, sehingga pengguna harus memilih tombol yang sesuai tergantung kebutuhan. Tombol Push Button sering kita lihat dalam kehidupan sehari-hari pada peralatan elektronik, seperti radio, televisi, keyboard dan kalkulator lain-lain. Biasanya tombol push button ini digunakan untuk memilih atau menetukan suatu proses, misalnya memilih channel televisi atau mengetik komputer. Tombol Push Button juga sering digunakan sebagai komponen untuk menyalakan LED pada mikrokontroler untuk pembelajaran bagi pemula. Dengan menggunakan beberapa Gerbang Logika Dasar yaitu AND OR NOT serta penggunaan komponen Push Button sebagai input dan LED sebagai Outpu maka dapat menjadi suatu pembelajaran yang menarik.

Transcript of Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLERAKADEMI KOMUNITAS NEGERI KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

Instruksi BersyaratA. Tujuan PembelajaranDengan melaksanakan kegiatan praktikum Jobsheet 04 ini diharapkan Mahasiswa dapat memahami cara kerja dari Push Button sebagai input dalam mikrokontroler serta rangkaiannya. Mahasiswa juga diharapkan mampu mengembangkan Logika And dan Or untuk aplikasi menggunakan Push Button serta LED. B. MateriTombol salah satu komponen yang paling sering digunakan pada aplikasi elektronik. Tombol biasa digunakan sebagai pemilih, pengatur dan juga sebagai sensor yang kemudian diproses untuk mengerjakan sesuatu. Umumnya jenis tombol ada 2 macam, yaitu tombol Push Button (Tombol Tekan) dan Tombol Toggle (On/Off). Terdapat berbagai macam bentuk dan ukuran tombol dari yang kecil sampai yang besar, sehingga pengguna harus memilih tombol yang sesuai tergantung kebutuhan. Tombol Push Button sering kita lihat dalam kehidupan sehari-hari pada peralatan elektronik, seperti radio, televisi, keyboard dan kalkulator lain-lain. Biasanya tombol push button ini digunakan untuk memilih atau menetukan suatu proses, misalnya memilih channel televisi atau mengetik komputer. Tombol Push Button juga sering digunakan sebagai komponen untuk menyalakan LED pada mikrokontroler untuk pembelajaran bagi pemula. Dengan menggunakan beberapa Gerbang Logika Dasar yaitu AND OR NOT serta penggunaan komponen Push Button sebagai input dan LED sebagai Outpu maka dapat menjadi suatu pembelajaran yang menarik.

C. Alat dan BahanNo.Nama Peralatan / KomponenSpesifikasiJumlah

1.Personal computer + Software CodeVision AVR & Proteus 81

D. Gambar Rangkaian

Gambar 1-Rangkaian Instruksi BersyaratE. Latihan Soal

1. Buatlah program instruksi bersyarat dengan 3 buah tombol pada port Adan output port C dengan kondisi jika PB 1 menghidupkan 4 LED dari kanan, PB 2 menghidupkan 4 LED kiri, PB 3 mematikan semua LED.2. Buatlah program instruksi bersyarat dengan logika AND & OR output led dari portC dan input push button dari pinA3. Buatlah program dengan kondisi Ketika push button ditekan maka LED akan membentuk RUNNING LED dari kiri ke kanan

F. Kode Program1. Kode Program Latihan Soal1

Gambar 2- Kode Program latihan soal12. Kode Program latihan Soal2

Gambar 3- Kode Program Latihan Soal2 (AND)3. Kode Program latihan Soal2 (OR)

Gambar 4- Kode Program Latihan Soal2 (OR)

G. Langkah Praktikum

1. Buka software Proteus 8 dan buatlah rangkaian Running LED seperti pada gambar1.2. Buka software CodeVision AVR3. Buatlah 2 project baru menggunakan ATMega8535 dengan iniliasisasi PORTC sebagai Output (DDRC=0xFF;) dan setting PORTC logika awal LOW (PORTC=0x00;).4. Tambahkan file header #include 5. Dan ketikan kode program selengkapnya sesuai dengan kode program latihan soal1, latihan soal2 AND dan OR serta latihan soal3 pada gambar2 dan gamba3 dan gambar4 diatas.

H. Analisa1. Analisa Rangkaian Pada Rangkaian Running LED praktikum jobsheet04 ini agar dapat menjalankan fungsinya sebagai suatu sistem minimum maka dibutuhkan dua komponen yaitu kristal osilator dan juga rangkaian RESET. Fungsi dari osilator adalah sebagai jantungnya. Rangkaian sistem reset dengan button yang masuk pada pin reset no9 pada mikrokontroler ATMega8535 dan sistem rangkaian pengunci yang langsung masuk ke pin xtail 1 dan xtail 2 dengan tegangan input yaitu 5v . output pada PORTC yaitu lampu LED green 8 buah yang terhubung ke GND (ground). Input terdapat pada PORTC.0, PORTC.1 PORTC.2 untuk push Button serta saklar SWITCH pada PORTC.3 dan PORTC.4.2. Analisa programA. Kode Program Running LED1

1. Pada baris 1-3, kode program:/*****************************************************By : Lalu Dhulkhaq*****************************************************/Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar dengan banyak baris. Semua huruf/angka atau semua yang ada diantara dua simbol akan diabaikan oleh program (tidak dieksekusi). Sedangkan komentar untuk satu baris menggunakan //.2. Baris berikutnya, kode program:#include Kode program #include artinya perintah untuk memanggil library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya maka perlu header file/pemanggilan pustaka bahasa ATMega8535.3. Baris program berikutnya: void main(void)perintah diatas merupakan awal program utama (kepala awal program utama)4. Baris perintah berikutnya:PORTA=0x00;DDRA=0x00;PORTC=0x00;DDRC=0xFF;Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan bilangan heksadesimal, jika dikonversi menjadi biner sama dengan 11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika diberi logika 1.

5. Baris program berikutnya:while (1) { if (PINA.0==1) { PORTC=0x0F; } else if (PINA.1==1) { PORTC=0xF0; } else if (PINA.2==1) { PORTC=0x00; } }}Program diatas dapat di analisa bahwa perintah while() berarti perintah looping atau pengulangan semua kode program yang dibawahnya tanpa syarat, dan akan berhenti jika mikrokotroler tidak diberi tegangan. Kemudian kode program if (PINA.0==1) {PORTC=0x0F; } adalah suatu kondisi b yang akan dieksekusi jika kondisi c terpenuhi. Atau jika PINA.0 berlogika 1, maka PORTC=0x0F; artinya jika Push Button pada PINA.1 ditekan maka output LED 4 dari kanan akan menyala (0x0F = 00001111) .sedangkan else if (PINA.1==1) {PORTC=0xF0; } artinya pada saat Push Button pada PINA.1 ditekan (HIGH) maka output 4 LED dari kiri akan menyala (0xF0 = 11110000). Kode berikutnya else if (PINA.2==1) {PORTC=0x00; } menginstruksikan ketika Push Button pada PINA.2 ditekan maka output LED PORT C akan mati semua (0x00 = 00000000).

B. Kode Program latihan soal2 (AND)

1. Pada baris 1-3, kode program:/*****************************************************By : Lalu Dhulkhaq*****************************************************/Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar dengan banyak baris. Semua huruf/angka atau semua yang ada diantara dua simbol akan diabaikan oleh program (tidak dieksekusi). Sedangkan komentar untuk satu baris menggunakan //.6. Baris berikutnya, kode program:#include Kode program #include artinya perintah untuk memanggil library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya maka perlu header file/pemanggilan pustaka bahasa ATMega8535.7. Baris program berikutnya: void main(void)perintah diatas merupakan awal program utama (kepala awal program utama)8. Baris perintah berikutnya:PORTA=0x00;DDRA=0x00;PORTC=0x00;DDRC=0xFF;Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan bilangan heksadesimal, jika dikonversi menjadi biner sama dengan 11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika diberi logika 1.9. Baris kode berikutnya : while (1) { if (PINA.3==1 && PINA.4==1) { PORTC=0xFF; } else { PORTC=0x00; } } }

Program diatas dapat di analisa bahwa perintah while() berarti perintah looping atau pengulangan semua kode program yang dibawahnya tanpa syarat, dan akan berhenti jika mikrokontroler tidak diberi tegangan. Kemudian kode program if (PINA.3==1 && PINA.4==1) {PORTC=0xFF; } adalah menginstruksikan PINA.3 dan PINA.4 untuk saling berhubungan DAN (&&). Artinya ketika PINA.3 (SWITCH) HIGH /ditekan dan PINA.4 (SWITCH) juga HIGH/ditekan makan output pada PORTC yaitu LED akan menyala semua. (0xFF = 11111111). Sedangkan else {PORTC=0x00; } adalah kode program yang menginstruksikan agar selain kondisi PINA.3 dan PINA4 HIGH bersamaan maka output pada PORTC yaitu LED akan mati semua (0x00=00000000).

C. Kode Program latihan soal2 (AND)

Rangkaian kode program hampir sama dengan kode program latihan soal2 (AND). Perbedaannya hanya pada kondisi LED pada PORTC akan menyala JIKA SALAH SATU SWITCH pada PINA.3 dan PINA.4 ditekan. Jadi hanya jika salah satu berlogika HIGH maka sudah dapat menyalakan LED. Namun jika keduanya tidak ditekan maka akan mati.

D. Kode Program latihan soal3 (AND)

1. Pada baris 1-3, kode program:/*****************************************************By : Lalu Dhulkhaq*****************************************************/Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar dengan banyak baris. Semua huruf/angka atau semua yang ada diantara dua simbol akan diabaikan oleh program (tidak dieksekusi). Sedangkan komentar untuk satu baris menggunakan //.2. Baris berikutnya, kode program:#include Kode program #include artinya perintah untuk memanggil library/pustaka bahasa bahasa C. Pada praktikum kali ini digunakan IC Atmega8535 untuk itu agar dapat menggunakan fungsi-fungsinya maka perlu header file/pemanggilan pustaka bahasa ATMega8535.3. Baris program berikutnya: void main(void)perintah diatas merupakan awal program utama (kepala awal program utama)4. Baris perintah berikutnya:DDRA=PORTA=PORTC=0x00;DDRC=0xFF;Kode program DDRA=0x00 adalah instruksi untuk mensetting PORTA sebagai input. PORTA=0x00 adalah perintah untuk mensetting pin pada PORTA DDRC=0xFF; adalah perintah setting seluruh PIN pada PORTC sebagai eksternal pull up (logika awal 0). 0xFF merupakan bilangan heksadesimal, jika dikonversi menjadi biner sama dengan 11111111. PORTC=0x00; adalah perintah untuk setting pin 0-7 pada PORTC dengan logika awal 0 (LOW). artinya awal mikrokontoler diberi arus maka pin 0-7 pada PORTC aktif LOW. dan akan aktif HIGH ketika diberi logika 1.5. Baris kode berikutnya : while (1) { if (PINA.0==1) { PORTC=0b10000000; delay_ms(10); PORTC=0b01000000; delay_ms(10); PORTC=0b00s100000; delay_ms(10); PORTC=0b00010000; delay_ms(10); PORTC=0b00001000; delay_ms(10); PORTC=0b00000100; delay_ms(10); PORTC=0b00000010; delay_ms(10); PORTC=0b00000001; delay_ms(10); }Program diatas dapat di analisa bahwa perintah while() berarti perintah looping atau pengulangan semua kode program yang dibawahnya tanpa syarat, dan akan berhenti jika mikrokontroler tidak diberi tegangan. Kemudian kode program if (PINA.0==1) {...} adalah suatu instruksi ketika PINA.0 (Push Button) ditekan (HIGH) maka akan menjalankan statement didalam pada kurung kurawal. Sedangkan setatement yang ada didalam kurung kurwala pada program diatas adalah berupa perintah menjalankan aksi running LED dari kiri ke kanan secara berurutan. Artinya jika Push Button pada PINA.0 ditekan maka OUTPUT pada PORTC yaitu LED akan menyala bergantian dari kiri ke kanan. Sedangkan kode program else {PORTC=0b00000000; } adalah suatu kondisi jika kondisi awal yang terdapat pada IF tidak terpenuhi maka akan menjalankan perintah yang ada didalam kurawal ELSE. Singkatnya ketika Push Button pada PORTA.0 tidak ditekan maka LED pada PORTC akan mati.

LALU DHULKHAQ141250016