亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南

元件与物料

Arduino Nano R3×1
Texas Instruments 74HC595 移位寄存器 (串并转换)×4
全尺寸免焊面包板×1
LED (按喜好颜色)×32
100Ω 电阻 (视 LED 型号选型)×32
杜邦线 (大量)×1

软件

项目简介

面向初学者与“ArduiNOOBS”的分步图文教程,讲解 74HC595 8 位移位寄存器基础、级联 (菊花链) 扩展输出、以及 HC595 库的使用。作者在调试中遇到部分寄存器工作异常,疑似供电不足,供读者参考。

必备参考链接

接线原理图

Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南

关键连接:
• 所有 74HC595 的 SH_CP (Pin 11) 并联接 Arduino D3 (时钟)
• 所有 ST_CP (Pin 12) 并联接 Arduino D4 (锁存)
• 首片 DS (Pin 14) 接 Arduino D2 (数据)
• 后续各片 DS 接前一片 Q7' (Pin 9) 实现串行级联
• 每片 Q0-Q7 接 LED 阳极 (经限流电阻),阴极接地
• VCC 接 5V,GND 接地,OE (Pin 13) 接地常使能,MR (Pin 10) 接 5V 禁止复位

面包板实物布线参考

Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南
Arduino Nano 级联 4 片 74HC595 驱动 32 个 LED:新手入门指南

示例代码 (基于 HC595 库修改)

#include <HC595.h>
const int chipCount = 4;        // 级联 4 片 74HC595 (最多支持 8 片)
const int latchPin = 4;         // ST_CP (Pin 12)
const int clockPin = 3;         // SH_CP (Pin 11)
const int dataPin = 2;          // DS (Pin 14)

HC595 ledArray(chipCount, latchPin, clockPin, dataPin);
int delayMs = 30;
int lastPin = ledArray.lastPin(); // 31

void setup() {
  ledArray.reset(); // 全部熄灭
}

void loop() {
  // 顺序点亮
  for (int i = 0; i <= lastPin; i++) {
    ledArray.setPin(i, ON);
    delay(delayMs);
  }
  // 逆序熄灭
  for (int i = lastPin; i >= 0; i--) {
    ledArray.setPin(i, OFF);
    delay(delayMs);
  }
  // 逆序翻转
  for (int i = lastPin; i >= 0; i--) {
    ledArray.setPin(i, TOGGLE);
    delay(delayMs);
  }
  // 顺序翻转
  for (int i = 0; i <= lastPin; i++) {
    ledArray.setPin(i, TOGGLE);
    delay(delayMs);
  }
}

库文件封装了移位、锁存等底层操作,极大简化代码。若不使用库,需手动实现 shiftOut() 与锁存脉冲。

常见问题排查

扩展思路

掌握级联后,可驱动 LED 矩阵、七段数码管阵列、甚至作为 GPIO 扩展口控制更多外设。HC595 库支持最多 8 片级联 (64 位输出)。

制造工艺

  1. DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
  2. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  3. 通过树莓派用 Alexa 控制 LED - 简单分步指南
  4. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  5. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  6. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  7. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  8. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  9. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  10. Arduino + TEA5767 打造 FM 收音机:Nokia 5110 显频谱/信号强度/立体声
  11. Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
  12. Arduino RGB 颜色混合器 – 分步制作教程