项目>行空板 K10>行空板 K10 板载传感器

行空板 K10 板载传感器

摘要:解决行空板 K10 板载温湿度、环境光、加速度怎么读出数值的问题,给出三段可直接运行的 MicroPython 示例与各自预期结果,并说明固件互切与恢复操作、按键中断和 RGB 灯的官方用法约束。

板载温湿度 / 环境光 / 加速度:三类传感器直接读

行空板 K10 把温湿度、环境光、加速度三类传感器都焊在板上,不用外接连线,也不用查器件地址。Mind+ 图形化里有对应的读取积木;切到 MicroPython 则用官方库 unihiker_k10 的 temp_humi、light、acce 三个模块,几行代码就能把数值打印到串口。板上的 A / B 按键和 3 颗 RGB 灯也在同一套板载输入输出里,常和传感器搭配做触发和状态反馈。

官方说明这块 MicroPython 固件仍处于测试阶段,可能有 bug。烧录后想回到 Mind+ 图形化,需在 Mind+ V1 里执行「恢复初始设置」,或在 Mind+ V2 连接 K10 后「擦除」;恢复时先按住 BOOT 再接数据线,识别出端口后松开,再按 RST 复位。

在 Thonny 里写好程序后,保存为 main.py 并存到 MicroPython 设备;只存到「此电脑」的话,板子重启后程序会丢失。

板载温湿度:摄氏、华氏与相对湿度

读取用 temp_humi 模块的三个方法:摄氏温度 read_temp()、华氏温度 read_temp_f()、相对湿度 read_humi()。没有 read_temp_c() 这个方法,方法名照官方示例写就不会踩空:

from unihiker_k10 import temp_humi
import time
while True:
    temp_c = temp_humi.read_temp()
    temp_f = temp_humi.read_temp_f()
    humi = temp_humi.read_humi()
    print(temp_c)
    print(temp_f)
    print(humi)
    time.sleep(1)

预期结果:串口(Thonny 的 Shell 区)每秒打印一组三个数值,依次是摄氏温度、华氏温度、相对湿度。对着板子哈气,湿度读数会在接下来几次打印中上升。传感器测的是板子周围的环境,长时间运行后主板发热会抬高温度读数——这是站内文章的社区实测洞察,并非官方结论,做较精细的环境监测时可以外接温湿度传感器做校正。

板载环境光:一个 read() 拿到光照

环境光模块只有一个 read():

from unihiker_k10 import light
import time
while True:
    print(light.read())
    time.sleep(0.1)

预期结果:串口每 0.1 秒打印一次光照数值。用手遮住板子或挡住光源,数值明显下降,移开后回升,拿这个落差就能做天黑亮灯、自动调光一类的判断。Mind+ 里对应的环境光积木读数单位为 Lux。

板载加速度:三轴数值与姿态

加速度按 x、y、z 三个轴分别读取,单位为 m-g:

from unihiker_k10 import acce
import time
while True:
    print("x=",acce.read_x())
    print("y=",acce.read_y())
    print("z=",acce.read_z())
    time.sleep(0.1)

预期结果:串口持续打印 x、y、z 三行数值。板子按官方图示竖直(重力方向)放置时,对应轴读数为正、接近重力加速度;倾斜或摇晃板子,三个数值随之变化。Mind+ 图形化侧另有姿态检测积木,共 6 种:前倾、后倾、左倾、右倾、屏朝上、屏朝下,做翻转切换、水平仪类小项目比裸读三轴更省事。

按键中断与 RGB 灯的官方约束

想把传感器读数接到按键上做切换,A / B 键支持按下或松开触发中断。官方积木说明的要求:中断里不要放无限循环和长延时,代码尽量短;启用摄像头或 AI 功能时,建议改用按键中断判断按键,不要在主流程里轮询。

RGB 灯在板子背面下方,共 3 颗,用编号指定。MicroPython 侧用 rgb 模块:

from unihiker_k10 import rgb
import time
rgb.write(num = 0,color=0x0000FF)   # 不传 num 或 -1 代表全部
rgb.brightness(9)                    # 亮度 0-9
rgb.clear()

预期结果:运行后背面 0 号灯亮蓝色,执行到 clear() 熄灭;想在亮与灭之间留出观察时间,可在中间加 time.sleep()。亮度取值 0–9,0 即熄灭;设完亮度须再次调用显示命令才生效,改了亮度没变化时先检查有没有重新调用显示。

读不到值或连不上时

  • 现象:Thonny 或 Mind+ 里找不到端口。原因:线材、接口不满足数据传输,或经无供电 HUB 连接。解法:换官方数据线并直连电脑原生 USB 口;Windows 10 / 11 一般免驱,Windows 7 需手动安装串口驱动。
  • 现象:程序上传后板子持续重启。原因:设备内固件状态异常。解法:Mind+ V1 用「恢复设备初始化设置」、Mind+ V2 用「擦除」,操作时先按住 BOOT 再接数据线,识别到端口后松开。

资料来源

  • DFRobot 行空板 K10 官方 Wiki
  • Mind+ 官方文档
  • 行空板 K10 官方 FAQ
  • unihiker_k10 官方库文档

相关内容

给特斯拉自动插枪的小车、“陆空两栖”四足机器人、到点捞菜的火锅机器实践基于行空板K10的地震波模拟探测装置实践行空板K10制作旋转展示台:语音控制灯光与转盘实践STEM教育 · 行空板M10:3D智能客厅课堂项目实践BME688传感器配行空板K10:室内环境监测实战实践ESP-Mosaico智能套件上手:AI编码与模块化扩展实践