"Kembali Ke Dasar Elektronika Digital ... "

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Animasi LED Dengan IC 4017

    IC 4017 adalah IC 16-pin CMOS dekade counter dari seri IC CMOS 4000. Sangat berguna jika ingin membuat animasi lampu atau LED secara sederhana seperti led berjalan, tulisan berjalan , counter/timer dan masih banyak kegunaan lainnya

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • BIKIN PCB SEDERHANA TAPI GA MURAHAN

    Bikin PCB itu ga susah kok..dengan software EAGLE CAD dan teknik sterika kamu dapat membuat PCB untuk berbagai project elektronika mu ...

Tampilkan postingan dengan label led. Tampilkan semua postingan
Tampilkan postingan dengan label led. Tampilkan semua postingan

Jumat, 21 Juni 2013

Tutorial: Text berjalan 3 Led Matrix




REVISI


Setelah beberapa pembaca mengeluh karena ga bisa jalan itu script...dan saya juga bingung dibuatnya, akhirnya terdeteksi bahwa saya menggunakan script dengan ARRAY yang melebihi RAM seperti gambar berikut ini :



JADI MOHON DIMAAFKAN !!



Atas permintaan seorang pembaca blog dengan id kaskus sn0bi, kali ini kita akan bahas perancangan 3 LED MATRIX yang menggunakan ATMega 8535. Sebenernya ini adalah perpanjangan dari project LOVE HURT yang hanya menggunakan 1 buat Led Matrix. Untuk mengurangi jumlah komponen yang dipakai, maka ukuran led matrix jangan melebihi dari 2" (inch) . Untuk dapat dirancang diatas breadboard / projectboard dipilihlah led matrix berukuran 1 inch.

Bahan-bahan dan skematiknya seperti berikut ini :

klik untuk memperjelas
*) catatan : perhatikan port ISP yg digunakan 6 pin..sesuaikan dengan yg kamu gunakan



Dari skematik diatas dapat dijelaskan bahwa ATMEGA8535 menggunakan clock internal / default 1MHz dan dot/led matrix diparalel dibagian baris. Untuk scanning kolom digunakan portD 0-7 dan portC 0-6. Sebenarnya kalo dilihat dari gambar diatas, kaki-kaki ATMega masih cukup untuk 1 buah led matrix (tinggal penyesuaian di script nya saja). Scanning cukup dilakukan dengan menggeser bit (active low) dari kiri ke kanan. Secara lengkap scriptnya seperti berikut :

#define F_CPU 1000000UL //ubah sesuai clock micro
#include <avr/io.h>
#include <util/delay.h>
#include <avr/eeprom.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h> 
#include <string.h>

#define cepat 8  //ubah ini untuk mengatur kecepatan scroll

//UPDATED JUNE 9 2014 ...www.aisi555.com ....

const char textset[] PROGMEM  = 
{0x30, 0x4a, 0x4a, 0x4a, 0x7c,//a
0x7f, 0x28, 0x44, 0x44, 0x38,//b
0x80, 0x38, 0x44, 0x44, 0x44,//c
0x38, 0x44, 0x44, 0x28, 0x7f,//d
0x38, 0x54, 0x54, 0x54, 0x18,//e
0x08, 0x7e, 0x09, 0x09, 0x02,//f
0x08, 0x54, 0x54, 0x54, 0x3c,//g
0x7f, 0x08, 0x04, 0x04, 0x78,//h
0x80, 0x44, 0x7d, 0x40, 0x80,//i
0x20, 0x40, 0x44, 0x3d, 0x80,//j 
0x80, 0x7f, 0x18, 0x24, 0x42,//k
0x80, 0x41, 0x7f, 0x40, 0x80,//l
0x7c, 0x04, 0x78, 0x04, 0x78,//m
0x7c, 0x08, 0x04, 0x04, 0x78,//n
0x38, 0x44, 0x44, 0x44, 0x38,//o
0x7c, 0x14, 0x14, 0x14, 0x08,//p
0x08, 0x14, 0x14, 0x14, 0x7c,//q
0x7c, 0x08, 0x04, 0x04, 0x08,//r
0x48, 0x54, 0x54, 0x54, 0x24,//s
0x80, 0x04, 0x3f, 0x44, 0x44,//t
0x3c, 0x40, 0x40, 0x20, 0x7c,//u
0x1c, 0x20, 0x40, 0x20, 0x1c,//v
0x3c, 0x40, 0x30, 0x40, 0x3c,//w
0x44, 0x28, 0x10, 0x28, 0x44,//x
0x0c, 0x50, 0x50, 0x50, 0x3c,//y
0x44, 0x64, 0x54, 0x4c, 0x44,//z
0x3e, 0x51, 0x49, 0x45, 0x3e, //0
0x80, 0x42, 0x7f, 0x40, 0x80, //1
0x42, 0x61, 0x51, 0x49, 0x46, //2
0x41, 0x41, 0x45, 0x4b, 0x31, //3
0x18, 0x14, 0x12, 0x7f, 0x10, //4
0x27, 0x45, 0x45, 0x45, 0x39, //5
0x3c, 0x4a, 0x49, 0x49, 0x31, //6
0x01, 0x71, 0x09, 0x05, 0x03, //7
0x36, 0x49, 0x49, 0x49, 0x36, //8
0x06, 0x49, 0x49, 0x29, 0x1e, //9
0x7e, 0x11, 0x11, 0x11, 0x7e, //A
0x7f, 0x49, 0x49, 0x49, 0x36, //B
0x3e, 0x41, 0x41, 0x41, 0x22, //C
0x7f, 0x41, 0x41, 0x22, 0x1c, //D
0x7f, 0x49, 0x49, 0x49, 0x41, //E
0x7f, 0x09, 0x09, 0x09, 0x01, //F
0x3e, 0x41, 0x49, 0x49, 0x7a, //G
0x7f, 0x08, 0x08, 0x08, 0x7f, //H
0x80, 0x41, 0x7f, 0x41, 0x80,//I
0x20, 0x40, 0x41, 0x3f, 0x01, //J
0x7f, 0x08, 0x14, 0x22, 0x41, //K
0x7f, 0x40, 0x40, 0x40, 0x40, //L
0x7f, 0x02, 0x04, 0x02, 0x7f, //M
0x7f, 0x04, 0x08, 0x10, 0x7f, //N
0x3e, 0x41, 0x41, 0x41, 0x3e, //O
0x7f, 0x11, 0x11, 0x11, 0x0e, //P
0x3e, 0x41, 0x51, 0x21, 0x5e, //Q
0x7f, 0x09, 0x19, 0x29, 0x46, //R
0x46, 0x49, 0x49, 0x49, 0x31, //S
0x01, 0x01, 0x7f, 0x01, 0x01, //T
0x3f, 0x40, 0x40, 0x40, 0x3f, //U
0x1f, 0x20, 0x40, 0x20, 0x1f, //V
0x3f, 0x40, 0x38, 0x40, 0x3f, //W
0x63, 0x14, 0x08, 0x14, 0x63, //X
0x07, 0x08, 0x70, 0x08, 0x07, //Y
0x61, 0x51, 0x49, 0x45, 0x43, //Z
0x80, 0x80, 0x80};//""


const char textreal[] PROGMEM= { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' ' } ;


char blk = 0x80;
char fulltext[17] ; 
char scrolltext[500];//panjang kalimat 300 dibagi 6 (5 kolom + 1pembatas)
//UBAH besar ARRAY scroltext[XXX] sesuaikan besar RAM IC yg dipakai..
char textnya[] = "3 Led Matrix ATMega8535 AHOCOOL SurabayA 2013";


void cleartext(void)  // MEMBERSIHKAN datanya menjadi kosong
{  uint8_t i;

      
   for(i=0 ; i <20 ; i++)
     { fulltext[i] = 0 ; }  

}


void convert_text(char *texte)
{

uint8_t a,b,max_text;
int c,d;

char dummy[1];

max_text=strlen(texte);

for(a=0 ; a<max_text; a++)

  {    
      for(b=0;b<65;b++)  // maximum jumlah definisi text di database array
     
   {
            strncpy_P(dummy,&textreal[b],1);
         
   if ( texte[a] == dummy[0]) break; 

   }
      
        d=b*5;          
      
      if(dummy[0] != ' ') for(c=d; c<d+5; c++) strncat_P(scrolltext,&textset[c],1); //spasi
      else  for(c=d; c<d+3; c++) strncat_P(scrolltext,&textset[c],1);
      
   strncat(scrolltext,&blk,1);
  }

}


void tulis_text(void)
{
uint8_t a;
int b,speed;

a=0;
speed=5;//UBAH NILAI speed sesuai keinginan dan kedip led


 
 while(a<16)

  {
 
 
for(b=0;b<speed;b++ ) 
{
    
 if(a<8 ) 
 
 {
    
 
 PORTD = ~(1<<a) ;
 PORTC =0b11111111;

 }
  
  else
 {
    
    PORTC = ~(1<<(a-8)) ;
 PORTD =0b11111111;
 
 }

 PORTA=fulltext[a];
 _delay_us(60);   

    PORTA=0x80;  //biar tidak berbayang


  }



 a++;
  } 


   
  }


void scrol(char *scrtxt)
{  uint8_t q,r,step =0;
   int maxstep;

    maxstep = (strlen(scrtxt) * 6) ;
   
    convert_text(scrtxt);
     

  while(step < ( maxstep + 30)   )
   {
  if(step < 15)
       {
        
     for(q=0; q <(16-step) ; q++ )       
               
  {   fulltext[q]= 0x80;      }
  
     for(q=(15-step); q <16 ; q++ )       
  {   fulltext[q]=scrolltext[q - 15 + step];    }
            
 for(r=0;r<cepat;r++) tulis_text(); 


  }  
       

  else if( step > (maxstep + 15 ) )
     {


     for(q=0; q <(maxstep + 30 - step) ; q++ )       
  {   fulltext[q]=scrolltext[step -15 + q];    }

  for(q=(maxstep + 30 - step); q <16 ; q++ )       
               
  {   fulltext[q]= 0x80;      }
          
        for(r=0;r<cepat;r++) tulis_text();   
        }


    else
 {

     for(q=0; q <16 ; q++ )       
  {   
  
  fulltext[q]=scrolltext[q + step -15];   
  
   }
            
  for(r=0;r<cepat;r++) tulis_text();  


  }  
      

 
 
  
      
   step++;
 
 
   }




}


int main(void)
{
 //bagian ini sesuaikan dengan port micro yg kamu gunakan
  DDRA = 0b11111111; // portA = data text dot matrix
  DDRC = 0b11111111; //scanning kolom
  DDRD = 0b11111111; //scanning kolom
  
  

 while(1)
  {
     scrol(textnya);  
     cleartext();


  }



 
 

 
return 0;
}

proses geser-geser yang terpenting adalah bagian berikut :

Scanning kolom  :

void tulis_text(void)
{
uint8_t a;
int b,speed;

a=0;
speed=20;//UBAH NILAI speed sesuai keinginan

while(a<16)
  {
  
for(b=0;b<speed;b++ ) 
{
if(a<8 ) 
{
PORTD = ~(1<<a) ;
PORTC =0b11111111;

}
  else
{  
 PORTC = ~(1<<(a-8)) ;
PORTD =0b11111111;
}
PORTA=fulltext[a];
_delay_us(300);   

    PORTA=0x80;  //biar tidak berbayang
  }

a++;

}


Dari script scanning  diatas dapat dilihat script   PORTD = ~(1<<a) ; yang berfungsi untuk menegasi pergeseran bit 1 menjadi active low. Jika menggunakan 4 buah matrix maka dialkukan penyesuaian kondisi if ketika port nya loncat ke seri port yg berbeda.


Geser Kiri :

void scrol(char *scrtxt)
{  int q,step =0;
   int maxstep;

  maxstep = (strlen(scrtxt) * 6) ;
convert_text(scrtxt); 

  while(step < ( maxstep + 30)   )  //30 = 15 awal + 15 akhir 
   {
if(step < 15)   //start awal
       {
    
   for(q=0; q <(16-step) ; q++ )   
               
{   fulltext[q]= 0x80;      }
   for(q=(15-step); q <16 ; q++ )   
{   fulltext[q]=scrolltext[q - 15 + step];  }
tulis_text(); 
}  
else if( step > (maxstep + 15 ) )    //akhir kalimat
   {
   for(q=0; q <(maxstep + 30 - step) ; q++ )   
{   fulltext[q]=scrolltext[step -15 + q];  }

for(q=(maxstep + 30 - step); q <16 ; q++ )   
               
{   fulltext[q]= 0x80;      }       
      tulis_text();
        }
    else
{

   for(q=0; q <16 ; q++ )   
{   
fulltext[q]=scrolltext[q + step -15]; // ditengah-tengah 
}         
tulis_text(); 
}  
 step++;

   }
}


Bagian terpenting adalah ketika memberikan efek kosong pada awal dan akhir dari urutan kalimat. Variable "maxstep" merupakanjumlah step scanning kolom maksimum dari kalimat, sedangkan variable "step" adalah langkah pergeseran. Untuk 3 buah matrix maka terdapat 15 step scanning kolom pada setiap kali penampilan huruf di matrix. Jadi jika menggunakan 4 matrix cukup merubah unsur penghitungan kolom yang ditampilkan saja (step = 20). Untuk geser atas atau animasi lainnya dapat dikreasikan dari project love hurt.

Hasil dari project ini yang dilakukan rekan sn0bi dari makasar seperti pada video berikut :




seperti biasa, jika ingin membeli bahan-bahannya bisa lewat aku, atau paket belajarnya di "custom" dengan 3 led matrix ? bisa...harga nego via contact aku ya...

SELAMAT MENCOBA
Share:

Jumat, 07 Juni 2013

Tutorial: POV TEXT Sederhana



Yang mau belajar tentang POV... nih ane share, tapi yang model paling sederhana dulu ya...
Jadi startnya masih ngaco karena ga ada semacam sensor penanda posisi motor
tapi lumayan lah buat start pemula....

Sebelumnya kita perlu tau prinsip POV,sebenernya sama dengan prinsip scanning led matrix, dimana tiap byte dari baris dikeluarkan satu persatu berdasarkan periode waktu. Karena led ini bergerak (dalam hal ini berputar) maka kelembaman mata akan menyebabkan efek terlihatnya teks. Seperti pada video berikut ini :






Video diatas merupakan dasar POV yang cukup sederhana yang tidak memiliki sensor penanda awal posisi motor dan deretan led, sehingga efek yang muncul adalah tulisan yang tidak diam alias ikut muter. Sensor yang mungkin dipakai adalah Opto sensor atau magnetic-hall efect sensor. Sensor ini nantinya akan mentrigger interupt yang akan menandai titik referensi awal dari motor.


0307feat2fig1.gif (410×433)



Hall_sensor_tach.gif (274×204)
Sensor Opto dan Magnetic (Hall Effect)





skematiknya ini ya ...



scriptnya ga jauh beda dengan praktek LOVEHURT kok ...


#define F_CPU 1000000UL

#include <avr/io.h>

#include <util/delay.h>

#include <avr/eeprom.h>

#include <inttypes.h>

#include <avr/interrupt.h>

#include <avr/pgmspace.h> 

#include <string.h>



//database Huruf

const char h_A[5] PROGMEM = {0x7e, 0x11, 0x11, 0x11, 0x7e}; //A

const char h_B[5] PROGMEM = {0x7f, 0x49, 0x49, 0x49, 0x36}; //B

const char h_C[5] PROGMEM = {0x3e, 0x41, 0x41, 0x41, 0x22}; //C

const char h_D[5] PROGMEM = {0x7f, 0x41, 0x41, 0x22, 0x1c}; //D

const char h_E[5] PROGMEM = {0x7f, 0x49, 0x49, 0x49, 0x41}; //E

const char h_F[5] PROGMEM = {0x7f, 0x09, 0x09, 0x09, 0x01}; //F

const char h_G[5] PROGMEM = {0x3e, 0x41, 0x49, 0x49, 0x7a}; //G

const char h_H[5] PROGMEM = {0x7f, 0x08, 0x08, 0x08, 0x7f}; //H

const char h_I[5] PROGMEM = {0x80, 0x41, 0x7f, 0x41, 0x80};//I

const char h_J[5] PROGMEM = {0x20, 0x40, 0x41, 0x3f, 0x01}; //J

const char h_K[5] PROGMEM = {0x7f, 0x08, 0x14, 0x22, 0x41}; //K

const char h_L[5] PROGMEM = {0x7f, 0x40, 0x40, 0x40, 0x40}; //L

const char h_M[5] PROGMEM = {0x7f, 0x02, 0x04, 0x02, 0x7f}; //M

const char h_N[5] PROGMEM = {0x7f, 0x04, 0x08, 0x10, 0x7f}; //N

const char h_O[5] PROGMEM = {0x3e, 0x41, 0x41, 0x41, 0x3e}; //O

const char h_P[5] PROGMEM = {0x7f, 0x11, 0x11, 0x11, 0x0e}; //P

const char h_Q[5] PROGMEM = {0x3e, 0x41, 0x51, 0x21, 0x5e}; //Q

const char h_R[5] PROGMEM = {0x7f, 0x09, 0x19, 0x29, 0x46}; //R

const char h_S[5] PROGMEM = {0x46, 0x49, 0x49, 0x49, 0x31}; //S

const char h_T[5] PROGMEM = {0x01, 0x01, 0x7f, 0x01, 0x01}; //T

const char h_U[5] PROGMEM = {0x3f, 0x40, 0x40, 0x40, 0x3f}; //U

const char h_V[5] PROGMEM = {0x1f, 0x20, 0x40, 0x20, 0x1f}; //V

const char h_W[5] PROGMEM = {0x3f, 0x40, 0x38, 0x40, 0x3f}; //W

const char h_X[5] PROGMEM = {0x63, 0x14, 0x08, 0x14, 0x63}; //X

const char h_Y[5] PROGMEM = {0x07, 0x08, 0x70, 0x08, 0x07}; //Y

const char h_Z[5] PROGMEM = {0x61, 0x51, 0x49, 0x45, 0x43}; //Z

const char h_27[5] PROGMEM = {0x32, 0x49, 0x79, 0x41, 0x3f}; //@

const char h_28[5] PROGMEM = {0x02, 0x01, 0x51, 0x09, 0x06}; //?

const char h_29[5] PROGMEM = {0x80, 0x80, 0x5f, 0x80, 0x80}; //!

const char h_30[5] PROGMEM = {0x3e, 0x51, 0x49, 0x45, 0x3e}; //0

const char h_31[5] PROGMEM = {0x80, 0x42, 0x7f, 0x40, 0x80}; //1

const char h_32[5] PROGMEM = {0x42, 0x61, 0x51, 0x49, 0x46}; //2

const char h_33[5] PROGMEM = {0x41, 0x41, 0x45, 0x4b, 0x31}; //3

const char h_34[5] PROGMEM = {0x18, 0x14, 0x12, 0x7f, 0x10}; //4

const char h_35[5] PROGMEM = {0x27, 0x45, 0x45, 0x45, 0x39}; //5

const char h_36[5] PROGMEM = {0x3c, 0x4a, 0x49, 0x49, 0x31}; //6

const char h_37[5] PROGMEM = {0x01, 0x71, 0x09, 0x05, 0x03}; //7

const char h_38[5] PROGMEM = {0x36, 0x49, 0x49, 0x49, 0x36}; //8

const char h_39[5] PROGMEM = {0x06, 0x49, 0x49, 0x29, 0x1e}; //9

const char h_40[5] PROGMEM = {0x80, 0x60, 0x60, 0x80, 0x80}; //dot

const char h_41[5] PROGMEM = {0x20, 0x10, 0x08, 0x04, 0x02}; //slash

const char h_42[5] PROGMEM = {0x08, 0x08, 0x08, 0x08, 0x08}; //-

const char h_43[5] PROGMEM = {0x80, 0x80, 0x80, 0x80, 0x80}; //blank

const char h_44[5] PROGMEM = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; //end



char charnya[5];



void tulis(void)



{



int a;



for(a=0 ; a<5 ;a++)

 { 

   PORTD = charnya[a] ;

   _delay_ms(2);



 }





PORTD = 0x80 ;

_delay_ms(2);

}







int main(void)

{
    DDRD = 0b1111111; // PD0-PD6 output

 while(1)

 {

//ubah susunan huruf sesuai keinginan (asal ga penuh aja memorynya)



     strncpy_P(charnya,h_A,5);

  tulis();



  strncpy_P(charnya,h_H,5);

  tulis();



  strncpy_P(charnya,h_O,5);

  tulis();



         strncpy_P(charnya,h_C,5);

  tulis();



  strncpy_P(charnya,h_O,5);

  tulis();



  strncpy_P(charnya,h_O,5);

  tulis();



  strncpy_P(charnya,h_L,5);

  tulis();



     _delay_ms(500);  //ubah2 sesuai keinginan dan kecepatan motor

 }

 

return 0;

}









lumayan kan ? skematik dalam bentuk eagle dapat didownload disini
Share:

Jumat, 04 Januari 2013

Animasi LED keren


Berdasarkan reques seorang pembaca , posting saya kali ini sesuai dengan video youtube dibawah ini.




Sebenernya project serupa pernah saya bahas di project led berjalan dengan ic 4017, hanya kali ini animasinya lumayan keren dan memakai banyak LED. Untuk mendrive LED yang banyak dibutuhkan transistor dan perhitungan tegangan sumber vs jumlah LED beserta kombinasi rangkaian paralel/seri sesuai rumus di www.ledcalculator.net

Gambaran driving led jumlah  banyak seperti gambar dibawah ini.


Gambar yang diatas menunjukkan 5 buah LED yang langsung dihubungkan ke output 4017 karena ic 4017 diberi tegangan 12volt dimana jika memakai 5 LED maka masing-masing LED mendapatkan tegangan yang cukup. Jika Led lebih banyak maka diperlukan perhitungan seri-paralel sesuai rumus.

Pada video youtube terdapat 4 buah rangkaian LED yang disusun membentuk karakter. Berdasarkan sifat output 4017 maka untuk membuat animasi seperti pada video maka mudah saja dengan memberikan output single pada out  0 - 1 - 2 - 3  ke masing-masing huruf. Sedangkan untuk membikin kedip bareng maka yang disambungkan secara paralel adalah output 5 - 7 - 9. Agar animasi sesuai dan tidak numpuk maka ditambahkan dioda small signal 1N4148 yang disusun seperti rangkaian berikut:



(klik untuk memperbesar)



Mudah Bukan ? Selamat Mencoba
Share:

Cara Membuat Led Berjalan yang Panjang (cascade)

5050-RGB-Running-LED-Strip.jpg (290×258)



Banyak pertanyaan yang datang melalui sms, group BBM atau facebook yang bertanya bagaimana membuat rangkaian Led Berjalan (Running LED) yang memiliki panjang lebih dari 10 ? Jika anda googling maka akan diarahkan menuju website hobby yang sudah terkenal milik sesepuh elektronika BILL BOWDEN. Rangkaian pertama yang ditawarkan seperti berikut:


courtesy of BILL BOWDEN 's    http://www.bowdenshobbycircuits.info

(klik untuk memperbesar)

Rangkaian ini memanfaatkan 2 buah 4017 dan 10 transistor yang akan membuat led berjalan 25 buah, dan jika mau dapat di perpanjang sampai 10 x 10 atau 100 buah. Rangkaian ini memanfaatkan kombinasi scanning kolom dan baris seperti halnya dot matrix, akan tetapi jika LED disusun berurutan maka maksimum 100 sequence bisa diperoleh.

Rangkaian dasar dari running 10 LED seperti berikut :

(klik untuk memperbesar)


Sedangkan jika di cascade 2 buah 4017 caranya dengan menambahkan dioda dan beberapa resistor.



(klik untuk memperbesar)



Rangkaian cascade ini memanfaatkan output clock dari pin ke  3 dari  4017 pertama. Kadang-kadang orang pintar pun banyak salahnya dan rangkaian diatas tidak berhasil jika dicoba lhoo. Penulis akhirnya bereksperimen sehingga menemukan cara yang lebih akurat dengan menggunakan transistor sebagai pengendali input ke pin enable dan reset seperti rangkaian berikut.



(klik untuk memperbesar  , VDD = Tegangan (+)  VSS = Tegangan (-) atau Ground ) 



Komponen tambahan berupa dioda 1N4148, resistor 10K dan transistor NPN umum seperti 2N3904, BC107, 2N2222, C9013 dan lain sebagainya. Input clock dari rangkaian berasal dari rangkaian clock 555 (atau yg lainnya) yang sama diberikan ke tiap ic 4017.

Prinsip dari rangkaian adalah memberikan input ke pin 13 (chip enable yang aktif LOW ) pada sequence terakhir (Q9) dari sebuah IC 4017. Selama sequence belum berakhir maka  Q9 yang nilainya "LOW" akan mengenable kan IC serta me-Reset IC pada posisi setelahnya. Efek yang terjadi adalah bahwa hanya sebuah 4017 yang akan aktif sedangkan ic 4017 setelahnya berada pada kondisi "Reset" sedangkan pada ic 4017 posisi sebelumnya mendapatkan posisi disable.

Rangkaian ini dapat disusun sampai banyak 4017 tak terhingga, dan pada ic 4017 terakhir, sequence terakhir  (Q9) akan dihubungkan menuju reset pada ic 4017 pertama. Sebaiknya hubungannya diberikan dioda agar logikanya tidak mengambang (float). Kondisi ini akan mereset semua ic 4017 dan memulai sequence dari awal lagi. Output yang dikorbankan adalah Q0 dan Q9 sehingga berkurang 2 buah sequence tiap ic 4017.

Trick cascading ini sangat berguna untuk proses scanning kolom untuk rangkaian text scroll menggunakan led matrix yang jumlahnya banyak seperti pembahasan disini .


Cara lain yang cukup simple adalah memanfaatkan ic shift register seperti 74LS595 / 74HC164 tetapi ic shift register akan susah dijumpai di daerah-daerah pinggiran sehingga ic 4017 yang lebih universal menjadi pilihan terbaik.

(klik untuk memperjelas)



terjemahan dari web asli :

16 (bisa lebih) Tahap LED Sequencer

Sirkuit pada gambar di atas menggunakan hex ​​inverter Schmitt Trigger (74HC14) dan dua 8 bit Serial-In/Parallel-Out register geser (74HCT164 atau 74HC164) untuk urutan 16 LED. Rangkaian dapat diperluas ke panjang lebih besar dengan cascading shift register tambahan dan menghubungkan output ke-8 (pin 13) ke input data (pin 1) tahap berikutnya. sebuah Schmitt trigger osilator (74HC14 pin 1 dan 2) menghasilkan sinyal clock untuk register geser, dengan kecepatan clock yang kira-kira 1/RC. Dua tambahan tahap Schmitt trigger digunakan untuk me-reset dan memuat register saat dinyalakan. Ketepatan waktu tidak perlu terlalu diperhatikan , namun output pada pin 8 dari  Schmitt Trigger harus tetap "HIGH" selama "LOW" atau 0 yang pertama  dan digunakan untuk transisi clock ke "HIGH"di pin 8 dari register, dan harus kembali "LOW" sebelum sisi kenaikan clock untuk memuat satu bit. Jika clock rate meningkat, panjang sinyal pada pin 9 dari  Schmitt Trigger harus diturunkan secara proporsional untuk menghindari memuat lebih dari satu bit. IC dengan type HC biasanya akan menyediakan sekitar 4 mA (dinamakan arus sink) dari setiap output tetapi dapat memasok arus besar (mungkin 25 mA) jika hanya satu output dimuat. Umumnya  resistor 150 ohm membatasi arus bawah 25 mA jika menggunakan sumber daya 6 volt. Jika sirkuit ini dioperasikan dengan dua atau lebih LED pada pada saat yang sama, resistor mungkin diperlukan secara seri dengan masing-masing LED untuk menghindari melebihi total output maksimum saat ini untuk setiap IC dari 25 mA. Untuk kecerahan yang lebih besar, transistor buffer/daya dapat digunakan seperti yang pernah dibahas pada perancangan led berjalan 10 tahap disini.


SELAMAT MENCOBA
Share:

Senin, 26 November 2012

JOULE THIEF : Menghidupkan LED dengan 1 Baterai 1,5V



Ga mungkin ahh ? kan LED biasanya hidup dengan 2 baterai 1,5v  ..


Jangan bingung...rangkai saja seperti gambar skematik berikut



Bahan- bahan mudah didapat, kumparan di peroleh dari bekas lampu hemat energi atau bekas power supply komputer. Kumparan sebelah kanan jumlah lilitannya banyak, sedangkan kumparan sebelah kiri lilitannya kecil. Jadi cara simple nya adalah melilitkan kawat enamel atau kabel tipis diantara lilitan bekas kanibal. Ingat lilitan sebaiknya memiliki inti ferit/ toroida didalamnya. Komponen lainnya cukup mudah didapat, transistor yang digunakan merupakan transistor NPN yang umum dan (BC 327 , 2N2222 dsb)


SELAMAT MENCOBA
Share:

Sabtu, 23 Juli 2011

Praktek: LED BERJALAN dengan IC 4017

Bahan-Bahan :
1. IC 555
2. IC 4017
3. Resistor 10k ohm (1buah), 100Kohm (1 buah) atau diganti dengan Potensiometer 100k ohm, 220 ohm (10 buah)
4. Kapasitor 10 uF (1 buah)
5. 10 buah LED
6. Baterai 4.5V
7. Kabel Jumper secukupnya

Skematik :

Keterangan : perhatikan kaki IC yg tidak urut, sesuaikan nomer kaki pada skematik dengan kaki pin di IC sebenarnya
Langkah Merakit ke Breadboard :
1. Setelah paham merangkai percobaan 555 maka percobaan kali ini akan mudah saja tinggal mengikuti gambar skematik yang ditampilkan sebelumnya, dan hasil di breadboard seperti ini :


Catatan untuk IC 4017 adalah kaki 8 tersambung ke powerline kutub(-) sedangkan kaki 16 terhubung ke kutub (+)
2. Putar-putar potensiometer untuk merubah kecepatan geser dari LED.
3. Animasi dari LED dapat diatur sedemikian rupa sehingga membentuk gerakan yang diinginkan seperti contoh dengan meletakkan susunan LED 1-10-2-9-3-8-4-7-5-6 maka akan didapatkan efek “cyclops” atau maju mundur.
4. IC 555 & 4017 bisa diberikan input sampai 12V, sehingga dapat menghidupkan LED yang dipasang seri sebayak 5 buah. Cobalah berkreasi dengan menambah LED di tiap-tiap kaki output dan coba kombinasikan dengan kombinasi LED warna-warni.
5. Jika menggunakan LED yang lebih banyak, maka bisa memnggunakan transistor yang umum seperti BD139 atau MJ31, seperti pada gambar. Atur tegangan input sampai LED menyala terang. Pada dasarnya jika LED dipasang seri maka tegangan input yg dibutuhkan mengikuti rumus
Vin= Vforward * nled
Pada umumnya LED memiliki V forward 2.4 V, jadi jika memakai 5 LED dibutuhkan sekitar 12 Volt. Jika memakai lebih 5 LED (semisal 20 LED) maka LED disisun seri 5 buah dan kemudian diparalel dengan 3 rangkaian seri lainnya. Karena arus dari 4017 cukup kecil, maka dibutuhkan transistor untuk mengalirkan arus yang lebih besar.

Share:

Praktek : 2 LED FLIP FLOP Dengan IC 555

Siapkan bahan-bahan / komponen sebagai berikut:
1. IC Timer 555
2. Resistor 10K ohm(1buah), 100K ohm(1 Buah) & 220 ohm (2 buah)
3. Potensiometer 50K ohm
4. Kapasitor 10uF (1 buah)
5. 2buah LED
6. Buzzer 5V
7. Baterai 4.5V
8. Kabel Jumper

Skematik rangkaian seperti berikut :

Langkah merakit ke breadboard:
1. Buat Powerline di atas untuk positif dan dibawah untuk negatif, sambungkan dengan kutub baterai yang bersesuaian.
2. Letakkan IC 555 dengan arah menyamping (horizontal), dengan kaki 1 (ditanda dengan titik) berada di bawah pembatas tengah breadboard. Hubungkan kaki 8 ke + dan kaki 1 ke – dengan menggunakan kabel jumper.


3.Hubungkan dengan jumper kaki 8 menuju kaki 4 , serta kaki 2 menuju kaki 6


. 4. Ambil resistor 10K ohm dan tancapkan antara kaki 7 dan 8 IC 555. Cari lobang yang masih kosong dan letaknya lurus dengan kaki IC. Begitu juga dengan R 100k Ohm hubungkan antara kaki 2 dan kaki 7 , dan kapasitor 10uF hubungkan dengan kaki 2 (kutub +) dan kaki 1 (kutub -).


5. Ambil LED dan resistor 220 ohm masing-masing 2 buah. Hubungkan kaki 3 dengan jumper ke lobang yg agak menjauh dari IC kemudian susun seperti skematik. Resistor pertama dari ujung jumper menuju ke lobang di kolom kosong, kemudian di lobang di kolom yang sama ditancapkan Anoda dari Led no 1. Katoda led no 1 dihubungkan ke kutub (–) dari power line. Sedangkan resistor ke dua ditancapkan pada power line (+) dan ujung satunya menuju lobang pada kolom kosong ditengah. Selanjutnya anoda led yang ke-2 ditancapkan satu kolom dengan resistor tadi dan katoda dari led no 2 menuju ke ujung kabel jumper.


6. Sambung baterai pada powerline dan Led akan menyala bergantian. Untuk mengubah-ubah kecepatan kedip bisa dengan mengubah nilai komponen Kapasitor atau nilai dari Resistor(R1). Tetapi pada umumnya dan paling memungkinkan adalah dengan mengganti komponen R1 dengan Variabel Resistor atau Potensiometer yg nilai resistansinya dapat diubah-ubah. Variabel resistor ada beberapa jenis seperti gambar dibawah ini :

Pada umumnya variabel resistor memiliki 3 buah kaki, dimana untuk mendapatkan resistansi pada rangkaian yg kita inginkan cukup dengan menghubungkan kaki tengah dan salah satu kaki samping. Putar-putar tombol dengan tangan atau menggunakan obeng untuk mendapatkan nilai resistansi yg diinginkan. Dengan menggunakan Variabel resistor membuat kecepatan kedip dari rangkaian Flip-Flop dapat diatur.




7. IC 555 juga dapat digunakan untuk menghasilkan sirine sederhana dengan menggunakan komponen buzzer. Hubungkan kaki output (kaki 3) dengan kutub (+) dari buzzer dan kutub (-) dari buzzer dihubungkan dengan kutub (-) dari powerline. Hasil yang didapat adalah suara sirene keluar dari buzzer.

Share:

Praktek : LED dan Baterai

Mari kita coba rangkai rangkaian sederhana berikut ini diatas breadboard:


Siapkan komponen berupa :
- Baterai AA 3 Buah dan tempat baterainya (jika ada).
- Resistor 220 ohm.
- Led kecil
Hubungkan Kabel Baterai ke Bagian atas dari breadboard untuk membuat jalur power suplai.

Sekarang kita hubungkan LED dan Resistor sesuai gambar rangkaian. Ambil resistor dan tancapkan pada lobang breadboard dimana masing-masing kaki berada pada kolom yang berbeda. Kemudian dilanjutkan dengan menyambungkan LED, kaki Anoda biasanya ditandai dengan kaki yg lebih panjang, ditancapkan ke lobang yg satu kolom dengan salah satu kaki Resistor. Kaki katoda yg lebih pendek ditancapkan ke lobang dengan kolom yg berbeda
Buat juga kabel jumper yg akan menghubungkan lobang-lobang breadboard yg akan di hubungkan ke lobang lainnya. Kabel jumper dibuat dari kabel tunggal yg ujungnya dikupas sekitar 50mm.

Selanjutnya hubungkan kaki Resistor dan LED (kaki yang belum terhubung ) ke arah power suply dengan menggunakan kabel jumper. Resistor menuju ke kutub positif (+) dan katoda dari LED menuju ke kutub negatif (-).

Hasil dari rangkaian di breadboard adalah LED akan menyala .
Share:

Jumat, 22 Juli 2011

Dioda LED


Dalam elektronika, dioda adalah komponen aktif memiliki 2 kaki atau elektroda aktif dimana isyarat listrik dapat mengalir, dan kebanyakan dioda digunakan karena karakteristik satu arah yang dimilikinya.
Sifat kesearahan yang dimiliki sebagian besar jenis dioda seringkali disebut karakteristik menyearahkan. Fungsi paling umum dari dioda adalah untuk memperbolehkan arus listrik mengalir dalam suatu arah (disebut kondisi Forward / Bias Maju) dan untuk menahan arus dari arah sebaliknya (disebut kondisi Bias mundur). Karenanya, dioda dapat dianggap sebagai versi elektronik dari katup pada saluran air.
Dioda cahaya atau lebih dikenal dengan sebutan LED (light-emitting diode) adalah suatu semikonduktor yang memancarkan cahaya ketika diberi tegangan maju. Tegangan maju yang biasanya digunakan untuk menghasilkan cahaya optimal adalah 2.5 Volt.


LED2.jpg (560×420)
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

HP: 081331339072
Mail : ahocool@gmail.com

Site View

Categories

555 (6) 7 segmen (3) adc (4) amplifier (2) analog (10) android (11) antares (3) arduino (14) attiny (1) attiny2313 (17) blog (1) bluetooth (1) cmos (2) crypto (2) dasar (35) display (3) esp8266 (3) gcc (1) iklan (1) infrared (2) Input Output (3) iot (16) jam (6) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (12) komputer (3) komunikasi (1) kontrol (4) lain-lain (8) lcd (2) led (9) led matrix (6) line tracer (1) lm35 (1) memory (1) metal detector (4) microcontroller (55) mikrokontroller (7) mikrotik (5) ninmedia (2) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (38) pcb (2) praktek (2) project (33) proyek (1) python (1) radio (3) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (1) sharing (3) signage (1) sinyal (1) sms (6) software (18) tachometer (2) telepon (7) televisi (72) television (5) transistor (1) troubleshoot (3) tulisan (59) tutorial (78) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika