Jumat, 13 Desember 2013

Membuat Program Running LED (Fungsi Output).



Salam hangat kawan para pendekar solder, lama sudah kita tidak sharing lewat coretan –coretan postingan les elektronika. Kangen juga rasanya, walau rasa kangen sedikit terobati dengan sharing lewat kolom komentar, e-mail  maupun watsup dari kawan para pendekar solder.
Kawan kali ini kita akan mencoba melanjutakan pembahasan dalam kolom tutorial yaitu tentang bagai mana membuat running LED dengan logika pemograman sederhana. Mungkin tutorial ini sangat simple dan bagi mayoritas kawan pendekar solder sudah pada mengerti, tetapi tidak ada salahnya kalau saya mencoba share lagi disini, semoga dapat menambah pengetahuan baru.
Sebelum melanjutkan bacanya mungkin bagi kawan yang belum mengerti fungsi output silahkan baca dulu postingan sebelumnya Menggunakan Fasilitas Output Mikrokontoller ATmega16 “ agar lebih mudah memahami postingan ini. Karena disini saya tidak akan membahas lagi cara seting code wizardnya.
Running LED atau LED berjalan adalah sebuah program untuk menyalakan led secara bergantian dengan teratur. Misalkan kita memiliki 7 buah led dan akan dinyalakan satu persatu bergatian. Untuk cara program simplenya seperti berikut:
Jika LED Berada di PORTC dan Rangkaian yang digunakan Aktif LOW (bagi yang belum mengerti silahkan baca Fungsi Input dan Output Mikrokontroller).
Program yang akan kita buat yaitu menyalakan LED bergantian satu persatu seolah-olah LED berjalan. Programnya seperti ini:
Kondisi 1:
PORTC=0b11111110; à Led yang berada di PORTC.0 akan menyala dan yang lainya akan mati.
delay_ms(100); à memberikan fungsi delay/jeda saat menyalakan kondisi 1.
 Kondisi 2:
PORTC=0b11111101; Led yang berada di PORTC.1 akan menyala dan yang lainya akan mati.
delay_ms(100); // memberikan fungsi delay/jeda saat menyalakan kondisi 1.
Kondisi 3:
PORTC=0b11111011; // Led yang berada di PORTC.2 akan menyala dan yang lainya akan mati.
delay_ms(100); // memberikan fungsi delay/jeda saat menyalakan kondisi 1.
Dan seterusnya saya kira temen- temen mengertikan, he… semoga saja.
 Jika dilihat dari program diatas yang membedakan mati atau nyalanya LED yaitu 1 dan 0, 1 = Mati dan 0 = Nyala ( karena kita menggukan fungsi output aktif Low).
Untuk Skematik seperti ini.
Gambar: Skematik Running LED Aktif LOW

Untuk Listting Programnya Seperti Berikut:
#include
#include

void main(void)
{
// Port C initialization
DDRC=(1<
PORTC=(1<
while (1)
      {
      // Place your code here
      PORTC=0b11111110;
      delay_ms(500);
     
     PORTC=0b11111101;
      delay_ms(500);
     
      PORTC=0b11111011;
      delay_ms(500);
     
      PORTC=0b11110111;
      delay_ms(500);
                 
      PORTC=0b11101111;
      delay_ms(500);
     
      PORTC=0b11011111;
      delay_ms(500);
     
      PORTC=0b10111111;
      delay_ms(500);
     
      PORTC=0b01111111;
      delay_ms(500);
     
      }
}

 Keterangan:
menggunakan logika program seperti ini sangat mudah dalam pembuatan program tetapi boros dalam pemanfatan memori. saya berharap kita belajar untuk menghindari program seperti ini karena jika digabungkan dalam program yang kompleks akan sangat menghabiskan space memori. Lalu bagaimana program yang seharusnya insyaallah akan kita bahas di postingan selanjutnya.
Semoga bermanfaat.

8 komentar:

  1. saya biasanya pake shift reg mas

    BalasHapus
  2. mas tolong cara memasukan crack codevision avr 2.05.0.bagaimana mas ?
    terima kasih.

    BalasHapus
    Balasan
    1. untuk caranya silahkan baca tutorial saya sebelumnya kang terimakasih...
      semoga bisa terbantu.
      http://leselektronika.blogspot.com/2012/07/alhamdulillah-kawan-akhirnya-saya-bisa.html

      Hapus
    2. terima kasih mas atas bantuannya

      Hapus
    3. sama - sama kang, semoga ilmunya bermanfaat.

      Hapus
  3. Gan, codingnya tdk ada library nya ya ?

    BalasHapus
    Balasan
    1. ada, cuman di blog tidak bisa tampil (kehapus otomatis), untuk program lengkapnya silahkan download aja teh felisyia.. semoga bisa terbantu..

      Hapus

Silahkan tinggalkan komentar kawan - kawan, baik berupa pertanyaan ataupun saran yang sifatnya membangun. komentar kawan - kawan sangat berharga untuk kemajuan blog ini. kalau bisa mohon hindari penggunaan Anonim. Semoga bermanfaat untuk kita semua...
Terimakasih....