用microbit遥控BitBot小车

前一段时间在微信订阅号中介绍了国外的BitBot小车,今天尝试了小车的控制,用另外一个microbit作为遥控器,通过无线方式进行控制,通过遥控器(microbit)上的加速度传感器,可以灵活的实现前进、后退、转弯等动作,十分有趣。

小车控制

from microbit import *
import radio

def _dat(l1,l2,r1,r2):
    pin0.write_analog(l1)
    pin8.write_analog(l2)
    pin1.write_analog(r1)
    pin12.write_analog(r2)

def _bd(t):
    if(t>1000):
        a=1000;b=0
    elif(t>200):
        a=t;b=0
    elif(t>-200):
        a=0;b=0
    elif(t>-1000):
        a=0;b=-t
    else:
        a=0;b=1000
    return [a,b]

def bitbot(l,r):
    t=_bd(l)
    a=t[0];b=t[1]
    t=_bd(r)
    c=t[0];d=t[1]
    _dat(a,b,c,d)
    print(a,b,c,d)

print('BitBot start:')
radio.on()
while 1:
    sdat=radio.receive()
    if sdat!=None:
        li=sdat.split(',')
        if li[0]=='BB':
            bitbot(int(li[1]),int(li[2]))
    
    sleep(50)

 

遥控

from microbit import *
import radio

radio.on()
cnt = 0
a=b=0
start=0
while 1:
    if button_a.was_pressed():
        start=1
        print('start')
    
    if button_b.was_pressed():
        start=0
        radio.send('BB,0,0')
        display.show('E')
        print('stop')
    
    sleep(100)
    if start==1:
        cnt = cnt +1
        if cnt>99:
            cnt=0
        display.show(str(cnt//10))
        a=(a+accelerometer.get_y())//2
        b=(b+accelerometer.get_x())//2
        l=a-b
        r=a+b
        radio.send('BB,'+str(r)+','+str(l))
        print(a,b)
    

 

转载于:https://my.oschina.net/shaoziyang/blog/1476357

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值