我整理了一套Arduino零基础 从入门到高级 完整系统课程,包含视频讲解、全套源码、接线图纸、库文件、ESP32/ESP32-S3 摄像头 & 物联网实战项目,循序渐进,新手也能零基础吃透。需要系统学习可以查看我主页专属课程(零基础保姆级Arduino教程从入门到实战_在线视频教程-CSDN程序员研修院)。
💡前言
玩Arduino灯光项目、点阵屏、多点位灯光阵列时,大家大概率都会遇到一个痛点:主控IO引脚根本不够用。
Arduino Uno常规可用IO口数量有限,直接驱动十几个LED十分吃力,而外接拓展模块又增加成本和接线难度。
本期教程手把手带大家玩转两片74HC164串入并出移位寄存器级联,仅占用Arduino2个IO口,成功拓展15路独立LED输出!
本文修正网上绝大多数错乱的级联代码,采用16位变量统一控制,实现两种超实用灯光效果:
✅ 15路LED平滑左右往返追逐灯(无断点、无跳灯)
✅ 15路LED奇偶位交替闪烁灯(规整呼吸特效)
全程零基础友好,原理通俗、接线清晰、代码注释完整、实测100%可运行,适合课程实训、结课作业、创客小制作!
一、为什么要学习74HC164级联?
1.单74HC164的局限性
单块74HC164仅为8位串入并出移位寄存器,最多拓展8路IO输出,仅能驱动8个LED,灯光效果单一、灯带长度受限,无法实现长距离、多点位的连贯灯光动画,完全满足不了复杂灯光阵列项目需求。
2.双片级联的核心优势
- 极致省引脚:两片芯片级联,全程仅占用Arduino 2个IO口(数据+时钟),不浪费任何主控资源
- 拓展能力强:8+8位双通道输出,舍弃1路无效点位,稳定实现15路LED独立控制
- 可无限级联:遵循相同逻辑可拓展多片芯片,轻松实现几十上百路IO拓展
- 性价比高:74HC164芯片成本极低,是入门IO拓展、灯光项目的最优方案
二、74HC164级联核心工作原理
74HC164是经典的串行输入、并行输出8位移位寄存器,级联逻辑是所有移位芯片的通用标准方案,新手可直接熟记。
1.芯片级联逻辑
- 前级芯片(U1):数据引脚、时钟引脚直接连接Arduino主控,接收初始串行数据,输出低8位信号
- 后级芯片(U2):时钟引脚与前级芯片共用(同步时序),数据引脚接入前级芯片的溢出引脚Q7
- 数据移位规则:时钟脉冲每触发一次,数据向后移位一位,数据填满前级芯片后,自动溢出至后级芯片,最终形成16位完整并行输出