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

    文章

    23426

    浏览量

    664452
  • 移位寄存器
    +关注

    关注

    3

    文章

    278

    浏览量

    22391
  • 74HC595
    +关注

    关注

    7

    文章

    193

    浏览量

    31019
  • Arduino
    +关注

    关注

    188

    文章

    6478

    浏览量

    188259
收藏 人收藏

    相关推荐

    74VHC595;74VHCT595移位寄存器规格书

    电子发烧友网站提供《74VHC595;74VHCT595移位寄存器规格书.pdf》资料免费下载
    发表于 02-14 16:11 0次下载
    <b class='flag-5'>74VHC595</b>;<b class='flag-5'>74VHCT595</b><b class='flag-5'>移位寄存器</b>规格书

    74HC165;74HCT165移位寄存器规格书

    电子发烧友网站提供《74HC165;74HCT165移位寄存器规格书.pdf》资料免费下载
    发表于 02-14 16:06 0次下载
    <b class='flag-5'>74HC</b>165;<b class='flag-5'>74</b>HCT165<b class='flag-5'>移位寄存器</b>规格书

    74VHC595-Q100;74VHCT595-Q100移位寄存器规格书

    电子发烧友网站提供《74VHC595-Q100;74VHCT595-Q100移位寄存器规格书.pdf》资料免费下载
    发表于 02-14 15:13 0次下载
    <b class='flag-5'>74VHC595</b>-Q100;<b class='flag-5'>74VHCT595</b>-Q100<b class='flag-5'>移位寄存器</b>规格书

    74HC594;74HCT594移位寄存器规格书

    电子发烧友网站提供《74HC594;74HCT594移位寄存器规格书.pdf》资料免费下载
    发表于 02-09 14:53 0次下载
    <b class='flag-5'>74HC</b>594;<b class='flag-5'>74</b>HCT594<b class='flag-5'>移位寄存器</b>规格书

    74LV595移位寄存器规格书

    电子发烧友网站提供《74LV595移位寄存器规格书.pdf》资料免费下载
    发表于 02-08 18:07 0次下载
    <b class='flag-5'>74LV595</b><b class='flag-5'>移位寄存器</b>规格书

    74HC595-Q100;74HCT595-Q100移位寄存器规格书

    电子发烧友网站提供《74HC595-Q100;74HCT595-Q100移位寄存器规格书.pdf》资料免费下载
    发表于 02-08 17:26 0次下载
    <b class='flag-5'>74HC595</b>-Q100;<b class='flag-5'>74HCT595</b>-Q100<b class='flag-5'>移位寄存器</b>规格书

    74HC595;74HCT595移位寄存器规格书

    电子发烧友网站提供《74HC595;74HCT595移位寄存器规格书.pdf》资料免费下载
    发表于 02-08 16:49 0次下载
    <b class='flag-5'>74HC595</b>;<b class='flag-5'>74HCT595</b><b class='flag-5'>移位寄存器</b>规格书

    74HC597;74HCT597移位寄存器规格书

    电子发烧友网站提供《74HC597;74HCT597移位寄存器规格书.pdf》资料免费下载
    发表于 02-08 16:03 0次下载
    <b class='flag-5'>74HC</b>597;<b class='flag-5'>74</b>HCT597<b class='flag-5'>移位寄存器</b>规格书

    74hc595的功能及作用是什么

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

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

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

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

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

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

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

    具有三态输出寄存器的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>数据表