Danh sách sản phẩm

Module 4 số LED 7 đoạn 0.36 inch 74HC595

Mã sản phẩm: IMA454   |   Tình trạng: Hết hàng
26.000₫
  • Nhập IMA-90 giảm 90%, tối đa 2K
  • Nhập IMA-5K giảm 5k, đơn từ 199K
  • Nhập IMA-35K giảm 35k, đơn từ 499K

Mô tả sản phẩm

Module 4 Số LED 7 Đoạn 0.36inch 74HC595 được thiết kế giúp bạn có thể dễ dàng điều khiển và hiển thị thông tin lên LED 7 đoạn 4 số chỉ với 3 chân giao tiếp thông qua IC ghi dịch 74HC595, ngoài ra mạch còn có khả năng mở rộng thêm các led tiếp theo qua cổng đầu ra nối tiếp, mạch có bộ thư viện đi kèm dễ sử dụng phù hợp cho các ứng dụng: bộ đếm, đồng hồ,...

Thông số kỹ thuật:

  • Sử dụng 4 led 7 đoạn (0.36 inch).
  • 2 chân cấp nguồn ( VCC, GND) và 3 chân điều khiển DATA IN(DIO), LATCH(RCLK), CLOCK(SCLK).
  • Led 7 đoạn được tích hợp IC chuyên dụng 74HC595.
  • Tín hiệu điều khiển có thể là 5V hoặc 3V3.
  • Có 4 lỗ bắt vít M3 thuận tiện cho việc gá đặt.
  • Kích thước: 42 x 24 x12 mm.
  •  Arduino library (for 74HC595) supported
  • Ngõ ra mở rộng gồm 2 chân cấp nguồn ( VCC, GND) và 3 chân điều khiển DATA OUT(QH), LATCH(RCLK), CLOCK(SCLK)

Sơ đồ chân:


Code tham khảo Arduino: 

/*
 written by Jason Berger ,arduinoall, พ.ไพศาล
 reedited by Phaisarn Te. @060614
 
 8-Digit 7-Segment display driver.
 2x 74HC595 wired to 2x 4-digit 7-segment displays
 bits 0-7 select a digit
 bits 8-14 A-G
 
 */
char disp_c[8] ;


const int SCLK_pin=4;
const int RCLK_pin=5;
const int DIO_pin =6;


// 0-9   --> 0-9
// 0.-9. --> 10-19
// space --> ' '
// A-Z, a-z --> 'A' 'B' ... 'a' 'b'

int  disp[8];

//time values for delay workaround
unsigned long prev =0;
unsigned long waitMS=0;

void setup()
{

  pinMode(RCLK_pin,OUTPUT);
  pinMode(DIO_pin,OUTPUT);
  pinMode(SCLK_pin,OUTPUT);
  showText('O','P','E','N'); 

int n;
unsigned long start=millis();
byte b = 0;
void loop()
{
  showDisplay();
  if(b==0){
    b++;
    wait(3000); 
  }
  else{
    if ( millis() > (prev + waitMS))
    {
      //code to loop in here
     // showText('A','r','d','u'); 

      // showText(9,15,4,2); 

      showText((n/1000)%10,(n/100)%10+10,(n/10)%10,n%10);  
      n++;
      if(n>10000) {
        n=0;
      }
     
      // หน่วงเวลา
      wait(1000);
    }
  }
}

void showText(char a, char b , char c,char d){
  disp_c[0] = d;
  disp_c[1] = c;
  disp_c[2] = b;
  disp_c[3] = a;
}
void showDisplay()
{
  setDisp();
  for(int i=0; i<8; i++)
  {
    setDigit(i,disp[i]);
  }
}

void setDigit(int dig, int character)
{
  int digits[]= {
    128,64,32,16,8,4,2,1        };

  //character set (0-9)0-9
  //            (10-19)0.-9.
  //            (20-45)A-Z
  //            (46-71)a-z
  //            (72)- (73) space
  int characters[]= {
    3,159,37,13,153,73,65,31,1,9,
    2,158,36,12,152,72,64,30,0,8,
    17,1,99,3,97,113,67,145,243,135,145,227,85,19,3,49,25,115,73,31,129,129,169,145,137,37,
    5,193,229,133,33,113,9,209,247,143,81,227,85,213,197,49,25,245,73,225,199,199,169,145,137,37,
    253,255        };

  digitalWrite(RCLK_pin, LOW);
  shiftOut(DIO_pin, SCLK_pin, LSBFIRST, characters[character]);
  shiftOut(DIO_pin, SCLK_pin, LSBFIRST, digits[dig]);
  digitalWrite(RCLK_pin, HIGH);
}

void setDisp()
{
  for (int i=0; i<8;i++)
  {
    int val = disp_c[i];
    if((val >= 32)&&(val <= 47)){ 
      switch (val){
      case 45 :
        val = 72;
        break;
      default :
        val = 73;
        break;
      }
    }
    else if((val >= 48)&&(val <= 57)) //0-9
    {
      val -= 48;
    }
    else if((val >= 65)&&(val <= 90)) //A-Z
    {
      val -= 45;
    }
    else if((val >= 97)&&(val <= 122)) //a-z
    {
      val -= 51;
    }
    disp[i] = val;

  }
}  
void wait( unsigned long milsec)
{
  prev = millis();
  waitMS = milsec;
}

Video tham khảo:


 

Khách hàng nhận xét