Saturday 25 June 2016

Antarmuka Mikrokontroller dengan Toggle Switch

     Saklar toggle adalah salah satu saklar elektrik yang digerakkan secara manual oleh batang mekanik. Saklar toggle tersedia dalam berbagai bentuk dan ukuran, serta digunakan dalam berbagai aplikasi. Gambar dibawah memperlihatkan bentuk fisik dan symbol saklar toggle.


     Rangkaian I/O yang dipakai dalam praktikum, dibutuhkan komponen input yaitu saklar toggle dan LED sebagai komponen output serta Atmega16 sebagai IC pemrosesnya. Untuk rangkaian seperti dibawah ini :

     Seperti pada rangkaian diatas, pada PORTC kita gunakan sebagai INPUT (saklar) dan PORTA sebagai OUTPUT (LED). Soal pertama adalah meng-ON-kan dan meng-OFF-kan seluruh led pada PORTA dengan saklar satu (PINC.0). Maka programnya seperti dibawah ini :

#include <mega16.h>
void main(){
    PORTA=0x00;
    DDRA=0xff; //PORTA sebagai output, 0b11111111, nilai awal 0
    PORTC=0xff;
    DDRC=0x00; //PORTC sebagai input, 0b00000000, pull up     
while(1){
   if(PINC.0==1){  //jika saklar 1 berlogika HIGH, LED nyala
   PORTA=0xff;
   }
   else{          //jika saklar 1 diluar kondisi (selain HIGH), LED mati
   PORTA=0x00;
   }
}
}

dan hasilnya :

Tugas :
1.      Buat program untuk masing–masing algoritma berikut dengan menggunakan if :
a)      Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.
b)      Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.
2.      Buat satu program untuk masing–masing algoritma berikut dengan menggu­na­kan if-else.
a)      Jika switch bit 0 berlogika 1 maka LED bit 4 menyala.
b)      Jika switch bit 1 berlogika 1 maka LED bit 7 menyala.
c)       Jika switch bit 2 berlogika 1 maka LED menyala dengan konfigurasi
ON-OFF-ON-OFF-ON-OFF-ON-OFF (bit7-bit0).
d)      Jika switch bit 3 berlogika 1 maka LED menyala dengan konfigurasi
OFF-ON-OFF-ON-OFF-ON-OFF-ON (bit7-bit0).
e)      Jika switch bit 4 berlogika 1 maka LED menyala semua.
f)        JIka switch bit 5 berlogika 1 maka LED mati semua.

g)      Jika switch bit 6 berlogika 1 maka LED menyala berurutan mulai dari bit0 ke bit7 lalu kembali lagi ke bit0 dengan delay 1 detik

     Nah cukup sekian penjelasan Interface Atmega16 dengan Saklar. Ditunggu kritik dan sarannya dari pengunjung agar menjadi lebih baik lagi untuk kedepannya.
Perbanyaknya uji coba dirumah dengan programmu sendiri dan cari troubleshooting dalam memprogram, karena semua itu adalah pelajaran bagi kita.





1 comment:

Mengakses LCD 16x2 dengan Arduino

    Pada postingan sebelumnya kita sudah membahas tentang mengakses lcd 16x2 dengan atmega16. Kali ini saya akan berbagi tutorial cara menga...