当前位置:首页  <  应用教程  <  【应用教程】Micro:bit2WD小车驱动...
【应用教程】Micro:bit 2WD小车驱动
编辑:neil 2017-12-21 浏览次数:1178

micro:bit 板载蓝牙,加速度计,电子罗盘,5*5 LED 点阵等传感器,还可以通过 GPIO 来控制其他的传感器,或者从传感器上读取数据,但是如果要使用 micro:bit 来驱动一个小车,就需要加入电机驱动板,在这个项目中,我们使用双 H 桥电机驱动板和 Micro:bit 控制器结合,来控制 2WD 移动平台的基本运动,实现移动平台的前进、后退、左转、右转及停止,同时在 micro:bit 的点阵上显示小车的行进方向。我们将给出 JavaScript Blocks Editor 和 microPython 两种语言编写的控制代码。

 


一、使用硬件

1、2WD 移动平台(电机版) * 1

2、micro:bit 控制器 * 1

3、micro:bit 扩展板 * 1

4、双 H 桥电机驱动板 * 1

5、7.4V 锂电池 * 1 

6、电源开关 * 1

7、实验连接线若干


二、硬件连接

三、代码编写

1、JavaScript Blocks Editor


2、microPython 

from microbit import *
speed = 180

def forword():
    q = Image(  "00900:"
                "09990:"
                "90909:"
                "00900:"
                "00900")
    display.show(q)
    pin1.write_analog(speed)
    pin2.write_analog(speed)  
    pin11.write_digital(0)
    pin12.write_digital(1)
    pin14.write_digital(0)
    pin15.write_digital(1)

def back():
    h = Image(  "00900:"
                "00900:"
                "90909:"
                "09990:"
                "00900")
    display.show(h)
    pin1.write_analog(speed)
    pin2.write_analog(speed)  
    pin11.write_digital(1)
    pin12.write_digital(0)
    pin14.write_digital(1)
    pin15.write_digital(0)
    
def left():
    z = Image(  "00900:"
                "09000:"
                "99999:"
                "09000:"
                "00900")
    display.show(z)
    pin1.write_analog(speed)
    pin2.write_analog(speed)  
    pin11.write_digital(0)
    pin12.write_digital(1)
    pin14.write_digital(1)
    pin15.write_digital(0)
    
def right():
    y = Image(  "00900:"
                "00090:"
                "99999:"
                "00090:"
                "00900")
    display.show(y)
    pin1.write_analog(speed)
    pin2.write_analog(speed) 
    pin11.write_digital(1)
    pin12.write_digital(0)
    pin14.write_digital(0)
    pin15.write_digital(1)
    
def stop():
    s = Image(  "00000:"
                "00000:"
                "99999:"
                "00000:"
                "00000")
    display.show(s)
    pin1.write_analog(speed)
    pin2.write_analog(speed)  
    pin11.write_digital(0)
    pin12.write_digital(0)
    pin14.write_digital(0)
    pin15.write_digital(0)
    
while True:
    forword()
    sleep(1000)
    stop()
    sleep(1000)
    
    back()
    sleep(1000)
    stop()
    sleep(1000)
    
    left()
    sleep(1000)
    stop()
    sleep(1000)
    
    right()
    sleep(1000)
    stop()
    sleep(1000)


将上面的代码复制到 mu 编译器中,连接 micro:bit 和电脑,然后单击 Flash,烧录代码,小车会开始运动,同时点阵显示当前的运动方向。

四、实验总结

这个项目仅对移动平台进行了基本控制,没有加入其他的传感器,我们可以在这个基础上进行扩展,例如加入寻线传感器或避障传感器来制作一款智能移动平台,同样你也可以使用 micro:bit 板载的功能,让小车变得更加智能。


----------------------------------------------------------------------------------------------------------------

奥松机器人官网:www.robotbase.cn

微信号:搜索公众号“奥松机器人”

QQ群: 271230889(讨论,解惑)

微博:@奥松机器人基地

----------------------------------------------------------------------------------------------------------------

温馨提示:予人玫瑰,手留余香;如果你喜欢这篇文章,不妨转发推荐给你身边的朋友!