舵机数字机械钟表
部署手册
目录
接线
主要部件
Aduino UNO R4 WIFI 板
简称单片机或单片机板子。
舵机控制板
型号SCC-32
框架
白色的泡沫塑料,原本用来运输鸡蛋的。下图中分别是反面(固定2个电路板,单片机板 和 舵机控制板的),和正面(固定28个舵机)。
舵机
蓝色的,每个尺寸大约3cm*3cm*1cm,共28个。下图中有7个舵机。
供电
单片机板 用 USB Type-c 口(华为手机充电线)供电。
舵机控制板 用USB Micro-B口 (kindle充电线)供电。舵机控制板如果不单独供电,不能带动全部28个舵机,可以带动4~8个舵机,可以烧写代码。
如果不认识这些口,能插进去的就是对的。
连接
单片机板到舵机控制板-供电和地线
单片机一侧,如下图所示,红线接5V向舵机供电,黑线接GND向舵机提供地线。
舵机一侧,如下图所示。
单片机板到舵机控制板-串口线
用于由单片机板向舵机控制板发送舵机动作指令。
舵机控制板到舵机-单个舵机的线序
舵机的3根线中,棕色接舵机控制板的地。
舵机线颜色 | 舵机控制板上的标记 | |
PWM信号 | 棕 | PULSE |
电源 | 红 | VS2 |
地 | 黄 | ![]() |
舵机控制板一侧,每个竖排的3个插针 接 1个舵机。
舵机一侧。
舵机控制板到舵机-所有舵机的线序
如下图所示,为舵机控制板。注意红框,每个竖排接1个舵机,共可以接32个舵机,本项目使用其中的28个,[0, 27]。
4个数字,每个数字都是7段码,共28段。
4个数字的段与舵机控制板间的对应关系如下图所示,其中的数字即上图中舵机控制板上红框里的编号。
以下连接方法与上文方法等价,只是表述不同。
数字的7段码按下图命名为 a~g。
4个数字的28段与舵机控制板的连接关系,也可按下表操作。
第X个数字 | 段 | 舵机控制板上的 舵机编号 |
1 | a | 0 |
1 | b | 1 |
1 | c | 2 |
1 | d | 3 |
1 | e | 4 |
1 | f | 5 |
1 | g | 6 |
2 | a | 7 |
2 | b | 8 |
2 | c | 9 |
2 | d | 10 |
2 | e | 11 |
2 | f | 12 |
2 | g | 13 |
3 | a | 14 |
3 | b | 15 |
3 | c | 16 |
3 | d | 17 |
3 | e | 18 |
3 | f | 19 |
3 | g | 20 |
4 | a | 21 |
4 | b | 22 |
4 | c | 23 |
4 | d | 24 |
4 | e | 25 |
4 | f | 26 |
4 | g | 27 |
舵机安装
舵机安装角度需要按本手册中的要求。
舵机是三维的,安装要注意手性。
修改舵机角度需要改代码和重新校准舵盘。
如下图所示的角度安装在框架上,
数字的段/翻转片 显示时,舵盘与框架平行,指向右侧(舵机线方向);
数字的段/翻转片 显示时,舵盘与框架垂直,指向这张照片的纸面以外,⊙。
校准舵盘
舵盘,即与舵机连接的白色塑料片,上面要连结数字的段/翻转片。数字的段/翻转片 与 舵机的角度如下图所示。
舵盘角度的标准步骤如下。
第一步 烧写并运行 1.ino。
第二步 每个舵机的角度 按 2 舵机安装 的要求摆放。
第三步 把舵机的输出轴插入舵盘,注意舵盘的旋转角度,使得舵盘水平向右。
每个舵盘的角度需要单独校准。
第四步 烧写并运行 2.ino,应观察所有舵盘的角度都旋转至垂直向外。
代码/工程名称 | 1.ino | 0.ino |
数字的段/翻转片 | 显示 | 隐藏 |
舵盘 | 水平,向右 | 垂直,向外⊙ |
占空比 | 2000us/2500us | 1000 us/2500us |
烧写代码
烧写代码在 arduino ide 中进行。
在这里 https://www.arduino.cc/en/software 下载,解压缩,免安装。
运行下面的程序。
板子
库
Arduino ide第一次编本项目的代码时,需要加载库,方法如下。
在下图中的文件框“2”位置分别输入 ntpclient 和 time,然后点击 “INSTALL”,安装上图中的两个库。
编译
菜单 File | Open,选择要编译的 *.ino 文件,如clock.ino。
菜单 Sketch | Veryfy/Compile 编译。
这一步,不需要把单片机板子插在计算机上。
串口
这一步需要把单片机板子插在计算机上。
在我的机器上,如果COM3没显示,而显示COM5,烧写会失败。怀疑是接触不良,拔插晃动USB线,至舵机动了一下(并且舵机控制板上TX灯每秒闪亮一下)即接触良好,可以选择COM3了。
烧写
这一步需要把单片机板子插在计算机上。
菜单 Sketch | Upload 烧写板子。
每次 加电运行
每次运行时,一旦完成烧写,不再需要PC机,不需要操作以上步骤。
每次运行时,需要以下步骤。
手机热点
每次加电运行前,用手机建立热点,为单片机程序提供网络,从而获取当前时间。
如果不修改 clock.ino 的代码,那么按以下名称和密码设置手机热点。
备注 | ||
名称 | "young huawei" | 包括空格,不包括引号 |
口令 | "younggift" | 不包括引号 |
手机热点开启,保持到所有舵机动作一下,或单片机板载的LED矩阵显示数字。此时从网络获取时间完毕,开始依靠本地时间运行,手机热点可以关闭。
可以修改 clock.ino 的代码,修改 单片机程序所需的手机热点的用户名和口令,修改后要编译、烧写到单片机。
加电顺序
先为单片机板供电,
后为舵机控制板供电。
否则舵机可能旋转至与框架碰撞的角度。
说明
照片除了我拍的,还有来自陈昕若的网友提供的文档中的,以及单片机板和舵机控制板厂商的文档中的。