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

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

3天内不再提示

如何添加ArduinoUno的额外I/O引脚

454398 来源:wv 2019-09-23 08:44 次阅读

步骤1:购物清单

如何添加ArduinoUno的额外I/O引脚

要使此项目成功,您需要:

原型屏蔽

可堆叠插头或引脚插头

一些导线

电阻器LEDs

,最重要的是某些

MCP23017芯片

步骤2:焊接

现在是焊接的时候了。

看一下引脚图或完整的数据表

首先放置芯片(看图片,看看引脚在哪里)

然后焊接接地(棕线):将引脚10接地,然后将引脚15、16、17设置为地址(通过选择5v或gnd),如果打算添加,这次将它们全部接地。

然后焊接5v(橙色导线),最重要的一个是引脚9。图中的其余导线通到LED用来供电,而另一端则从引脚21供电(以表明它可以工作)。

最重要的是将SDA(引脚13)连接到A4(在arduino uno上)和SCL (针脚12)至A5(arduino uno)。对于其他arduino板,请阅读规格以找到SDA和SCL引脚。要添加的另一重要事项是SDA SCL和5v之间的两个电阻值分别在4.7k和10k之间(请参见原理图)。它不是必需的(因为arduino有一些上拉电阻,但不是很强),但是如果要使之可靠,我建议您添加它们。

现在您有16个额外的I/O(引脚1至8和21) 28)。

步骤3:编程时间

使用I2C需要线库(包含在标准arduino中) ),但它不是很容易使用。为了使其更简单,我使用IOsheld Library,它使易于使用的命令来控制您的项目。只需将其保存在库类别中。

并加载示例代码并完成。

//64shield库的示例代码

//在Arduino I2C端口上与Centipede Shield或MCP23017一起使用

#include

#include

/*可用命令

.digitalWrite([0 。.. 127],[LOW 。.. HIGH])-行为与普通digitalWrite

.digitalRead([0 。.. 127])-行为与普通digitalRead

.pinMode([0 。.. 127],[INPUT 。.. OUTPUT])-行为与普通pinMode

.portWrite ([0 。.. 7],[0 。.. 65535])-将16位值写入一个端口(芯片)

.portRead([0 。.. 7])-从16位值读取一个端口(芯片)

.portMode([0 。.. 7],[0 。.. 65535])-将I/O掩码写入一个端口(芯片)

.pinPullup([0 。.. 127],[LOW 。.. HIGH])-设置输入引脚上的上拉

.portPullup([0 。.. 7],[0 。.. 65535])-设置一个端口(芯片)上的上拉

.init()-将所有寄存器设置为初始值

示例

IO.init();

IO.pinMode(0,OUTPUT);

IO.digitalWrite(0,HIGH);

int recpin = IO.digitalRead(0);

IO.portMo de(0,0b0111111001111110);//0 =输出,1 =输入

IO.portWrite(0,0b1000000110000001);//0 = LOW,1 = HIGH

int报表= IO.portRead(0);

IO.pinPullup(1,HIGH);

IO.portPullup(0,0b0111111001111110);//0 =无上拉,1 =上拉

*/

IOshield IO;//创建64shield对象

void setup()

{

Wire.begin();//启动I2C

IO.initialize();//将所有寄存器设置为默认值

IO.portMode(0,0b0000000000000000);//将芯片0上的所有引脚设置为输出

//TWBR = 12;//对于400KHz I2C取消注释(在16MHz Arduino上)

}

void loop()

{

for(int i = 0; i 《15; i ++){

IO.digitalWrite( i,HIGH);

delay(10);

}

for(int i = 0; i 《15; i ++){

IO.digitalWrite(i,LOW);

delay (10);

}

}

如果您想要更多的销钉,请查看我的启动项目,以创建64个I/O Arduino屏蔽!是的,在正常大小的arduino防护罩上有64个额外的针脚……疯狂。。

步骤4:在Kickstarter上支持我们

64个IO盾启动突击战

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

    关注

    16

    文章

    1193

    浏览量

    50404
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186936
收藏 人收藏

    评论

    相关推荐

    直接I/O

    电子发烧友网站提供《直接I/O库.pdf》资料免费下载
    发表于 10-14 10:55 0次下载
    直接<b class='flag-5'>I</b>/<b class='flag-5'>O</b>库

    物联网中常见的I/O扩展电路设计方案_IIC I/O扩展芯片

    )自带的I/O端口数量有限,但物联网项目往往需要连接大量的传感器、执行器和其他外设。I2C I/O扩展芯片能够通过
    的头像 发表于 09-24 11:29 433次阅读
    物联网中常见的<b class='flag-5'>I</b>/<b class='flag-5'>O</b>扩展电路设计方案_IIC <b class='flag-5'>I</b>/<b class='flag-5'>O</b>扩展芯片

    保护I/O模块免受浪涌事件的影响

    电子发烧友网站提供《保护I/O模块免受浪涌事件的影响.pdf》资料免费下载
    发表于 09-21 10:14 0次下载
    保护<b class='flag-5'>I</b>/<b class='flag-5'>O</b>模块免受浪涌事件的影响

    远程I/O模块在不同领域的应用

    在当今快速发展的工业自动化领域,远程输入/输出(I/O)模块正逐渐成为不可或缺的核心组件,本文将探讨远程I/O模块在不同领域的广泛应用。 工业制造领域 在汽车制造业等高度自动化的生产线
    的头像 发表于 09-20 16:43 452次阅读

    I/O模块的主要作用有哪些

    远程I/O模块是一种使能远程数据采集和控制的设备。通过使用网络技术,如现场总线、以太网等,远程I/O模块能够将输入和输出信号传递给控制系统。这就像控制系统的延伸手臂,能够触及并集中处理
    的头像 发表于 09-20 16:41 490次阅读

    区域架构和 MCU I/O 扩展

    电子发烧友网站提供《区域架构和 MCU I/O 扩展.pdf》资料免费下载
    发表于 09-09 10:51 0次下载
    区域架构和 MCU <b class='flag-5'>I</b>/<b class='flag-5'>O</b> 扩展

    浅谈如何克服FPGA I/O引脚分配挑战

    到接口文件夹,可以将额外I/O端口添加到接口组合中。 当创建I/O端口时,可将其分配到封装
    发表于 07-22 00:40

    如何使用NimBLE的OTA范例中添加额外的GATT服务呢?

    如何使用NimBLE的OTA范例中添加额外的GATT服务
    发表于 07-19 06:38

    PLC的I/O点数是什么意思

    在工业自动化领域中,可编程逻辑控制器(PLC)扮演着至关重要的角色。PLC以其高可靠性、易编程性和强大的控制功能,广泛应用于各种自动化系统中。而在PLC的性能参数中,I/O点数是一个不可忽视的重要指标。本文将对PLC的I/
    的头像 发表于 06-27 11:15 4108次阅读

    STM8S003F3上电后怎么默认I/O引脚输出低电平?

    MCU型号:STM8S003F3。 问题描述:一个空程序的MCU上电后输出高电平,通过程序配置I/O引脚输出低电平,但这样的话会有一个脉冲输出,会对设备造成影响 希望得到的改进:上电后输出低电平,需要控制时在输出高电平
    发表于 05-10 08:23

    软件可配置模拟 I/O 的设计理念

    作者: Kenton Williston 曾几何时,模拟 I/O 就是最专业、功能最固定的硬件。例如,电流驱动器和电压传感器是完全不同的零件,试图颠倒其角色可谓是荒谬至极。 软件可配置模拟 I/
    的头像 发表于 05-05 11:10 849次阅读
    软件可配置模拟 <b class='flag-5'>I</b>/<b class='flag-5'>O</b> 的设计理念

    求助,关于CX3上未使用的I/O引脚的简单问题

    这是一个关于 CX3 上未使用的 I/O 引脚的简单问题。CYUSB306X 数据表(第 20 页)建议 \" 应使用内部上拉电阻 \" 将所有未使用的 I/
    发表于 02-22 06:55

    FANUC外部I/O点数不够用了怎么办?可以扩展I/O点数吗?

    FANUC外部I/O点数不够用了怎么办?可以扩展I/O点数吗? 扩展FANUC的外部I/O点数是
    的头像 发表于 02-18 15:21 1851次阅读

    HighTec怎么添加.o文件?

    请问大神HighTec怎么添加.o文件,我现在有个软件包,其中几个函数没有源码,软件包里提供的是.o文件里面包含了这几个函数,该怎么添加到编译器里才能编译通过呢?
    发表于 02-18 07:16

    应用方案:MCU通用I/O引脚扩展

    MCU通用I/O引脚扩展 低端MCU由于I/O口数量不足导致部分功能无法实现,用户需要使用数字集成芯片进行扩展,如74LS系列移位寄存器,但
    发表于 01-08 09:35