8232| 16
|
[项目] 千人千面,罗盘双面——双面电子罗盘 |
功能介绍 正面:中间是一个RGB灯环扩展板,集成了按钮和24个LED彩灯,灯环周围分别标刻着由24个天干地支方位和由数字标刻的方位角度。每个LED灯对应一个方位(15度)。当手持罗盘水平旋转时,LED灯会指示出你当前面向的方位。 反面:一个十字箭头,始终保持着指向固定的方向;人拿着罗盘转动时,箭头会向相反的方向转动,以指示准确的方向。 该罗盘设置了3种模式,开机后默认为【等待模式】;按下A按钮,进入【定位模式】(正面);同时按下A、B按钮,会返回【等待模式】;按下B按钮,进入【指向模式】(反面)。 设计原理 大家是否试过将micro:bit倒过来,再看指南针朝向呢?和正面读数比较,可以发现正好进行了翻转,也可以看成顺时针或逆时针旋转了180°,很有趣吧!对于这个作品来说,关键点是反面的180°朝向是正北方向。 正面的功能较简单,直接调用【指南针朝向】模块,读取当前的方位角度,根据返回的角度来控制对应LED的亮起;一个LED对应一个15度的角。除了第1颗LED(0号)需要单独处理外,其他的只要将角度和LED的序号做个映射就能解决。 反面的功能实现主要依靠两个舵机配合完成,一上一下,一个负责逆时针180°、一个负责顺时针180°,这样能保证处于任何一个方位时都能够通过舵机的旋转让向北箭头指向180°(正北)方向。 当指南针朝向大于180°时,说明向顺时针方向偏移了,这时就启动下面的舵机向左转相同的度数纠偏(上面的舵机保持在180°);当指南针朝向小于180°时,说明向逆时针方向偏移了,这时就启动上面的舵机向右转相应的度数纠偏(下面的舵机保持在0°)。 演示视频 制作过程 No.1 准备材料 材料清单: Micro:bit主控板 1块 DF RGB灯环扩展板 1块 180°舵机 2个 No.2 硬件连接 主控板与扩展板连接 两个舵机分别接到P0、P1引脚 RGB LED接口为P2 No.3 外型设计 本作品外型以奥松板为材料,通过激光切割加工制作,上图为设计图纸。装配时发现还有些需要改进的地方。 切割好的材料 No.4 装配 组装好5块木板 先不要装太紧 将扩展板与卡件固定在一起 将卡件连同扩展板固定在盒内 注意方向 编写程序将第一个舵机(P0)置为0°; 固定在卡件上; 按南北方向固定舵臂。 编写程序将第二个舵机(P1)置为180°; 固定在第一个舵机的舵臂上; 两个舵机的轴要保持在一条直线上 装上盖板 装前插好数据线 根据箭头木板件预留孔的方向, 固定第二个舵机的舵臂。 将十字箭头木板件固定到第二个舵机的舵臂上 No.5 编写程序 使用Mind+ V1.6.2编写程序 编程思路见“功能介绍”和“设计原理” 成品展示 正面 反面 等待模式标识 定位模式标识 定位模式工作中 指向模式标识 指向模式工作中 欢迎大家关注我的公众号! |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed