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
    +关注

    关注

    242

    文章

    23241

    浏览量

    660498
  • 移位寄存器
    +关注

    关注

    3

    文章

    258

    浏览量

    22263
  • 74HC595
    +关注

    关注

    7

    文章

    191

    浏览量

    30840
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186926
收藏 人收藏

    评论

    相关推荐

    74hc595的功能及作用是什么

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

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

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

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

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

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

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

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

    74HC595D和74HCT595D是由Nexperia生产的高性能8位串入/串出或并出移位寄存器。这些器件集成了存储寄存器和三态输出,非常适用于多种电子控制和数据转换应用。它们的设计
    的头像 发表于 06-06 09:56 1159次阅读
    <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

    移位寄存器的工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一种用于在数字电路中实现数据移位操作的基本电路元件。它由多个触发以及相关控制电路组成,具有存储、接受和移动数据的功能。移位寄存器可以分为
    的头像 发表于 01-18 10:52 8218次阅读