Saturday, December 22, 2012

LED Berjalan Sederhana dengan AVR (ATmega16)

LED berjalan atau running LED merupakan aplikasi sederhana elektronika khususnya penggunaan mikrokontroler. Aplikasi ini dapat dikatakan sebagai dasar dalam mempelajari mikrokontroler. Kita dapat membuat dengan program sederhana. (Baca juga: LED Berjalan Sederhana dengan AT89S52)

Langsung saja kita coba membuatnya. Pertama kita buat rangkaiannya seperti berikut.

Rangkaian LED dengan ATmega16 (klik untuk memperbesar)

Jika kita telah mempunyai rangkaiannya kita dapat membuat program LED berjalan sederhana ini dengan bahasa C. Program untuk meng-compile dapat menggunakan CVAVR.

Pengaturan CodeWizardAVR (klik untuk memperbesar)

Seperti biasa, buatlah proyek baru New File - Project - OK. Pada contoh ini digunakan ATmega16 dengan clock (Crystal) 11,059200 MHz. Sedangkan keluaran yang dugunakan adalah Port A, setelah itu Generate, Save and Exit. Pada program, jangan lupa menambahkan "#include<delay.h>" agar dapat memanfaatkan fasilitas delay untuk mengatur rentang waktu tiap eksekusi program dalam hal ini jarak waktu (lamanya) LED menyala.

Program sederhananya, kita dapat memasukkan program berikut pada editor atau di bawah "// Place your code here".

PORTA=0b01111110;
delay_ms(100);
PORTA=0b10111101;
delay_ms(100);
PORTA=0b11011011;
delay_ms(100);
PORTA=0b11100111;
delay_ms(100);
PORTA=0b00000000;
delay_ms(100);
PORTA=0b11100111;
delay_ms(100);
PORTA=0b11011011;
delay_ms(100);
PORTA=0b10111101;
delay_ms(100);
PORTA=0b01111110;
delay_ms(100);
PORTA=0b11111111;
delay_ms(100);

Program di atas menggunakan kode biner untuk mengatur nyala LED pada tiap port mikrokontroler. Berdasarkan rangkaian dan program, angka "1" menunjukkan LED menyala, sedangkan "0" LED dalam keadaan mati. Delay dalam satuan milisecond (delay_ms), dan angka dalam kurung adalah nilainya. Pada contoh di atas menunjukkan "delay_ms (100)" yang berarti jeda selama 100 milisecond atau 0,1 detik.


Download Skematik dan Program (.sch dan .c):
http://www.mediafire.com/?ga52gaiiwpjfgf9
atau
http://www.4shared.com/rar/Mejpzn1M/LED_ATmega16.html

Related Post:

17 comments:

  1. thanks nert bagus artikelnya so bisa bantu saya kerja tugas nih.
    lihat jga di blog sya sob
    klik di sini untuk berkunjung

    ReplyDelete
  2. boleh nanya gan? angka/huruf "0b" maksudnya apa tuh? dia berfungsi sebagai apa?

    ReplyDelete
  3. hasbullah..itu menunjukkan bilangan biner gan...

    ReplyDelete
  4. Baru buka, hehe. Terima kasih buat Afif yg sudah bantu menjawab. :D

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Terima kasih banyak atas tutorial yang sangat bagus ini

    ReplyDelete
  7. bagaimana caranya jika led yang dinyalakan lebih dari 8 led? semisal 16 led secara seri (direct) berurutan? mohon jawabanyya, terimakasih

    ReplyDelete
  8. komponen elektronika nya gak ada nilainya ya ? seperti resistor dll

    ReplyDelete
  9. ga ada program untuk dot matrix ya ?

    ReplyDelete
  10. Gan kalo buat running led yg nyala lednya dr ujung kanan kekiri smpek ketengah trus yg ujung kiri kekanan smpek ketngah barengan itu gimana?
    Maaf pemula

    ReplyDelete
:) :( ;) :D ;;-) :-/ :x :P :-* =(( :-O X( :7 B-) :-S #:-S 7:) :(( :)) :| /:) =)) O:-) :-B =; :-c :)] ~X( :-h :-t 8-7 I-) 8-| L-) :-a :-$ [-( :O) 8-} 2:-P (:| =P~ #-o =D7 :-SS @-) :^o :-w 7:P 2):) X_X :!! \m/ :-q :-bd ^#(^ :ar!