文档章节

用microbit遥控BitBot小车

shaoziyang
 shaoziyang
发布于 2017/07/20 15:08
字数 290
阅读 126
收藏 0
点赞 0
评论 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

让我们一起摇摆 Turnipbit体感遥控车

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

bodasisiter ⋅ 02/24 ⋅ 0

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

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

Mybigkid ⋅ 2017/03/22 ⋅ 0

Google工程师:教你用树莓派+Arduino+TensorFlow搭建图像识别小车

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

x32sky ⋅ 2017/04/07 ⋅ 0

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

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

怪灵 ⋅ 2015/08/19 ⋅ 2

【STM32 .Net MF开发板学习-17】Wifi遥控智能小车

恰好以前购买的一个PDA含Wifi功能,所以与其用PC通过Zigbee控制智能小车,不如用PDA来控制,这样更为方便,不过由于目前.NET MF开发板不直接支持Wifi功能,所以我们也只好间接控制了,也就是...

刘洪峰iot ⋅ 2010/11/02 ⋅ 0

micro:bit 的完整硬件方案

近日,micro:bit 开发板的硬件方案完全公开了,大家可以自己DIY了。 方案包括了完整的原理图、PCB、BOM、装配图等,并且提供了Altium、KCAD、Eagle三种格式。 参考网站: http://tech.microb...

shaoziyang ⋅ 2016/10/22 ⋅ 0

树莓派:地球人都在拿它干什么

吴德新 2013-06-03 13:30 树莓派是一台手掌大小的卡片式电脑,系统基于Linux。它是由英国的树莓派基金会(Raspberry Pi Foundation )开发,意在提升学校在CS(Computer Science)上的教学。...

小堤 ⋅ 2013/06/06 ⋅ 4

Micropython 红外防坠落小车制作实验

智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下防坠落小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要...

bodasisiter ⋅ 01/13 ⋅ 0

Arduino教程汇总

原始链接:Arduino教程汇总贴 (有更新) 初识arduino http://www.arduino.cn/thread-1083-1-1.html 常见arduino版本比较 http://www.arduino.cn/thread-1192-1-1.html arduino驱动安装方法 ht......

小堤 ⋅ 2013/05/26 ⋅ 15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部