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

电子说

1.3w人已加入

描述

步骤1:购物清单

引脚

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

原型屏蔽

可堆叠插头或引脚插头

一些导线

电阻器和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盾启动突击战

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分