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.
Jika kita telah mempunyai rangkaiannya kita dapat membuat program LED berjalan sederhana ini dengan bahasa C. Program untuk meng-compile dapat menggunakan CVAVR.
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".
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.
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);
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):
Nice share bro...
ReplyDeletethanks nert bagus artikelnya so bisa bantu saya kerja tugas nih.
ReplyDeletelihat jga di blog sya sob
klik di sini untuk berkunjung
boleh nanya gan? angka/huruf "0b" maksudnya apa tuh? dia berfungsi sebagai apa?
ReplyDeletehasbullah..itu menunjukkan bilangan biner gan...
ReplyDeleteoh iya makasih, masih belajar
DeleteBaru buka, hehe. Terima kasih buat Afif yg sudah bantu menjawab. :D
ReplyDeleteThis comment has been removed by the author.
ReplyDeletenice share gan :-bd
ReplyDeleteTerima kasih, semoga manfaat... :D
DeleteTerima kasih banyak atas tutorial yang sangat bagus ini
ReplyDeletebagaimana caranya jika led yang dinyalakan lebih dari 8 led? semisal 16 led secara seri (direct) berurutan? mohon jawabanyya, terimakasih
ReplyDeletekomponen elektronika nya gak ada nilainya ya ? seperti resistor dll
ReplyDeleteItu dia otomatis looping kak?
ReplyDeleteItu dia otomatis looping kak?
ReplyDeletega ada program untuk dot matrix ya ?
ReplyDeleteGan kalo buat running led yg nyala lednya dr ujung kanan kekiri smpek ketengah trus yg ujung kiri kekanan smpek ketngah barengan itu gimana?
ReplyDeleteMaaf pemula
eo lampung
ReplyDelete