文档章节

用microbit遥控BitBot小车

shaoziyang
 shaoziyang
发布于 2017/07/20 15:08
字数 290
阅读 1.4K
收藏 0

精选30+云产品,助力企业轻松上云!>>>

前一段时间在微信订阅号中介绍了国外的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)
    

 

shaoziyang
粉丝 16
博文 78
码字总数 28248
作品 0
武汉
程序员
私信 提问
加载中
请先登录后再评论。
亲子编程玩Micro:bit-动力小车“麦昆”

少儿编程之风已经吹进各大城市,编程猫、乐博机器人、童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班。其实,少儿编程的门槛并不高,它不会让孩子一上手就...

施炯
2019/03/31
0
0
亲子编程玩Micro:bit-动力小车“麦昆”

少儿编程之风已经吹进各大城市,编程猫、乐博机器人、童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班。其实,少儿编程的门槛并不高,它不会让孩子一上手就...

osc_w9s1w4o0
2019/03/31
3
0
microbit教程 两块microbit之间的无线传输复杂数据---重力感应器遥控小车

一。问题描述 用一块microbit作为主控板,板载陀螺仪(重力感应器),可以用来前后旋转,左右滚动,得到不同水平方向(X轴,Y轴)的数据。两块主板之间通过2.4G方式通信,另一块板将X轴,Y轴数据接...

osc_34byaiqc
2018/12/10
15
0
Micropython Turniobit 会思考的避障车

什么是会思考的避障车? 在日常生活中,大家会经常见到各种各样的遥控车,它需要我们人为的操作,控制它的前进、后退和转弯。今天就带大家认识一个不一样的新朋友——会思考的避障车。 会思考...

osc_2cpecyp0
2018/03/14
1
0
Micropython TturnipBit 体感遥控车

所需器材:  TurnipBit开发板 一块  下载数据线 一条  智能小车套件 一套(底盘、车轮、电机等)  超声波模块(HC-SR04)一个(用作小车的“眼睛”)  L298N电机驱动模块 一个  ...

bodasisiter
2018/05/22
155
0

没有更多内容

加载失败,请刷新页面

加载更多

IntelliJ IDEA 默认快捷键大全

Remember these Shortcuts 常用 功能 快捷键 备注 ● Smart code completion Ctrl + Shift + Space - ● Search everywhere Double Shift - ● Show intention actions and quick-fixes Alt......

巨輪
29分钟前
18
0
Hacker News 简讯 2020-07-14

更新时间: 2020-07-14 01:01 I Know What You Download on BitTorrent - (iknowwhatyoudownload.com) 我知道你在BitTorrent上下载了什么 得分:196 | 评论:159 Show HN: Primo – all-in-one......

FalconChen
今天
114
0
绕过移动端系统限制的 dlopen 库 byOpen

byOpen是一个绕过移动端系统限制的增强版dlfunctions库。 支持特性 Android 支持App中加载和使用Android系统库接口(即使maps中还没有被加载也支持)。 Android 7以上dlopen, System.load都是...

shzwork
昨天
25
0
Golang学习系列第二天:变量、常量、数据类型和流程语句

继golang第一天后,今天学习下golang的变量、常量、数据类型和控制流语句。 做过其他编程语言(比如JavaScript,java,python)项目的话,其实很好理解变量、常量、数据类型和控制流。 变量也...

董广明
昨天
48
0
redis系列之——一致性hash算法

一致性hash算法你了解吗?什么时候使用?解决什么问题?redis集群模式使用了一致性hash算法了吗? 数据分片(sharding) 分布式数据存储时,经常要考虑数据分片,避免将大量的数据放在单表或...

诸葛小猿
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部