0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用两个74HC595移位寄存器的Arduino 16 LED

454398 来源:网络整理 作者:网络整理 2019-11-11 17:00 次阅读

第1步:组件

-Arduino UNO (x1)

-74HC595移位寄存器( x2)

-LEDs (x16)

-220omh电阻器(x16)

-多根导线

-两个面包(一个带有400针,另一个带有830)

-电位器,用于控制亮度(可选)

第2步:电路

使用两个74HC595移位寄存器的Arduino 16 LED

进行电路(见上文)并按如下方式连接第一个移位寄存器:

-GND(引脚8)接地

-Vcc(引脚16)到5V

-OE(引脚13)接地

- MR(引脚10)至5V

-DS(引脚14)至Arduino引脚11

-SH_CP(引脚11)至Arduino引脚12

-ST_CP (引脚12)到Arduino引脚8

连接第二个移位寄存器完全相同,但是将DS(引脚14)连接到第一个寄存器引脚9。之后,将引脚:从两个寄存器连接到LED的1、2、3、4、5、6、7和15。这种连接使所有引脚始终处于活动状态且可寻址,但是当Arduino通电时,某些LED可能会打开。解决方案是将MR(引脚10)和OE(引脚13)直接连接到Arduino,但是这样一来,您必须牺牲2个Aurduino引脚。

要添加更多的移位寄存器,就像第二个一样寄存器。始终将MR和OE引脚直接连接到Arduino,将DS引脚直接连接到先前的寄存器。

如果要调节LED的亮度,请按照上图所示连接电位计以控制所有LED的电阻

第3步:代码

现有代码旨在用于有限数量的移位寄存器和没有通用的功能/方法可以做到这一点。作为软件开发人员,这对我来说是不可接受的,并且我习惯于使所有内容尽可能地动态,没有限制。我重新设计了现有代码示例,以允许您使用无限数量的移位寄存器。参见下面的代码:

int numOfRegisters = 2;

byte * registerState;

void setup(){

//初始化数组

registerState =新字节[numOfRegisters];

for(size_t i = 0; i

registerState [i] = 0;

}

//。.. setup

}

void regWrite(int pin,bool state){

//确定寄存器int reg = pin/8;

//确定实际寄存器的

int actualPin = pin-(8 * reg);

//开始会话

digitalWrite(latchPin,LOW);

for(int i = 0; i

//获取寄存器的实际状态

字节*状态=®isterState[i];

//更新状态

if(i == reg){

bitWrite(* states,ActualPin,state);

}

//写入

shiftem(dataPin,clockPin,MSBFIRST,* sta TES);

}

//结束会话

digitalWrite(latchPin ,HIGH);

}

第4步:最终代码

我将完整的源代码发布在github上,因为这里不可读:

https://github.com/jr2002008/Arduino-74HC595-shift-registers/blob/master/ArduinoLEDsWithShiftRegisters/ArduinoLEDsWithShiftRegisters.ino

在最终代码中,我为这16个LED添加了几种效果。上面的视频演示了这些效果。如果要添加更多的LED,请按照前面所述连接更多的寄存器,并在代码中更改 numOfRegisters 的值(还可以调整效果的逻辑)。

您也可以使用此代码不仅仅用于LED,如果您只是想为Arduino使用更多引脚,请使用 regWrite(int引脚,布尔状态)函数为任何引脚写入状态,并且没有限制多少移位寄存器您正在使用,只需更改 numOfRegisters 的值,其他所有操作都会自动执行。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23100

    浏览量

    657783
  • 移位寄存器
    +关注

    关注

    2

    文章

    258

    浏览量

    22217
  • 74HC595
    +关注

    关注

    7

    文章

    191

    浏览量

    30777
  • Arduino
    +关注

    关注

    187

    文章

    6461

    浏览量

    186566
收藏 人收藏

    评论

    相关推荐

    74hc595的功能及作用是什么

    74HC595是一款常用的8位串行输入、并行输出的移位寄存器,广泛应用于LED显示、驱动继电器、电机控制等领域。 74HC595的功能及作用 在数字电子领域,
    的头像 发表于 10-21 09:57 300次阅读

    74HC595常用移位寄存器芯片资料包

    在电子项目中,74HC595 是一款常用的移位寄存器芯片,它在很多领域都有着广泛的应用。 74HC595 具有多个显著的特点。首先,它可以实现串行输入并行输出,这意味着只需要很少的控制引脚就可以控制
    发表于 09-24 17:19 0次下载

    74HC595PW(nexperia)移位寄存器中文参数_功能图_引脚图_封装尺寸

    Nexperia的 74HC595PW 是一款性能卓越的8位串入/串或并出移位寄存器,适用于需要高效数据转换和存储的电子系统。此芯片广泛应用于计数移位寄存器等领域,凭借其灵活的设计
    的头像 发表于 09-10 14:37 340次阅读
    <b class='flag-5'>74HC595</b>PW(nexperia)<b class='flag-5'>移位寄存器</b>中文参数_功能图_引脚图_封装尺寸

    移位寄存器右移是怎么移位

    移位寄存器是一种在数字电路和计算机科学中广泛使用的存储设备,它可以用来存储和传输数据。在移位寄存器中,数据可以通过移位操作来实现数据的传输和处理。移位寄存器
    的头像 发表于 07-12 10:14 890次阅读

    74HC595D/74HCT595D(nexperia)移位寄存器_中文参数_功能特点_工作原理

    74HC595D和74HCT595D是由Nexperia生产的高性能8位串入/串出或并出移位寄存器。这些器件集成了存储寄存器和三态输出,非常适用于多种电子控制和数据转换应用。它们的设计
    的头像 发表于 06-06 09:56 1019次阅读
    <b class='flag-5'>74HC595</b>D/<b class='flag-5'>74HCT595</b>D(nexperia)<b class='flag-5'>移位寄存器</b>_中文参数_功能特点_工作原理

    SN74HC595-EP带3态输出寄存器的8位移位寄存器数据表

    电子发烧友网站提供《SN74HC595-EP带3态输出寄存器的8位移位寄存器数据表.pdf》资料免费下载
    发表于 06-04 11:11 0次下载
    SN<b class='flag-5'>74HC595</b>-EP带3态输出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>数据表

    采用三态输出寄存器的 8 位移位寄存器SN74HC595B数据表

    电子发烧友网站提供《采用三态输出寄存器的 8 位移位寄存器SN74HC595B数据表.pdf》资料免费下载
    发表于 05-31 09:25 0次下载
    采用三态输出<b class='flag-5'>寄存器</b>的 8 位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74HC595</b>B数据表

    带3态输出寄存器的8位移位寄存器SN74AHC595数据表

    电子发烧友网站提供《带3态输出寄存器的8位移位寄存器SN74AHC595数据表.pdf》资料免费下载
    发表于 05-20 11:07 0次下载
    带3态输出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74AHC595</b>数据表

    具有三态输出寄存器的 SN74HCT595-Q1 汽车类8位移位寄存器数据表

    电子发烧友网站提供《具有三态输出寄存器的 SN74HCT595-Q1 汽车类8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-11 10:59 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 SN<b class='flag-5'>74HCT595</b>-Q1 汽车类8位<b class='flag-5'>移位寄存器</b>数据表

    具有三态输出寄存器的CD74HC595 8位移位寄存器数据表

    电子发烧友网站提供《具有三态输出寄存器的CD74HC595 8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-07 10:14 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的CD<b class='flag-5'>74HC595</b> 8位<b class='flag-5'>移位寄存器</b>数据表

    具有三态输出寄存器的 8 位移位寄存器SN74LV595A-Q1数据表

    电子发烧友网站提供《具有三态输出寄存器的 8 位移位寄存器SN74LV595A-Q1数据表.pdf》资料免费下载
    发表于 05-07 09:21 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 8 位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74LV595</b>A-Q1数据表

    具有三态输出寄存器的SN74LV595A 8位移位寄存器数据表

    电子发烧友网站提供《具有三态输出寄存器的SN74LV595A 8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-07 09:20 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的SN<b class='flag-5'>74LV595</b>A 8位<b class='flag-5'>移位寄存器</b>数据表

    具有三态输出寄存器的 SNx4HC595 8位移位寄存器数据表

    电子发烧友网站提供《具有三态输出寄存器的 SNx4HC595 8位移位寄存器数据表.pdf》资料免费下载
    发表于 04-30 10:22 1次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 SNx4<b class='flag-5'>HC595</b> 8位<b class='flag-5'>移位寄存器</b>数据表

    SPICONTROLE 4HC595移位寄存器设置流水灯时,在SPIIINTIGRATIONED化了的时候,控制的HC595 LED跳了起来如何解决?

    采用 SPICONTROLE 4HC595移位寄存器,在设置流水灯的时候了,SPICONTROLLES正常,但是在SPIIINTIGRATIONED化了的时候,控制的HC595
    发表于 01-29 08:06

    描述74hc595芯片的引脚功能

    74HC595是一款8位移位寄存器芯片,拥有广泛的应用领域。它具有多种引脚功能,下面将详细介绍每个引脚的功能及其用途。 引脚1 (SER): 串行数据输入 SER引脚是74HC595的串行数据输入
    的头像 发表于 12-18 17:17 3845次阅读