Thursday, October 15, 2015

belajar membuat animasi led dengan mikrocontroller atmega

menjawab pertanyaan bagaimana cara membuat animasi led yg bervariasi nyalanya, yang tidak hanya sekedar running LED ?
sebelum membaca lebih jauh tentang animasi LED anda harus punya minisys board mikrocontroller.
saya disini memakai atmega8.. bisa juga pakai atmega16 atau atmega32 terserah mana yang kamu suka.
gambarnya minisys atmega8 banyak di internet.

...
Sudah siap? ini resepnya :
1. Minisys board ATmega8
2. USPasp downloader untuk mentranfer hex files ke minisys
3 modul LED 8 bit (bisa bikin sendiri, diseri 330 ohm ke gnd)


setelah dikumpulkan bahan bahannya buka laptop anda, pasang usbasp.
ketik coding dibawah ini, klo ada salahnya ya mohon maaf, silahkan di koreksi sendiri
lalu compile, jadi file hex upload menggunakan khazama ke minisys.
selamat menikmati

Ini codingnya :

//========================================
// animasi LED di PORTA
//=========================================
#include F_CPU 1000000  // set freq internal 1 Mhz
#include util/delay.h  //file pustaka yg didalamnya ada fungsi/perintah DELAY 
#define PORTLED PORTB //penentuan alias untuk PORTB
#define DDRLED DDRB //penentuan alias untuk DDRB

int main (void)
{
 unsigned char temp=0x80;   // data untuk LED
 DDRLED=0xFF;    // PORT sebagai luaran
 while(1){
  PORTLED=temp;   //tulis ke port
  _delay_ms(250);   //lakukan penundaan sesaat
  temp=(temp<<7)|(temp>>1);}  //ROR dalam bahasa C
 return(0);
}


blum bikin.. but i would like to say thankyou to Mr. Agfi ... here his blog :
ref :
http://agfi.staff.ugm.ac.id/blog/index.php/2010/03/animasi-led-mikrokontroler-atmega32-dengan-assembly-dan-c/
#define F_CPU 11059200 //nilai xtal yang digunakan
    #include "avr/io.h"
    #include "util/delay.h"
    #define led PORTB
     
    //Sub rutin init_devices()
    void init_devices()
    {
     DDRB=255; //PORTB sebagai output
    }
     
    //Program utama
    int main()
    {
     init_devices();
     
     //Lakukan pengulangan terus menerus
     for(;;)
     {
      led=255; //nyalakan semua led di portb
      _delay_ms(1000); //delay 1 detik
      led=0; //matikan semua led
      _delay_ms(1000); //delay 1 detik
     
     }
    }

sumber : http://havizul.blogspot.co.id/2014/03/blog-post.html

dicari layout PCB ...untuk aku tempel di blog aku ini.. hayo teman teman yg punya desain silahkan komentar. nanti aku kliping desain kamu.

No comments:

Post a Comment