制作microbit光环指南针

micro:bit编程、教学、展示
STEM
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

制作microbit光环指南针

#1

帖子 shaoziyang »

图片

翻译自:https://www.kitronik.co.uk/blog/bbc-mic ... lo-compass

使用microbit制作光圈版的指南针,效果非常好。
需要使用的材料:
图片


步骤1:
图片

从所提供的3D文件中打印零件。如果能够喷漆效果更好。用砂纸打磨表面并使用底漆进行高质量的表面处理。

用激光切割加工3毫米有机玻璃制作指南针的表面(磨砂或透明塑料都不错)。使用第一个文件进行雕刻,将外线的力量设置为0。然后使用第二个文件剪切零件。不要在雕刻和切割之间移动有机玻璃,因为切割不会排齐。

将电池的JST引线插入ZIP Halo背面的连接器中。如图所示将电池装入指南针本体。

第2步:
图片


将垫片放在电池上,将ZIP Halo的顶部装上电线。隔垫对于减少微型罗盘上电池的干扰很重要。

图片


正如你所看到的,ZIP Halo贴合在表壳底部,设计使连接线隐藏起来。

第3步:
图片


将激光切割面板放在ZIP Halo上,并且可以打开/关闭开关。使用两颗M3x10mm螺丝固定。

图片

注意:如果您无法使用激光切割机,则可以在没有面板的情况下使用ZIP Halo Compass。为此,您需要使用较短的螺丝或更深的钻孔。

步骤4:
图片


将指南针的盖子放在顶部,并使用另外两个M3x10mm螺丝创建一个铰链。不要拧得过紧或盖子不能打开。

第5步:
您可以通过嵌入式编辑器下载ZIP Halo Compass的代码或创建您自己的代码。上面的代码将被下载到您的默认下载文件夹中,将您的microbit插入计算机上的USB端口,它将显示为一个可移动驱动器,用于将十六进制文件放到上面。

代码: 全选

let North_Pixel = 0
let degrees = 0
let Pixels = neopixel.create(DigitalPin.P0, 24, NeoPixelMode.RGB)
Pixels.setBrigthness(25)
let position = 0
basic.forever(function () {
    degrees = input.compassHeading()
    if (degrees < 45 || degrees > 315) {
        basic.showString("N")
    } else if (degrees < 135) {
        basic.showString("E")
    } else if (degrees < 225) {
        basic.showString("S")
    } else {
        basic.showString("W")
    }
    North_Pixel = 24 - Math.idiv(degrees, 15)
    if (North_Pixel == 24) {
        North_Pixel = 0
    }
    Pixels.range(position, 24).showColor(neopixel.colors(NeoPixelColors.Blue))
    Pixels.range(North_Pixel, 1).showColor(neopixel.colors(NeoPixelColors.Red))
})

注意:我们已经注意到,在微处理器关闭一段时间后,有时代码有时会停止正常工作......为了解决这个问题,请您重新下载HEX文件到microbit上,它会再次正常工作。

  

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章