电子说
今天分享创意电子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
全部0条评论
快来发表一下你的评论吧 !