编程语言
首页 > 编程语言> > 【microbit】micropython 之 体感遥控器

【microbit】micropython 之 体感遥控器

作者:互联网

设计一款无线体感遥控器,模拟控制赛车前进、后退、左转、右转、停止。

使用:2块microbit板件

设计思路:
通过检测三轴加速度传感器X/Y轴的数值,通过判断数值的范围,来确定当前行走的方向,只考虑前进、后退、左转、右转,不考虑左转+前进这种情况(可通过增加判断来支持这种模式),然后发送单一字符给接收端。

发送程序

# 在这里写上你的代码 :-)
# F:前进  B:后退   L:左转   R:右转    S:停止

import radio
from microbit import *

radio.on()
radio.config(channel=20)  # 修改为自己的组别,防止干扰

state = "S"

while True:
    if accelerometer.get_x() > 450:
        state = "R"
    elif accelerometer.get_x() < -450:
        state = "L"
    elif accelerometer.get_y() > 450:
        state = "B"
    elif accelerometer.get_y() < -450:
        state = "F"
    else:
        state = "S"
    radio.send(state)
    sleep(500)

接收程序

# 在这里写上你的代码 :-)
import radio
from microbit import *

radio.on()
radio.config(channel=20)  # 修改为自己组别,防止干扰

while True:
    incoming = radio.receive()
    if incoming != None:
        if incoming == "F":
            display.show(Image.ARROW_N)
        elif incoming == "B":
            display.show(Image.ARROW_S)
        elif incoming == "L":
            display.show(Image.ARROW_W)
        elif incoming == "R":
            display.show(Image.ARROW_E)
        else:
            display.show(Image.NO)
    sleep(100)

这个只是简单的程序,如果考虑加速这种情况的话,可以将X、y轴的数据打包后发送,接收方解包来判断数值大小,根据数值来进行速度调整。

标签:micropython,elif,体感,microbit,show,Image,state,radio,incoming
来源: https://blog.csdn.net/cw_huang/article/details/116596641