|
本帖最后由 Super169 于 2015-6-10 23:47 编辑
今天看了 迷你强大大 的 新一代的桌面气象站系统, 向大大问及传感器连接时, 大大提到全部用上总线式.
令我突然想到, 如果可以做一块类似的板子, 以总线式连接 arduino, 然後再接上舵机, 是否可以把一般舵机都转成总线呢?
由於之前在连接舵机上, 看到总线舵机在连接上很方便, 一个一个舵机连上去, 主板的连线也比较简单.
但总线舵机非常昂贵, 一般都要数百元. 如果可以把一般舵机改成总线, 就可以省下一大笔了.
我本身是硬小白, 如何用电子元件改成总线真的不会. 但如果配合软件, 应该可行吧.
之前做过一些 arduino 用 i2c 通讯的程式, 如果套用在这个课题上.
可以用 arduino 当成一个模块, 就称它为 总线模块, 连接舵机 並用以下方式运作:
1) 用 i2c 的方式把 总线模块 跟 主体的 arduino 连接, 并进行通讯
2) 用 4-8 个 I/O 去设定 i2c address (用最简单的二进法就可以了).
程式中把接口设定为 input_pullup, 用 gnd 连线去改变值, 把几个接口读取了的值(HIGH/LOW) 再以 二进法 转成地址. 8 个 I/O 就可以设定 256 个地址了.
3) 设定几个简单的指令:
- 设定舵机角度 (甚至可加入所需时间)
- 回传当前舵机角度
4) 当 总线模块 接收到角度设定的指令, 就向舵机发出指令 (就是执行 servo 库中的设定)
5) 当 总线模块 接收到 回传当前舵机角度的指令, 只要曾经执行过一次角度设定, 就假设最後执行的角度是现在的角度回传.
不过, 如果之前执行的指令出了问题, 回传的角度就不是真实角度了.
6) 发挥一点想像, 还可以再设定一些其他指令呢
硬件方面, 只要在 arduino 板子做的 总线模块上加上引出 a4, a5 引脚的接线作桥接, 再加上电源的连线, 就可以再连去其他 总线模块 再连接舵机, 而实现总线连线.
由於我对硬体不熟悉, 只可以用 pro mini 或 nano 等的细小 arduino 板子去做.
之前经常听到大家说的最小系统, 不知是否可以用更简单的方法实现?
这样的话, 一个总线舵机, 只是比一般舵机多 10元左右 (就当是买一块平价 pro mini 我价钱), 绝对值得吧.
大家认为这个想法可行吗?
|
|