Mircopython: 在BPIbit上制作指南针


Document

指南针

  • 注意:在 1.2 的版型上没有磁力计功能。

  • 这个模块可以访问内置的电子罗盘(即mpu)。在使用指南针之前,应该校准指南针,否则读数可能会出错

  • 校准罗盘会导致程序暂停,直到校准完成。校准由一个小游戏组成,通过旋转板子在空中画圈完成校准

关于指南针的函数

compass.calibrate()

  • 执行此函数开始校准过程,会收到一条有指导意义的信息,然后我们需要旋转板子,在空中画一'8'或着转圈,(这个动作可以参考你的手机,手机的指南针功能在使用之前都会有一个校准的步骤),这个校准的过程会占用大概1分钟的时间,校准期间无法执行其他程序
  • 提示信息


compass.is_calibrated ()

  • 如果罗盘校准成功,返回True,否则返回False。

compass.get_x ()

  • 返回x轴上磁场强度的读数,它是一个正整数或负整数,取决于磁场的方向。

compass.get_y ()

  • 返回y轴上磁场强度的读数,它是一个正整数或负整数,取决于磁场的方向。

compass.get_z ()

  • 返回z轴磁场强度的读数,它是一个正整数或负整数,取决于磁场的方向。

compass.heading()

  • 给出从上述读数计算出的罗盘航向,为0到360范围内的整数,表示按顺时针方向的角度,12点钟方向为0

compass.get_field_strength()

  • 返回设备周围磁场大小,它是一个整数。

示例代码

"""
    compass.py
    Creates a compass.
    The user will need to calibrate the compass first. The compass uses the
    built-in clock images to display the position of the needle.

"""
from microbit import *

# Start calibrating
compass.calibrate()
# Try to keep the needle pointed in (roughly) the correct direction
while True:
    sleep(100)
    needle = ((15 - compass.heading()) // 30) % 12
    display.show(Image.ALL_CLOCKS[needle])
  • 在这个例子中第一步程序先校准了电子罗盘(mpu),校准完成后可以看到led面板上有一个指南针它不管如何转动板子它始终指向南方
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • refs: https://developer.android.google.cn/guide/topics/se...
    richy_阅读 41,981评论 5 31
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 13,349评论 0 7
  • 朋友们,大家好! 飞机在辽阔的天空中翱翔,轮船在无际的大海中航行,探险队在苍莽的森林中勘察,商旅们在浩瀚的...
    姜显威阅读 7,990评论 1 1
  • 内容概要自由叙 第一章,为啥早上写日记 冷静再写殊不同 短时思考正确理 未来日记改模式 隔天清晨再确认 第二章,任...
    肖文一江西阅读 262评论 0 0
  • 放松的滋味 就如 咖啡里注入牛奶 喝着 绵滑醇香 自由的滋味 就如 海里翻跃的鱼儿 溅起 浪花朵朵 生活的滋味 就...
    流糖阅读 203评论 4 4