Categorieën

Arduino / Modules / 4-Digits led display decimaal

4-Digits led display decimaal

TM1637 4-Digits decimaal led display. Aan te sluiten op slechts 2 poorten.

Status

Op voorraad

€ 3,95
Prijs per stuk

 

Aantal: 
+ in winkelwagentje
Op verlanglijst
 

Led display TM1637 4 digits decimaal

  • Aan te sluiten op slechts 2 poorten
  • Werkvoltage 3.5-5V DC
  • TM1637 chip
  • Met temperatuurcompensatie +/- 5 ºC
Simpele sketch voor 5 pins versie
//Begin
    unsigned char LED_0F[] =
    {// 0     1      2       3    4     5      6       7    8     9      A       b    C    d      E    F    -
        0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
    };
    unsigned char LED[4];    //We hebben 4 led displays ter beschikking
    int SCLK = 3; //(Digitale pin voor sclk. U mag dat zelf aan passen als u maar niet pin 0 of 1 gebruikt.)
    int RCLK = 5; //Idem voor rclk
    int DIO = 4; //En natuurlijk DIO
    
    //In de setup() komt alles wat we maar 1x nodig hebben om de boel aan de gang te helpen
    void setup ()
    {
      pinMode(SCLK,OUTPUT);
      pinMode(RCLK,OUTPUT);
      pinMode(DIO,OUTPUT);
    }

   /* In de loop voeren we het programma uit
   Voor nu zetten we er hardcoded wat cijfers in.
   U kunt dit later zelf aansturen met een sensor of een meting.

   De leds zijn genummerd van RECHTS naar LINKS!!
   */
    void loop()
    {
      LED[0]=3;
        LED[1]=7;
        LED[2]=0;
        LED[3]=8;
        while(1)
        {
            LED4_Display ();
        }
      
    }
 //Hieronder wat functies waardoor alles werkt..
 //Vergelijkbaar met een library, alleen wat kleiner
    
    void LED4_Display (void)
    {
        unsigned char *led_table;         
        unsigned char i;        
        led_table = LED_0F + LED[0];
        i = *led_table;
        LED_OUT(i);            
        LED_OUT(0x01);        
        digitalWrite(RCLK,LOW);
        digitalWrite(RCLK,HIGH);
        led_table = LED_0F + LED[1];
        i = *led_table;
        LED_OUT(i);        
        LED_OUT(0x02);        
        digitalWrite(RCLK,LOW);
        digitalWrite(RCLK,HIGH);
        led_table = LED_0F + LED[2];
        i = *led_table;
        LED_OUT(i);            
        LED_OUT(0x04);    
        digitalWrite(RCLK,LOW);
        digitalWrite(RCLK,HIGH);
        led_table = LED_0F + LED[3];
        i = *led_table;
        LED_OUT(i);            
        LED_OUT(0x08);        
        digitalWrite(RCLK,LOW);
        digitalWrite(RCLK,HIGH);
    }
    
    void LED_OUT(unsigned char X)
    {
        unsigned char i;
        for(i=8;i>=1;i--)
        {
            if (X&0x80)
                {
                  digitalWrite(DIO,HIGH);
                 }  
                else
                {
                  digitalWrite(DIO,LOW);
                }
            X<<=1;
                digitalWrite(SCLK,LOW);
                digitalWrite(SCLK,HIGH);
        }
    }
    


 

Deze website gebruikt cookies om het bezoek te meten, we slaan geen persoonlijke gegevens op.
© Martoparts.nl