DIY逗比的时钟,制作资料100%开源!
点击上方“大鱼机器人”,选择“置顶/星标公众号”
福利干货,第一时间送达!
本文转自公众号 | 达尔闻说
作者:稚晖
逗比钟的创意原型最早来源于国外的一个Arduino项目,当时我看完也是深深地被其由内而外散发的沙雕气息所折服,所以就顺着它的思路自己设计了一个,改进了一下结构,增加了一些额外的功能。
制作这个逗比钟的绝大部分材料都可以在网上买到(包括零件加工),成本的话也不高,在下面的教程中我使用的主控电路板是自己设计加工的。
对于小白一点的同学,如果不想自己制作焊接PCB的话,可以直接购买下面推荐型号的开发板,也是可以实现完全一样的功能的。
那么首先说明一下,由于是电子DIY项目,所以最好需要你有一丢丢的电子基础:会Arduino的话就完美了;
不会也没有关系,电路的连线不超过10根,代码都已经提供好了,一键下载即可。
文末附该电子钟开源资料的获取方式。
▲ 逗比钟的手写报时功能,看着很累
制作材料
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
然后,把我给的工程中的:
ArduinoLibraries如果Arduino IDE没有安装ESP8266Arduino15.zip
文件解压到电脑上的这个目录 :
C:Users[你的用户名]AppDataLocal
把下载好的Arduino IDE解压,右键我提供的工程中的文件:
ArduinoDoubiBot_FirmwareDoubiBot_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 here
control.Calibrate();
上面这一行比较关键,前面说的校准就是在这里设置的,首先按照上面的说明修改好代码之后,下载完第一次运行的时候舵机会上电转到一个位置之后固定不动,因为代码会在这一步卡住。这时候需要你调整三个舵机的塑料摆臂的位置,变成如下状态:
▲ 两个摆臂呈L型
▲ 抬笔舵机呈45度角
全部调整好了之后,把这一句注释掉:
// uncommet this to do calibration, code will be blocked here
// control.Calibrate();
再次上传程序,就可以看到机器人开始画东西了,大功告成~
下面这个是视频演示的是通过电脑端串口助手发送命令到逗比钟让它执行的效果,注意白板的左下角是零点坐标。
详细的代码注释大家可以参考我给出的工程文件,祝大家玩得开心。
获取方式
1、本公众号【大鱼机器人】,后台回复关键词:电子钟
2、关注公众号【达尔闻说】,后台回复关键词:电子钟
大家好,我是张巧龙,一名电子技术爱好者,会写一些关于硬件与软件结合的技术文章,若觉得文章对你有帮助,转发分享,也是我们继续更新的动力。
长按识别图中二维码关注
DIY逗比的时钟,制作资料100%开源!相关推荐
- 8a8k单片机c语言写闹钟,我的12864超级时钟制作资料 带红外遥控 闹铃 按键 完整源码...
/************************************************************ 本文件主要用于写按键处理 与闹铃处理 ******************* ...
- LuatOS | 轻松DIY简易天气时钟,训练营资料福利全开放
LuatOS | 轻松DIY简易天气时钟,训练营资料福利全开放 大家好~ 合宙发起的Luat免费训练营第一期,目前已划上小小句号啦!初次开营虽说经验不足,却是大家共同的努力与坚持.期间汇聚了600+热 ...
- 使用RT-Thread Studio DIY 迷你桌面时钟| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)...
1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在上一篇博文中简单的介绍了RT-ThreadStudio一站式工具,基于STM32L ...
- 奥的斯 蓝牙模块 全套制作资料
奥的斯蓝牙模块制作说明 1.用拼版(一大片含10小片)的PCB文件制作线路板,如果量大(200小片)的话,可在嘉立创贴阻容件,几十件不合算. 2.手工焊接GM3085E,AMS1117,DB9接头和蓝 ...
- vue 翻页时钟制作
前言 vue 翻页时钟制作基于 kuan-vue-flip-clock 插件,由于插件的样式比较固定,所以想要改变其样式需要自定义 效果 实现 1.安装依赖 npm i kuan-vue-flip-c ...
- likeshop外卖点餐系统【100%开源无加密】
likeshop外卖点餐系统适用于茶饮类的外卖点餐场景,搭建自己的一点点.奈雪.喜茶点餐系统. 系统基于总部+多门店的连锁模式,拥有门店独立管理后台,支持总部定价和门店定价.LBS定位点餐,可堂食可外 ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...
- 著名数据库状告分支,法院:100%开源为虚假宣传!
文 | 白开水 出品 | OSC开源社区(ID:oschina2013) OSI 发表了一篇博客称"Stop saying Open Source when it's not".缘 ...
- vs linux版本,VSCodium:100% 开源的 VS Code | Linux 中国
原标题:VSCodium:100% 开源的 VS Code | Linux 中国 VSCodium 是微软流行的 Visual Studio Code 编辑器的一个分支.它与 VS Code 完全相同 ...
最新文章
- 戏说 .NET GDI+系列学习教程(三、Graphics类的应用_验证码)
- 油品调和计算软件_油品调合利器——中控supBlend油品在线优化调合解决方案
- PHP任何类转对象访问
- 数据库连接池技术--c3p0
- 并发编程实践三:Condition
- nssl1210-质数【素数筛】
- hadoop生态搭建(3节点)-10.spark配置
- python生成图片链接_python如何将两张图片生成为全景图片
- php7 magento速度优化,7个更快的加载速度的Magento优化快速提示
- 事业心是成功的“动力源”
- Vue加载组件、动态加载组件的几种方式
- java nio 详_java NIO 详解
- discuz3x ucenter 与cas 初步整合
- 0809 电子科学与技术一级学科简介
- PDF如何裁剪页面,PDF裁剪页面的方法
- 个推平台API使用经验
- 鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机
- 安卓内存监控工具,2021年Android面试心得,系列教学
- Android8.1 audio之compressed offload流程(四十一)
- 怎样利用遗忘曲线来进行有效复习?
热门文章
- Fiori configuration edit also needs enqueue
- OData model instance initialization will trigger metadata load from backend
- 一个json格式转xml格式的java实现
- SAP云平台CloudFoundry上部署应用的log分析
- html点击按钮执行php代码,php代码在html文件里面执行的示例
- java运维工程师做什么_网络工程师和网络运维工程师有什么不同?
- python snmp采集交换机信息_Python采集12星座信息,分析出12星座的各个特点
- leetcode155|最小栈(java)题解
- 复杂的c语言,c语言复杂数据类型
- python增量更新数据,Python中的增量最近邻算法