Belajar Mikrokontroler (Push Button & LED)

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

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)

Page 1: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK 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 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.

LALU DHULKHAQ 141250016

Page 2: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

C. Alat dan Bahan

No. Nama Peralatan / Komponen Spesifikasi Jumlah

1. Personal computer + Software CodeVision AVR & Proteus 8

1

D. Gambar Rangkaian

Gambar 1-Rangkaian Instruksi Bersyarat

E. Latihan Soal

1. Buatlah program instruksi bersyarat dengan 3 buah tombol pada port A

dan 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 pinA

3. Buatlah program dengan kondisi Ketika push button ditekan maka LED akan

membentuk RUNNING LED dari kiri ke kanan

LALU DHULKHAQ 141250016

Page 3: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

F. Kode Program

1. Kode Program Latihan Soal1

Gambar 2- Kode Program latihan soal1

2. Kode Program latihan Soal2

Gambar 3- Kode Program Latihan Soal2 (AND)

LALU DHULKHAQ 141250016

Page 4: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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 <delay.h>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.

LALU DHULKHAQ 141250016

Page 5: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

H. Analisa

1. 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 program

A. Kode Program Running LED1

LALU DHULKHAQ 141250016

Page 6: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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 <mega8535.h>

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

LALU DHULKHAQ 141250016

Page 7: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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

LALU DHULKHAQ 141250016

Page 8: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

(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 <mega8535.h>

LALU DHULKHAQ 141250016

Page 9: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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 {

LALU DHULKHAQ 141250016

Page 10: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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)

LALU DHULKHAQ 141250016

Page 11: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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)

LALU DHULKHAQ 141250016

Page 12: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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 <mega8535.h>

LALU DHULKHAQ 141250016

Page 13: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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;

LALU DHULKHAQ 141250016

Page 14: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

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 DHULKHAQ 141250016

Page 15: Belajar Mikrokontroler (Push Button & LED)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJEN

JOBSHEET 04TEKNIK MESIN

SEMESTER 3

LALU DHULKHAQ 141250016