使用74hc595級聯控制多個LED燈 – 提高項目效率和功能性

一、介紹

在電子產品的開發中,LED燈的控制是一項必要的技能。當需要控制多個LED燈時,傳統的應用會使用很多個GPIO口,然而在一些跨平台的應用中,GPIO數量是有限的。這時可以使用74hc595芯片級聯的方式來控制多個LED燈,同時減少所需的GPIO。

二、74hc595芯片的介紹

74hc595是一款串行輸入、並行輸出的移位寄存器芯片,可以通過串行輸入控制並行輸出。通過級聯的方法可以擴展至更多的輸出線。下面是74hc595芯片的引腳圖和電氣特性:

其中,SRCLK和RCLK分別控制移位寄存器和輸出寄存器的鎖存,SER是串行輸入,Q0~Q7是並行輸出。同時注意到,在這個芯片中,Vcc最大工作電壓為6V。

三、使用74hc595級聯控制多個LED燈

下面演示了如何使用74hc595級聯控制兩個LED燈:

#include <Arduino.h>
#define SER_Pin 2
#define SRCLK_Pin 3
#define RCLK_Pin 4
void setup() {
  pinMode(SER_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
}
void writeData(int data){
  digitalWrite(RCLK_Pin, LOW);
  for (int i = 7; i >= 0; i--) {
    digitalWrite(SRCLK_Pin, LOW);
    digitalWrite(SER_Pin, (data & (1 << i)) >> i);
    digitalWrite(SRCLK_Pin, HIGH);
  }
  digitalWrite(RCLK_Pin, HIGH);
}
void loop() {
  writeData(0x80); // 點亮第一個LED燈
  delay(500);
  writeData(0x40); // 點亮第二個LED燈
  delay(500);
}

在這段代碼中,我們需要自己實現writeData函數,通過74hc595芯片寫入數據。在loop函數中,我們調用了這個函數來點亮不同的LED燈。這個程序可以在網上查詢到,不過需要注意的是Arduino Nano的板子上不需要修改引腳,如果為了查閱方便在這裡修改了一下。

四、快速控制多個LED燈

在這段代碼中,如果想要控制多個LED燈,需要不斷調用writeData函數,並傳入不同的參數。這樣會增加代碼的複雜度和執行時間。下面演示使用數組來快速控制多個LED燈:

#include <Arduino.h>
#define SER_Pin 2
#define SRCLK_Pin 3
#define RCLK_Pin 4
byte LEDData[] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
void setup() {
  pinMode(SER_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
}
void writeData(int data){
  digitalWrite(RCLK_Pin, LOW);
  for (int i = 7; i >= 0; i--) {
    digitalWrite(SRCLK_Pin, LOW);
    digitalWrite(SER_Pin, (data & (1 << i)) >> i);
    digitalWrite(SRCLK_Pin, HIGH);
  }
  digitalWrite(RCLK_Pin, HIGH);
}
void loop() {
  for (int i = 0; i < 8; i++) {
    writeData(LEDData[i]);
    delay(500);
  }
}

在這段代碼中,使用一個byte類型的數組存儲LED燈的數據,然後在循環中依次點亮每個LED燈。通過數據的簡單修改,可以快速實現控制燈的狀態。

五、結論

通過74hc595芯片可以有效實現多個LED燈的控制,減少GPIO數量的佔用,進而提高項目的效率和功能性。同時,在實際應用中,可以根據需求快速控制多個LED燈的狀態。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/277787.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-19 13:21
下一篇 2024-12-19 13:21

相關推薦

發表回復

登錄後才能評論