文档章节

用microbit遥控BitBot小车

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

前一段时间在微信订阅号中介绍了国外的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
粉丝 11
博文 75
码字总数 25881
作品 0
武汉
程序员
Micropython TturnipBit 体感遥控车

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

bodasisiter
05/22
0
0
让我们一起摇摆 Turnipbit体感遥控车

相信大家对Microbit是非常熟悉的,而今天我们做的这个小玩具所用的核心板是Turnipbit,是基于 Microbit开发的一块适合儿童适用的板卡。基本使用原理是一样的,这里就不多介绍了,代码这方面我...

bodasisiter
02/24
0
0
基于树莓派3B+,一个可以遥控的小车(一)

一、树莓派端口驱动 用树莓派的8个端口驱动小车的四个电机(一个电机两根线),首先修改DTS(Device Tree Source)文件(bcm2708_common.dtsi,bcm2710-rpi-3-b.dts),在对应的DTS文件中加入...

Mybigkid
2017/03/22
0
0
Google工程师:教你用树莓派+Arduino+TensorFlow搭建图像识别小车

雷锋网按:本文作者赵智沉,Google软件工程师。来自知乎专栏:赵智沉的作坊。雷锋网(公众号:雷锋网)获授权转载。 从买第一个Arduino套装开始,我接触机器人有好几年了,但直到最近才开始做完...

x32sky
2017/04/07
0
0
51单片机编写程序时如何将两个不同功能的程序连在一起以达到切换两个功能的作用

我用51单片机做的智能小车有遥控,循迹,避障三个功能,用什么样的程序能够达到功能切换

怪灵
2015/08/19
84
2

没有更多内容

加载失败,请刷新页面

加载更多

使用xtrabackup完成远程备份

转载收藏,以防丢失 需求 Can I backup remote databases from my local server02-27-2013, 06:17 AMHi, I am using mysqldump so far for taking daily backups of my Production datab......

阿dai
2分钟前
0
0
OSChina 周五乱弹 —— 心情超级好开始乱删库

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 手机党少年们想听歌,请使劲儿戳(这里) 把生命除去上班时间, 都开心不起来。 @真Skr小机灵鬼儿: 你才不孤独呢, 想想你早起, @for。:这...

小小编辑
3分钟前
0
2
为什么你的python版本一团糟?因为少了这个操作

坑人的版本 Python 的版本问题一直是个广被吐槽的黑点。以至于有人调侃说: Python 是世界上最好的两种语言! 在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学...

crossin
昨天
2
0
Cannot forward after response has been committed

声名:转载自CSDN 通过toncat启动服务器,可以正常登陆访问,登陆进去选择子系统的时候点击登陆的时候,可是去又回到了登陆界面,如此反复就是不能够进入子系统,查看后台报的错误: java.la...

小橙子的曼曼
昨天
2
0
shell编程(告警系统邮件引擎、运行告警系统)

告警系统邮件引擎 1.如果要使用邮件引擎功能,需要调用mail.py文件,放到/usr/local/sbin/mon/mail/目录下即可,具体内容如下: #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,s...

蛋黄_Yolks
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部