基于2xPCA9685 16通道舵机驱动模块

电子说

1.3w人已加入

描述

今天分享创意电子IDY,使用16通道PCA9685驱动模块和DS1302实时时钟模块来构建机械七段显示时钟,该时钟使用28个舵机,使用Arduino Uno驱动。

1、所需材料

Arduino Uno

DS1302时钟模块

2 x PCA9685 16通道舵机驱动模块

28 x 9g舵机

杜邦线

公头排针

母排针排

3mm MDF

黑色喷漆

5V 5A电池

12V电源

还需要3D打印某些组件。如果没有3D打印机并且喜欢做东西,那么绝对应该考虑购买一台。如果不想购买也可以在网上打印。

2、3D打印组件

首先设计了一个单独的7段显示数字,该数字可以通过每个段的舵机来启动。舵机在开启时垂直移动每个段,在关闭时则向侧面移动90度。

这些段设计为直接粘贴到标准舵机臂上,因此不需要其他硬件。

3D打印文件在文末获取。

3、焊接电路

使用了两个PCA9685 16通道PWM驱动器,这些驱动器允许您在每个板上控制多达16个伺服器,并通过I2C接口将多达62个板链接在一起,该接口仅在Arduino上使用两个IO引脚。这意味着从理论上讲,您只需两个IO引脚即可独立控制多达992个伺服器。我们将在两个小时的数字中使用一个,在两个分钟的数字中使用一个。

要将两者链接在一起,您需要首先在第一块板的另一侧添加一个引脚接头,然后更改第二块板上的地址,以便对其进行唯一标识。

这是通过桥接板右上方的小端子实现的。它们像拨码开关一样工作,使您可以为每个板设置不同的地址。您只需要在该项目的最右边桥接一组终端。

在修改地址后,制作连接线将两个模块连接在一起,然后连接时钟模块和Arduino Uno,电路图如下:

时钟模块

4、组装时钟显示

时钟模块

完成3D打印的线段后,您需要将线段的背面和侧面喷涂成黑色以匹配背景,以使它们在转开时不可见。如果将它们保留为绿色,则当将线段旋转90度时,仍会沿可见细线着陆。同时喷涂点的背面和侧面,以便从侧面看不到它们。

时钟模块

接下来,使用热熔胶将线段粘贴到舵机臂上。最简单的方法是将臂放到舵机上,然后将线段粘到舵机和臂组件上,这也使您可以检查是否将其直接粘着。

时钟模块

您还需要将小的3D打印间隔块也粘贴到每个伺服器的底部,当将它们粘贴到背板上时,这些有助于伺服器直立。

时钟模块

给每个段编号,以便在代码中跟踪它们。在小时和分钟板上重复了此编号。

时钟模块

在将数字粘贴到背板上之前,将它们放在平坦的表面上进行测试。这样一来,它们就可以移动,而不必担心它们会沿错误的方向移动或移动得太远而彼此碰撞,这可能会损坏各段或使舵机上的齿轮脱落。

一旦对数字的移动感到满意,就可以接下来开始工作了。

时钟模块

需要一个至少600mmx240mm的背板。浅灰色的大盒子是扇形块移开时移动的区域,它们必须至少为210mmx135mm,以便相邻的扇形块不会当它们都向外移动到关闭位置时,请勿触摸。内部较暗的矩形是组成每个数字外侧的6个舵机的中心线。最后,在点的内数字之间留30mm。

测量并从一块3mm MDF上切下后板,然后将其喷涂成黑色。

时钟模块

按照图示在背板上标记段的位置,然后开始将它们粘贴到位。

数字完成后,您需要隐藏布线。在每个舵机附近的板子背面钻孔,以使舵机电线穿过,需要事先对引线进行编号。在每一个上滴一小滴胶水以将它们固定在适当的位置。

使用双面胶带将四个电子板粘贴到时钟的背面。 您也可以用螺钉安装它们,只需确保螺钉不会完全穿过MDF到达另一侧即可。

在下载软件的最终版本之前,从舵机上拆下了机械臂,这样就可以对竖立位置进行细微调整,而不必担心它们会相互碰撞。一个好主意是从舵机上拆下臂并保持关闭,直到您为板子加电并且将伺服器全部置于“开”位置为止(显示88:88)。这样,您可以将它们放回原位,而不必担心它们会相互碰撞和碰撞。

5、上传程序

程序中使用了时钟驱动库和舵机驱动库

6、DIY完成

现在可以使用你的机械段码时钟了。

       责任编辑:pj

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

全部0条评论

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

×
20
完善资料,
赚取积分