Showing posts with label elektronika. Show all posts
Showing posts with label elektronika. Show all posts

22 July, 2012

Running Text Atmega8


Pa kabar sob.,smoga sukses selalu.n_n
Oke kali ini ane mau share  seperti yang telah dijanjikan yaitu cara belajar membuat RUNNING TEXT menggunakan ATMEGA8.,Oke langsung aja ke TKP :

KOMPONEN-KOMPONEN :
* Atmega8
* IC 74HC259
* IC 74HC595 (jumlah sesuai panjang running text)
* IC ULN2003
* Led merah (warna bebas) disini ane pake hampir 450 led.,
* Projectboard (jumlah sesuai kebutuhan)
* Crystal 12MHz
* Capacitor 33 pF
* kabel,timah dll.


Atmega8


Info IC (74HC259)



 Info IC (74HC595)



 Info IC ULN2003



 Dan berikut skema rangkaian yang ane buat di Proteus :


Ni Programnya :

Silahkan Download disini

Terakhir ni hasil yang pernah ane buat.






Selamat mencoba.,trima kasih sudah berkunjung.,






02 June, 2012

DIGITAL CLOCK 7 SEGMENT


Salam jumpa lagi brolek, apa kabar semoga sehat selalu.
Seperti janji saya dulu untuk sharing cara membuat jam digital menggunakan microcontroller dengan tampilannya adalah seven segment. Jam digital yang ane buat menggunakan microcontroller AVR ATmega8, dengan tampilan seven segment common anoda dengan driver untuk seven segmentnya menggunakan IC HD74LS47. Jam digital yang ane buat tidak  dirangkai dalam pcb matrik tetapi pada projectboard dengan kabel jumper sebagai penghubung antar kaki komponen dengan alas an supaya ada kesan Artistik. He..he..heee

INFO IC (Fungsi HD74LS47)

Dekoder BCD ke seven segment digunakan untuk menerima masukan BCD 4-bit dan memberikan keluaran yang melewatkan arus melalui segmen untuk menampilkan angka desimal. Jenis dekoder BCD ke seven segmentdekoder yang berfungsi untuk menyalakan seven segment mode common anoda dan dekoder yang berfungsi untuk menyalakan seven segment mode common katoda. ada dua macam yaitu IC 74LS47 merupakan dekoder BCD ke seven segment yang berfungsi untuk menyalakan sevent segment mode common anode. Berikut Gambar dan konfigurasi kaki-kaki IC yang digunakan (Atmega8,HD74LS47).



                                                             HD74LS47



7 SEGMENT


Skema rangkaian (proteus) :



 klik dan save gambar untuk jelasnya.

dah untuk program dibuat menggunakan CodeVisionAVR 4.17 berikut ini programnya :

/*****************************************************
 Chip type          : ATmega8
Program type        : Application
Clock frequency     : 11.059200 MHz
Memory model        : Small
External RAM size   : 0
Data Stack size     : 256

PROGRAMMER By :

KABUL BUDIONO, cST
ELECTRICAL ENGINERING
SRIWIJAYA UNIVERSITY
*****************************************************/
#include
#include

//variabel global
bit fl_timer;
unsigned int cnt=0, cnt_jam=0, kali=0;

// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer 1 value
TCNT1H=0xEA;
TCNT1L=0xE8;
// Place your code here
        if(fl_timer==1)
        {
            PORTB.4=1;
            fl_timer=0;
        }
        else 
        {
            PORTB.4=0;
            fl_timer=1;
        }
        kali++;
        switch (kali)
        {case 120:  //...1 menit
        // if(kali==10)
            {
                cnt=cnt+1;
                switch (cnt)
                {
                case 0:PORTD=0x00;break;case 1:PORTD=0x01;break;case 2:PORTD=0x02;break;case 3:PORTD=0x03;break;case 4:PORTD=0x04;break;
                case 5:PORTD=0x05;break;case 6:PORTD=0x06;break;case 7:PORTD=0x07;break;case 8:PORTD=0x08;break;case 9:PORTD=0x09;break;
                case 10:PORTD=0x10;break;case 11:PORTD=0x11;break;case 12:PORTD=0x12;break;case 13:PORTD=0x13;break;case 14:PORTD=0x14;break;
                case 15:PORTD=0x15;break;case 16:PORTD=0x16;break;case 17:PORTD=0x17;break;case 18:PORTD=0x18;break;case 19:PORTD=0x19;break;
                case 20:PORTD=0x20;break;case 21:PORTD=0x21;break;case 22:PORTD=0x22;break;case 23:PORTD=0x23;break;case 24:PORTD=0x24;break;
                case 25:PORTD=0x25;break;case 26:PORTD=0x26;break;case 27:PORTD=0x27;break;case 28:PORTD=0x28;break;case 29:PORTD=0x29;break;
                case 30:PORTD=0x30;break;case 31:PORTD=0x31;break;case 32:PORTD=0x32;break;case 33:PORTD=0x33;break;case 34:PORTD=0x34;break;
                case 35:PORTD=0x35;break;case 36:PORTD=0x36;break;case 37:PORTD=0x37;break;case 38:PORTD=0x38;break;case 39:PORTD=0x39;break;
                case 40:PORTD=0x40;break;case 41:PORTD=0x41;break;case 42:PORTD=0x42;break;case 43:PORTD=0x43;break;case 44:PORTD=0x44;break;
                case 45:PORTD=0x45;break;case 46:PORTD=0x46;break;case 47:PORTD=0x47;break;case 48:PORTD=0x48;break;case 49:PORTD=0x49;break;
                case 50:PORTD=0x50;break;case 51:PORTD=0x51;break;case 52:PORTD=0x52;break;case 53:PORTD=0x53;break;case 54:PORTD=0x54;break;
                case 55:PORTD=0x55;break;case 56:PORTD=0x56;break;case 57:PORTD=0x57;break;case 58:PORTD=0x58;break;case 59:PORTD=0x59;break;
                case 60:
                PORTD=0x00;
                cnt=0;
                cnt_jam=cnt_jam+1;;
                    switch (cnt_jam)
                    {
                    case 0:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 1:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
                    case 2:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 3:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 4:PORTC.0=0;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
                    case 5:PORTC.0=1;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 6:PORTC.0=0;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 7:PORTC.0=1;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 8:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 9:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
                    case 10:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 11:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
                    case 12:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 13:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 14:PORTC.0=0;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
                    case 15:PORTC.0=1;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 16:PORTC.0=0;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
                    case 17:PORTC.0=1;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 18:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
                    case 19:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
                    case 20:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;  
                    case 21:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;   
                    case 22:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break; 
                    case 23:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;  
                    case 24:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;cnt_jam=0;break;
               
                    }
               
                break;
           
                } 
       
            }
        kali=0;break;  }
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out
// State6=P State5=P State4=P State3=0 State2=0 State1=0 State0=0
PORTC=0x70;
DDRC=0x0F;

// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 10.800 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0xEA;
TCNT1L=0xE8;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x04;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here
      if(PINC.4==0)
        {
        cnt=cnt+1;
        delay_ms(200);
        switch (cnt)
            {
            case 0:PORTD=0x00;break;case 1:PORTD=0x01;break;case 2:PORTD=0x02;break;case 3:PORTD=0x03;break;case 4:PORTD=0x04;break;
            case 5:PORTD=0x05;break;case 6:PORTD=0x06;break;case 7:PORTD=0x07;break;case 8:PORTD=0x08;break;case 9:PORTD=0x09;break;
            case 10:PORTD=0x10;break;case 11:PORTD=0x11;break;case 12:PORTD=0x12;break;case 13:PORTD=0x13;break;case 14:PORTD=0x14;break;
            case 15:PORTD=0x15;break;case 16:PORTD=0x16;break;case 17:PORTD=0x17;break;case 18:PORTD=0x18;break;case 19:PORTD=0x19;break;
            case 20:PORTD=0x20;break;case 21:PORTD=0x21;break;case 22:PORTD=0x22;break;case 23:PORTD=0x23;break;case 24:PORTD=0x24;break;
            case 25:PORTD=0x25;break;case 26:PORTD=0x26;break;case 27:PORTD=0x27;break;case 28:PORTD=0x28;break;case 29:PORTD=0x29;break;
            case 30:PORTD=0x30;break;case 31:PORTD=0x31;break;case 32:PORTD=0x32;break;case 33:PORTD=0x33;break;case 34:PORTD=0x34;break;
            case 35:PORTD=0x35;break;case 36:PORTD=0x36;break;case 37:PORTD=0x37;break;case 38:PORTD=0x38;break;case 39:PORTD=0x39;break;
            case 40:PORTD=0x40;break;case 41:PORTD=0x41;break;case 42:PORTD=0x42;break;case 43:PORTD=0x43;break;case 44:PORTD=0x44;break;
            case 45:PORTD=0x45;break;case 46:PORTD=0x46;break;case 47:PORTD=0x47;break;case 48:PORTD=0x48;break;case 49:PORTD=0x49;break;
            case 50:PORTD=0x50;break;case 51:PORTD=0x51;break;case 52:PORTD=0x52;break;case 53:PORTD=0x53;break;case 54:PORTD=0x54;break;
            case 55:PORTD=0x55;break;case 56:PORTD=0x56;break;case 57:PORTD=0x57;break;case 58:PORTD=0x58;break;case 59:PORTD=0x59;break;
            case 60:PORTD=0x00;cnt=0;break;
            }
        }
      if(PINC.5==0)
        {
        cnt_jam=cnt_jam+1;
        delay_ms(200);
        switch (cnt_jam)
            {
            case 0:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 1:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
            case 2:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 3:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 4:PORTC.0=0;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
            case 5:PORTC.0=1;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 6:PORTC.0=0;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 7:PORTC.0=1;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 8:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 9:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
            case 10:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 11:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;   
            case 12:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 13:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 14:PORTC.0=0;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
            case 15:PORTC.0=1;PORTC.1=0;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 16:PORTC.0=0;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;  
            case 17:PORTC.0=1;PORTC.1=1;PORTC.2=1;PORTC.3=0;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 18:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break; 
            case 19:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=1;PORTB.0=1;PORTB.1=0;PORTB.2=0;PORTB.3=0;break;
            case 20:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;  
            case 21:PORTC.0=1;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;   
            case 22:PORTC.0=0;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break; 
            case 23:PORTC.0=1;PORTC.1=1;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=1;PORTB.2=0;PORTB.3=0;break;  
            case 24:PORTC.0=0;PORTC.1=0;PORTC.2=0;PORTC.3=0;PORTB.0=0;PORTB.1=0;PORTB.2=0;PORTB.3=0;cnt_jam=0;break;
            }
        }
      };
}
 

 *********************************************************************************
Terakhir ini adalah digital clock yang pernah ane buat :



dan ini yang dah jalan & ane pasang di dinding depan meja belajar.., lumayan ada jam hasil karya sendiri.

Demikian sharing pagi ini semoga bermanfaat..,


Jangan lupa komentar & Sarannya yang membangun...n_n


 sumber : qabullab's

16 May, 2012

POWER SUPPLY ADJUSTABLE


 mumpung lgi ada waktu sharing.,he he he
OK brolek (brother electronic) siang hari ni ane mo share cara buat power supply adjustable ALIAS power supply yg bisa disetel tegangan keluarannya. Ini berguna untuk supply suatu rangkaian yang mungkin membutuhkan supply konstan alias gak boleh brubah sdikitpun tegangan inputnya karena dapat merusak rangkaian.

OK kayaknya dah bnyak basa-basinya langsuan aja ke TKP :
Komponen-komponen :
  • -          Trafo (ukuran sesuai selera)
  • -          Diode bridge (ane ganti pake 2 dioda 4007 di paralel)
  • -          Capacitor 2200uF, 1uF 2bh (lihat rangkaian)
  • -          IC regulator LM317 (power adj) + Heatsink
  • -          Potensiometer 100K
  • -          Resistor 220
  • - kabel secukupnya
  •  PCB matrik

Skema Rangkaian  :



keterangan :



Jika ingin membuat dengan output maksimal 25V maka rangkaian harus dihubungkan dengan output trafo diatas tegangan ini (+26V). jangan lupa untuk menambahkan heatsink pada LM317 yg berfungsi membuang panas, dikarenakan sebagian tegangan yg tidak dibutuhkan akan diubah dalam bentuk panas. ini artinya semakin kecil tegangan yang kita perlukan akan semakin bnyak tengangan yang dibuang oleh LM317 yg tentunya IC Regulator ini menjadi lebih panas.

pengujian tegangan terendah yaitu 1.55 volt


pengujian tegangan tertinggi (maksimum) 17.25 volt




         demikian ane share apa yang pernah ane buat smoga bermanfaat, jika ada pertanyaan atau uneg2 silahkan komentar demi kmajuan bersama.  SELAMAT MENCOBA....