查看原文
其他

DIY逗比的时钟,制作资料100%开源!

达尔闻说 2021-01-17

逗比钟的创意原型最早来源于国外的一个Arduino项目,当时我看完也是深深地被其由内而外散发的沙雕气息所折服,所以就顺着它的思路自己设计了一个,改进结构,增加了一些额外的功能。



适宜人群

制作材料

9g舵机3个 10元

白板笔1支  3元

NodeMcu ESP8266开发板1块 15元

舵机拉杆 1.2MM Z字钢丝 1元

M3x3 平头螺丝若干

M3 螺母若干

M3x12 螺丝若干

M3x6 T型对接螺丝若干

亚克力激光切割零件一批


制作过程

到材料之后,可以照着3D模型文件自己组装起来,组装很简单,但是有的地方要注意一下顺序。

可能有的同学不知道怎么查看3D模型文件,这里说明一下,很简单的。Windows 10其实就自带3D文件查看器,如图以下的几个软件都是可以用来打开STL格式的3D文件的。

这里推荐使用3D Builder来查看,打开后可以自由旋转缩放查看细节↓

一个爆炸图视频供大家参考:

以下是我加工回来的一堆亚克力:

先拼装好舵机臂,注意机身有的地方是用螺丝和螺母固定,有的地方可能需要使用502胶水来粘合。舵机的摆向不要弄错了↓
然后安装龙门架和抬笔舵机↓
再安装左右臂,手臂的铰链是通过上面写的材料中的对接螺丝固定的,大小臂都是3mm厚度所以对接螺母的长度是6mm刚好;大臂和舵机之间是通过舵机附赠的连接件和502胶水粘合的↓
这里需要注意的是上面圈出的手臂和舵机轴的螺丝先不要上,因为后面还有一个舵机角度的校准过程,校准完毕之后再上固定螺丝。

把舵机臂装上架子之后的样子,两者的连接铰链使用的也是机臂上的对接螺丝。
抬笔舵机和机臂的连接使用的是一根舵机连杆铁丝,需要自己用尖嘴钳弯折一下,跟机臂舵机一样,摆臂塑料件的固定螺丝先不上,等下载程序校准好之后再固定。
最终完成品的样子,背面用透明的亚克力切割的,因为PCB上加了一个光敏电阻,后面可以实现关灯之后自动停止工作。↓↓↓
硬件组装完毕,接下来是电路的连接,如上图所示我使用的是自己设计的一个小PCB电路板,原理图和PCB文件我都开源了,在“达尔闻说”微信公众号中回复“逗比钟”就可以下载了。
如果不想自己加工PCB,那么我来介绍一下使用NodeMcu的电路连接方法:

如上图,左、右、抬笔舵机的黄色信号线分别连接NodeMcu的D1、D5、D6引脚,舵机的黑色Gnd线都接Gnd也就是电源负极,红色Vcc线都接电源正极输入。
没有其他需要连接的了,nice & easy~
软件调试

一步是给开发板上传程序,如果使用过Arduino的话,应该没有任何压力,首先安装好ESP8266的板卡包,以及项目需要的两个库文件(“达尔闻说”微信公众号中回复“逗比钟”一键下载即可

打开Arduino IDE,选择好板卡和串口点击上传即可,IDE配置如下,其中的端口根据你们自己的实际端口选择↓

对于不熟悉Arduino的同学,先去Arduino官网下载一个IDE,链接是:

www.arduino.cc/en/Main/Software

然后,把我给的工程中的:

Arduino\Libraries\如果Arduino IDE没有安装ESP8266\Arduino15.zip 

文件解压到电脑上的这个目录 :

C:\Users\[你的用户名]\AppData\Local

把下载好的Arduino IDE解压,右键我提供的工程中的文件:

Arduino\DoubiBot_Firmware\DoubiBot_Firmware.ino

选择:打开方式-选择其他应用-找到IDE目录里的arduino.exe即可,然后按上面的配置图中一样的方式配置,插上开发板点击左上角的上传箭头等待上传完毕就ok啦。
这里解释代码里面的一些内容:
//#define DRAW_WEATHER//#define DRAW_TIME
这两行被注释了,所以下载完程序之后默认是没有任何动作的,如果需要手写时间则删除第二行前面的//,如果要画天气则删除第一行的//
const char* SSID = "***";    // 要连接的WiFi的名称const char* PASSWORD = "***"; // 要连接的WiFi的密码const char* CITY = "shanghai";
这个大家都看得懂,改成你家的WiFi名称和密码即可,使用天气的话下面的CITY改成你在的城市的小写拼音。
// uncommet this to do calibration, code will be blocked herecontrol.Calibrate();
上面这一行比较关键,前面说的校准就是在这里设置的,首先按照上面的说明修改好代码之后,下载完第一次运行的时候舵机会上电转到一个位置之后固定不动,因为代码会在这一步卡住。这时候需要你调整三个舵机的塑料摆臂的位置,变成如下状态:

两个摆臂呈L型

抬笔舵机呈45度角
全部调整好了之后,把这一句注释掉:
// uncommet this to do calibration, code will be blocked here// control.Calibrate();
再次上传程序,就可以看到机器人开始画东西了,大功告成~
下面这个是视频演示的是通过电脑端串口助手发送命令到逗比钟让它执行的效果,注意白板的左下角是零点坐标。

详细的代码注释大家可以参考我给出的工程文件,祝大家玩得开心。

达尔闻入驻分享者 稚晖系列——我是稚晖,常驻“达尔闻说”,不定期为大家分享人工智能前沿知识。

我就关注“达尔闻说”

稚晖的个人网站:www.pengzhihui.xyz

稚晖的往期回顾:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存