AVR ATMega16 merupakan seri mikrokontroler Complementary Metal Oxide Semiconductor (CMOS) 8-bit buatan Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog Timer, power saving mode, ADC dan PWM. AVR pun mempunyai In-System Programmable (ISP) Flash on-chip yang mengijinkan memori program untuk diprogram ulang (read/write) dengan koneksi secara serial yang disebut Serial Peripheral Inteface (SPI). AVR memilki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan mikrokontroler AVR yaitu memiliki kecepatan dalam mengeksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus. ATMEGA16 mempunyai throughput mendekati 1 Millions Instruction Per Second (MIPS) per MHz, sehingga membuat konsumsi daya menjadi rendah terhadap kecepatan proses eksekusi perintah. Beberapa kelebihan pada ATMega16 adalah : a) Mikrokontroler 8 bit yang berkemampuan tinggi dengan konsumsi daya rendah. b) Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 MHz. c) Kapasitas flash memory 16 Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte. d) Saluran I/O sebanyak 32 buah yaitu Port A, Port B, Port C, dan Port D. e) CPU yang terdiri dari 32 buah register. f) Unit interupsi dan eksternal. g) Port USART untuk komunikasi serial. h) Tiga buah timer/counter dengan kemampuan perbandingan (compare). i) Real time counter dengan osilator tersendiri. j) Empat kanal PWM. k) 8 kanal ADC. l) Serial Peripheral Interface (SPI). m) Watchdog timer dan osilator internal. n) On-chip analog comparator. o) Non-volatile program memory. Konfigurasi Pin AVR ATMega16 :
2. LED ( Light Emitting Diode ) LED atau Light Emitting Diode adalah suatu komponen elektronik yang terbuat dari bahan semi konduktor yang dapat memancarkan cahaya. LED merupakan produk temuan lain setelah dioda. Strukturnya juga sama dengan dioda, tetapi belakangan ditemukan bahwa elektron yang menerjang sambungan P-N. Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula. Cara Kerja LED Karena LED adalah salah satu jenis dioda maka LED memiliki 2 kutub yaitu anoda dan katoda. Dalam hal ini LED akan menyala bila ada arus listrik mengalir dari anoda menuju katoda. Pemasangan kutub LED tidak boleh terebalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala. Led memiliki karakteristik berbeda-beda menurut warna yang dihasilkan. Semakin tinggi arus yang mengalir pada led maka semakin terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa besarnya arus yang diperbolehkan 10mA-20mA dan pada tegangan 1,6V 3,5 V menurut karakter warna yang dihasilkan. Apabila arus yang mengalir lebih dari 20mA maka led akan terbakar. Untuk menjaga agar LED tidak terbakar perlu kita gunakan resistor sebagai penghambat arus. Macam Macam LED 1. Dioda Emiter Cahaya . Sebuah dioda emisi cahaya dapat mengubah arus listrik langsung menjadi cahaya. Dengan mengubah-ubah jenis dan jumlah bahan yang digunakan untuk bidang temu PN. LED dapat dibentuk agar dapat memancarkan cahaya dengan panjang gelombang yang berbeda-beda. 2. LED Warna Tunggal . LED warna tunggal adalah komponen yang paling banya dijumpai. Sebuah LED warna tunggal mempunyai bidang temu PN pada satu keping silicon. Sebuah lensa menutupi bidang temu PN tersebut untuk memfokuskan cahaya yang dipancarkan. 3. LED Tiga Warna Tiga Kaki . satu kaki merupakan anoda bersama dari kedua LED. Satu kaki dihubungkan ke katoda LED merah dan kaki lainnya dihubungkan ke katoda LED hijau. Apabila anoda bersamanya dihubungkan ke bumi, maka suatu tegangan pada kaki merah atau hijau akan membuat LED menyala. Apabila satu tegangan diberikan pada kedua katoda dalam waktu yang bersama, maka kedua LED akan menyala bersama-sama. 4. LED Tiga Warna Dua Kaki Disini, dua bidang temu PN dihubungkan dalam arah yang berlawanan. Warna yang akan dipancarkan LED ditentukan oleh polaritas tegangan pada kedua LED. Suatu sunyal yang dapat mengubah polaritas akan menyebabkan kedua LED menyala dan menghasilkan warna kuning. 3. Sevent Segment Seven Segment adalah tujuh segmen-segmen yang digunakan menampilkan angka. Seven segment merupakan display visual yang umum digunakan dalam dunia digital. Seven segment sering dijumpai pada jam digital, penujuk antrian, diplay angka digital dan termometer digital. Penggunaan secara umum adalah untuk menampilkan informasi secara visual mengenai data-data yang sedang diolah oleh suatu rangkaian digital. Seven segment ini tersusun atas 7 buah LED yang disusun membentuk angka 8 yang penyusunnya menggunakan diberikan lebel dari a sampai g dan satu lagi untuk dot point (DP). Setiap segmen ini terdiri dari 1 atau 2 Light Emitting Diode ( LED ).
Jenis-Jenis Seven Segment a) CommonAnoda Semua anoda dari LED dalam seven segmen disatukan secara parallel dan semua itu dihubungkan ke VCC, dan kemudian LED dihubungkan melalui tahanan pembatas arus keluar dari penggerak LED. Karena dihubungkan ke VCC, maka COMMON ANODA ini berada pada kondisi AKTIF LOW (led akan menyala/aktif bila diberi logika 0).
b) Common Katoda Merupakan kebalikan dari Common Anoda. Disini semua katoda disatukan secara parallel dan dihubungkan ke GROUND. Karena seluruh katoda dihubungkan ke GROUND, maka COMMON KATODA ini berada pada kondisi AKTIF HIGH (led akan menyala/aktif bila diberi logika 1).
Prinsip Kerja Seven Segment Prinsip kerja seven segmen ialah input biner pada switch dikonversikan masuk ke dalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut menjadi decimal, yang nantinya akan ditampilkan pada seven segment. Seven segment dapat menampilkan angka-angka desimal dan beberapa karakter tertentu melalui kombinasi aktif atau tidaknya LED penyusunan dalam seven segment. Untuk memudahkan penggunaan seven segment, umumnya digunakan sebuah decoder( mengubah/ mengkoversi input bilangan biner menjadi decimal) atau seven segment driver yang akan mengatur aktif tidaknya led-led dalam seven segment sesuai dengan nilai biner yang diberikan.
4. Push Button Switch Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.
Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2 kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan Off.
Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator, push button switch menjadi device paling utama yang biasa digunakan untuk memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push button switch atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On dan Off.
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button switch memilki 2 tipe kontak, yaitu NC (Normally Close) dan NO (Normally Open). NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka (aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik. Kontak NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button ON). NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup (mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini akan menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC digunakan sebagai pemutus atau mematikan sistem circuit (Push Button Off).
PROGRAM Pada coding project kali ini aplikasi yang digunakan adalah Codevision AVR. Project berikut menggunakan CodeWizardAVR untuk ATMega16. Port yang digunakan sebagai output adalah Port C dan Port D. Berikut adalah script project yang digunakan : #include <mega16.h> #include <delay.h> #define SW1 PINB.0 #define SW2 PINB.1 #define SW3 PINB.2 #define SW4 PINB.3 // Declare your global variables here void main(void) { int x,y,i,j; unsigned char Nama[6] = {0xff,0x0e,0xf9,0xa0,0x48,0xff}; unsigned char TanggalLahir[10] = {0xff,0xc0,0xa4,0xbf,0xf9,0xc0,0xbf,0x90,0x92,0xff}; DDRC = 0xff; DDRD = 0xff; while (1) { // Place your code here x = 0b10000000; [ coding untuk nyala lampu LED dari kiri ke kanan ] y = 0b00000001; [ coding untuk nyala lampu LED dari kanan ke kiri ] PORTC = 0xff; if (SW1==0) { for (i=1 ; i<6 ; i++) { PORTC = Nama[i]; delay_ms(500); PORTC = 0xff; } } if (SW2==0) { for (j=1 ; j<10 ; j++) { PORTC = TanggalLahir[j]; delay_ms(500); PORTC = 0xff; } } if (SW3==0) { for (i=1 ; i<9 ; i++) { PORTD = x; delay_ms(500); x = x >> 1; PORTD = 0x00; } } if (SW4==0) { for (j=1 ; j<9 ; j++) { PORTD = y; delay_ms(500); y = y << 1; PORTD = 0x00; } } } }
SIMULASI Program yang digunakan untuk simulasi adalah Proteus ISIS. Komponen pada rangkaian yang digunakan adalah : a) ATMega16 b) 7 segment common anode c) LED d) Push button switch e) Resistor 10k f) Power
Adapun masing masing fungsi dari 4 buah switch, yaitu : a) Switch 1 digunakan untuk menampilkan nama pada 7 segment. b) Switch 2 digunakan untuk menampilkan tanggal lahir pada 7 segment. c) Switch 3 digunakan untuk menyalakan LED dengan urutan nyala dari kiri ke kanan. d) Switch 4 digunakan untuk menyalakan LED dengan urutan nyala dari kanan ke kiri.
DAFTAR PUSTAKA http://rasapas.wordpress.com/2011/03/04/8/ http://natasyakinsky.blogspot.com/2013/06/seven-segment-display.html http://trikueni-desain-sistem.blogspot.com/2014/04/Pengertian-Push-Button.html