You are on page 1of 15

A.

JUDUL PERCOBAAN
LED (LIGHT EMITING DIODE) “PUSH BUTTON DAN SAKLAR GESER”.

B. Tujuan Percobaan
1. Membuat program menghidupkan dan mematikan LED. 2. Memahami bagaimana prinsip kerja Push Button dan Saklar Geser. 3. Memahami rangkaian Mikrokontroller untuk menghidupkan dan mematikan LED dengan Push Button dan Saklar Geser.

C. Teori Dasar
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu chip. Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak

digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti

mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam chip yang sama dengen prosesornya (in chip).

Deskripsi Mikrokontroler ATMega16
  VCC (Power Supply) dan GND(Ground) Port A (PA7..PA0)

NASRULLAH YUSUF_1129040100 | 1

Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin–pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.  Port B (PB7..PB0) Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Pin B output buffer mempunyai

karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, Pin B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.  Port C (PC7..PC0) Pin C adalah suatu pin I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Pin C output buffer mempunyai

karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. pin C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.  Port D (PD7..PD0) Pin D adalah suatu pin I/O 8-bit dua arah dengan resistor internal pullup (yang dipilih untuk beberapa bit). Pin D output buffer mempunyai

karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

NASRULLAH YUSUF_1129040100 | 2

   

RESET (Reset input) XTAL1 (Input Oscillator) XTAL2 (Output Oscillator) AVCC adalah pin penyedia tegangan untuk Port A dan Konverter A/D AREF adalah pin referensi analog untuk konverter A/D

Push Button dan Saklar Geser Swich Push Button adalah salkar tekan yang berfungsi untuk menghubungkan atau memisahkan bagian – bagian dari suatu instalasi listrik satu sama lain (suatu sistem saklar tekan push button terdiri dari saklar tekan start. Stop reset dn saklar tekan untuk emergency. Push button memiliki kontak NC (normally close) dan NO (normally open), yang mana bentuk fisik jenis push button dapat dilihat pada gambar berikut ini :

Prinsip kerja Push Button adalah apabila dalam keadaan normal tidak ditekan maka kontaktidak berubah,apabila ditekan maka kontak NC aka berfungsi sebagai stop (memberhentikan) dan kontak NO akan berfungsi sebagai start (menjalankan) biasanya digunakan pada sistem pengontrolan motor – motor induksi untuk menjalankan mematikan motor pada industri – industri. Tipe saklar yang menghubungkan aliran listrik sesaat saja saat ditekan dan setelah dilepas maka kembali lagi pada posisi off. Saklar tipe ini banyak digunakan pada rangkaian elektronika yang di kombinasikan dengan rangkaian pengunci. Saklar adalah sebuah perangkat yang digunakan untuk memutuskan dan menghubungkan aliran listrik. Jadi saklar pada dasarnya adalah suatu alat yang dapat atau berfungsi menghubungkan atau pemutus aliran listrik (arus listrik) baik itu pada jaringan arus listrik kuat maupun pada jaringan arus listrik lemah. Yang membedakan saklar arus listrik kuat dan saklar arus listrik lemah adalah bentuknya kecil jika dipakai untuk alat peralatan elektronika arus lemah, demikian pula sebaliknya, semakin besar saklar yang digunakan jika aliran listrik semakin kuat. Secara
NASRULLAH YUSUF_1129040100 | 3

sederhana, saklar terdiri dari dua bilah logam yang menempel pada suatu rangkaian, dan bisa terhubung atau terpisah sesuai dengan keadaan sambung (on) atau putus (off) dalam rangkaian itu. Material kontak sambungan umumnya dipilih agar supaya tahan terhadap korosi. Kalau logam yang dipakai terbuat dari bahan oksida biasa, maka saklar akan sering tidak bekerja. Untuk mengurangi efek korosi ini, paling tidak logam kontaknya harus disepuh dengan logam anti korosi dan anti karat.

Saklar Geser Saklar-saklar geser digunakan untuk tujuan-tujuan yang sama dengan penggunaan saklar toggle, namun jenis ini dioperasikan dengan menggunakan sebuah kenop geser. Contoh saklar geser seperti yang terlihat pada gambar dibawah ini

D. Langkah Kerja dan Hasil
Gambar Rangkaian LED

Percobaan 1
1. Buka aplikasi BASCOM-AVR
NASRULLAH YUSUF_1129040100 | 4

2. Buat file baru, klik File lalu pilih New (Ctrl+N)

3. Ketikkan Programnya

Flowchartnya :

NASRULLAH YUSUF_1129040100 | 5

4. Simpan program yang telah anda buat, klik File lalu pilih Save (Ctrl S)

5. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7.

6. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 7. Hasil Program

NASRULLAH YUSUF_1129040100 | 6

Percobaan 2
1. Buat file baru, Klik lalu pilih New (Ctrl N) 2. Ketikkan Programnya

Flowchartnya :

3. Simpan Program, klik File lalu pilih Save. 4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7. 5. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke

NASRULLAH YUSUF_1129040100 | 7

Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 6. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 7. Hasil Program

Percobaan 3 1. Buat file baru, Klik lalu pilih New (Ctrl N) 2. Ketikkan Programnya

Flowchartnya :

NASRULLAH YUSUF_1129040100 | 8

3. Simpan Program, klik File lalu pilih Save. 4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7. 5. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 6. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 7. Hasil Program

. Percobaan 4 1. Buat file baru, Klik lalu pilih New (Ctrl N) 2. Ketikkan Programnya
NASRULLAH YUSUF_1129040100 | 9

Flowchartnya :

3. Simpan Program, klik File lalu pilih Save. 4. Compile program dengan mengklik icon seperti gambar berikut atau tekan F7. 5. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 6. Langkah pembuatan program sampai dengan compile program telah selesai. Langkah selanjutnya kita mendownload program yang telah kita buat ke Mikrokontroller ATMega 16 menggunakan aplikasi AvrProg. Lakukan uji coba untuk melihat kebenaran hasil program. 7. Hasil Program
NASRULLAH YUSUF_1129040100 | 10

E. ANALISA DATA
Percobaan 1
 $regfile = “m16def.dat” Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah ATMega16.  $crystal = 1000000 Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan kecepatan eksekusi program.          Config Portb = Output Pengkonfigurasian bahwa Port B menjadi output Config Porta = Input Pengkonfigurasian bahwa Port A menjadi input Do Perintah Perulangan, program utama dimulai. Bitwait Pina.0, Set Menunggu Inputan untuk mengeset Pina.0. Set Portb.0 Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1 Bitwait Pina.0, Reset Menunggu Inputan untuk mereset Pina.0. Reset Portb.0 Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0. Loop Perintah perulangan, ulangi ke awal (mulai dari do). End Proses selesai.
NASRULLAH YUSUF_1129040100 | 11

Percobaan 2
 $regfile = “m16def.dat” Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah ATMega16.  $crystal = 1000000 Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan kecepatan eksekusi program.    Config Portb = Output Pengkonfigurasian bahwa Port B menjadi output Do Perintah Perulangan, program utama dimulai. If Pina.0 = 1 then Jika Pina.0 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.        Set Portb.0 Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1 End if Statement untuk instruksi If selesai. If Pina.1 = 1 Then Reset Portb.0 Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0. End If Statement untuk instruksi If selesai. Loop Perintah perulangan, ulangi ke awal (mulai dari do). End Proses selesai.

Percobaan 3
 $regfile = “m16def.dat” Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah ATMega16.
NASRULLAH YUSUF_1129040100 | 12

$crystal = 1000000 Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan kecepatan eksekusi program.

  

Config Portb = Output Pengkonfigurasian bahwa Port B menjadi output Do Perintah Perulangan, program utama dimulai. Portb = Pinc Nilai pada Portb sama dengan Portc, jika PortC diset maka PortB juga ikut terset.

 

Loop Perintah perulangan, ulangi ke awal (mulai dari do). End Proses selesai.

Percobaan 4
 $regfile = “m16def.dat” Library yang menyatakan bahwa mikrokontroller yang kita pakai adalah ATMega16.  $crystal = 1000000 Mendefinisikan Crystal yang digunakan untuk mensinkronkan waktu dan kecepatan eksekusi program.    Config Portb = Output Pengkonfigurasian bahwa Port B menjadi output Do Perintah Perulangan, program utama dimulai. If Pina.0 = 1 then Jika Pina.0 = 1 maka statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.   Set Portb.0 Menyalakan Led yang terhubung dengan PortB.0 => Nilai PortB.0=1 End If Statement untuk instruksi If selesai.
NASRULLAH YUSUF_1129040100 | 13

If Pina.1 = 1 and Portb.0=1 Then Jika Pina.0 = 1 dan Portb.0=1 maka statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.

   

Reset Portb.0 Mematikan Led yang terhubung dengan PortB.0 => Nilai PortB.0=0. Reset Portb.1 Mematikan Led yang terhubung dengan PortB.1 => Nilai PortB.1=0 Bitwait Pina.1, Reset Menunggu Inputan untuk mereset Pina.1. Else If Pina.1 = 1 and Portb.0 = 0 Then Dan Jika Pina.1 = 1 dan Portb.0=0 maka statement dibawahnya akan dilaksanakan, jika tidak maka lanjut ke instruksi selanjutnya tanpa mengeksekusi statement If.

   

Set Portb1 Menyalakan Led yang terhubung dengan PortB.1 => Nilai PortB.1=1 End If Statement untuk instruksi If selesai. Loop Perintah perulangan, ulangi ke awal (mulai dari do). End Proses selesai.

F. KESIMPULAN
Pada praktikum kedua ini kita menggunakan Inputan dari User jadi kita menambahkan satu Port lagi yang digunakan sebagai Port Input dan satu Port untuk output. Untuk Inputannya sendiri kita menggunakan Push Button atau Saklar Geser. Percobaan 2.1 Pada percobaan 2.1 pertama kita menunggu inputan dari PinA.0 untuk di Set nilainya. Jika sudah di Set maka PortB.0 juga ikut menyala. Selanjutnya menunggu inputan dari PinA.0 untuk di Reset nilainya. Jika sudah direset maka
NASRULLAH YUSUF_1129040100 | 14

PortB.0 juga ikut mati. Di program ini digunakan instruksi Do-Loop maka program akan terus melakukan perulangan. Percobaan 2.2 Pada percobaan 2.2, pertama kita mengecek kondisi jika PinA.0 = 1 maka statement dilaksanakan yaitu Set PortB.0 jadi LED 1 pada portB menyala, jika tidak maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi statement. Instruksi selanjutnya jika PinA.1 = 1 maka statement dilaksanakan yaitu Reset PortB.0 artinya mematikan LED 1 pada PortB. Di program ini digunakan instruksi Do-Loop maka program akan terus melakukan perulangan. Percobaan 2.3 Pada Percobaan 2.3, karena PortB adalah Output dan PortB = Pinc maka semua nilai yang dimasukkan pada PinC maka hasilnya akan sama pada PortB. Di program ini digunakan instruksi Do-Loop maka program akan terus melakukan perulangan. Percobaan 2.4 Pada percobaan 2.4, pertama dicek Kondisi jika PinA.0 = 1 maka Statement dilaksanakan yaitu Set PortB.0 jadi LED 1 pada Port B akan menyala. Jika tidak maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi statement. Instruksi selanjutnya jika PinA.1 = 1 dan PortB.0 = 1 maka Statement dilaksanakan yaitu matikan LED 1 dan LED 2 pada PortB kemudian menunggu inputan untuk me Reset PinA.1. dan Jika PinA.1 = 1 dan PortB.0=0 maka Statement dilaksanakan yaitu Set PortB.1 jadi LED 2 akan menyala, jika tidak maka instruksi selanjutnya dilaksanakan tanpa mengeksekusi Statement. Di program ini digunakan instruksi Do-Loop maka program akan terus melakukan perulangan.

NASRULLAH YUSUF_1129040100 | 15