文档章节

Python开发实例:TPYBoard开发板制作蓝牙无线小车

bodasisiter
 bodasisiter
发布于 2016/12/16 10:30
字数 876
阅读 169
收藏 1

阿里云携手百名商业领袖、技术大咖,带您一探行进中的数字新基建!>>>

    1.实验目的


    1. 学习在PC机系统中扩展简单I/O 接口的方法。
    2. 进一步学习编制数据输出程序的设计方法。
    3. 学习蓝牙模块的接线方法及其工作原理。
    4. 学习 L298N电机驱动板模块的接线方法。
    5. 学习蓝牙控制小车的工作原理。

点击查看视频演示:https://v.qq.com/x/page/p0355ekm64i.html


    2.所需元器件


    TPYBoard开发板一块(主要MCU,能跑MicroPython的开发板)
    蓝牙串口模块一个
    L298N电机驱动板模块一个
    智能小车底盘一个
    数据线一条
    杜邦线若干

目前这款套件可以在TPYBoard官方商城买到,感兴趣的朋友可以亲手DIY一下!

购买链接:https://item.taobao.com/item.htm?spm=a230r.1.14.141.E0s2zn&id=543154262568&ns=1&abbucket=0#detail

    3.蓝牙串口模块原理


    (1)引出接口包括EN,5V,GND,TX,RX,STATE,我们小车只用到RX,TX,GND,5V四个针脚。
    (2)模块默认波特率位9600,默认配对密码为1234,默认名称位为HC-06。
    (3)led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口,当我们用安卓手机软件发送指令时,通过串口给TPYBoard发送指令,TPYBoard收到指令通过L298BN模块来驱动小车前进,后退,向左,向右或者停止。
    如下图接线,5V 接TPYBoard的VIN, GND 为地线,TX接TPYBoard的RX(这用的是TPYBoard串口2,X3,X4)即X4,RX接TPYBoard的TX即X3。

 4.学习L298N电机驱动板模块的接线方法

    本模块是2路的H桥驱动,所以可以同时驱动两个电机,接法如图所示使能ENA ENB之后,可以分别从IN1 IN2输入PWM信号驱动电机1的转速和方向,可以分别从IN3 IN4输入PWM信号驱动电机2的转速和方向。我们将电机1接口的OUT1与OUT2与小车的一个电机的正负极连接起来,将电机2接口的OUT3与OUT2与小车的另一个电机的正负极连接起来。然后将两边的接线端子,即供电正极(中间的接线端子为接地)连接TPYboard的VIN,中间的接线端子即接地,连接TPYBoard的GND,In1-In4连接TPYBoard的Y1,Y2,Y3,Y4,通过Y1,Y2与Y3,Y4的高低电平,来控制电机的转动,从而让小车前进,后退,向左,向右。

    接线ok后,编写main.py,给TOYBoard通电就ok了,下面是源代码。


    5.源代码

import pyb
from pyb import UART
from pyb import Pin
  
M2 = Pin('X3', Pin.IN)
M3 = Pin('X4', Pin.IN)
N1 = Pin('Y1', Pin.OUT_PP)
N2 = Pin('Y2', Pin.OUT_PP)
N3 = Pin('Y3', Pin.OUT_PP)
N4 = Pin('Y4', Pin.OUT_PP)
  
u2 = UART(2, 9600)
  
while True:
    pyb.LED(2).on()
    pyb.LED(3).on()
    pyb.LED(4).on()
    _dataRead=u2.readall()
    if _dataRead!=None:
    #停止(读取手机APP传过来的指令,不同的软件指令可能不同,可以自己设定,在这里是默认的,下同)
        if(_dataRead.find(b'\xa5Z\x04\xb1\xb5\xaa')>-1):
            print('stop')
            N1.low()
            N2.low()
            N3.low()
            N4.low()
        #向左
        elif(_dataRead.find( b'\xa5Z\x04\xb4\xb8\xaa')>-1):
            print('left')
            N1.low()
            N2.high()
            N3.high()
            N4.low()
        #向右
        elif(_dataRead.find( b'\xa5Z\x04\xb6\xba\xaa')>-1):
            print('right')
            N1.high()
            N2.low()
            N3.low()
            N4.high()
        #后退
        elif(_dataRead.find(b'\xa5Z\x04\xb5\xb9\xaa')>-1):
            print('back')
            N2.high()
            N1.low()
            N4.high()
            N3.low()
        #向前    
        elif(_dataRead.find( b'\xa5Z\x04\xb2\xb6\xaa')>-1):
            print('go')
            N1.high()
            N2.low()
            N3.high()
            N4.low()

 

© 著作权归作者所有

bodasisiter
粉丝 31
博文 209
码字总数 196976
作品 0
潍坊
私信 提问
加载中

评论(0)

[MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具...

bodasisiter
2018/07/19
174
0
TPYBoard之DIY一个无线装甲小车

  *本文作者:_橙子 ゝ,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。   智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人...

FreeBuf
2018/07/26
0
0
TPYBoard超全DIY案例一览:轻松玩转MicroPython开发!

TPYBoardv102是一款比较成熟和经典的MicroPython开发板,不仅适用于学习实验还能应用于大型的工业级开发,是MicroPython入门和研发的不二之选。下面我们就扒开v102的“层层外衣”来一次知识大...

bodasisiter
2018/07/05
3.6K
0
MicroPython新货上架【TPYBoard新品合集】你想要的好玩意儿全在这!

八月火力全开! TPYBoard一大波新品隆重上市! 一次次的研发、尝试 无数次的改进、优化 新品强势来袭 发烧友们期待已久的 STM32F407系列也已全新上线啦~ 1.STM32F407开发板 https://item.tao...

bodasisiter
2018/08/21
338
0
Micropython 红外防坠落小车实验教程

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

osc_gfdnq393
2018/01/13
4
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 整合 Redis 缓存

1.首先导入使用Maven导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><......

FH-Admin
35分钟前
12
0
如何安装WordPress插件 - 初学者的分步指南 - WP站长

<!-- wp:paragraph -->安装WordPress后,每一个初学者需要学习的第一件事就是如何安装WordPress插件。插件允许您向WordPress添加新功能,例如添加图库、幻灯片等。有数千个可用于WordPress的...

wpzhanzhang
50分钟前
8
0
【Flutter组件终结篇】332个组件 658页PDF

老孟导读:历时1年的时间,整理完成了330+组件的详细用法,不仅包含UI组件,还包含了功能性的组件。 虽然整理了 330+的组件基本用法,但并不是让你每一个都学习一遍,任何技术基本都是掌握 ...

老孟Flutter
今天
17
0
三星手机又中招:一张壁纸可引发系统崩溃 附临时解决方法

  前几天国内有大量用户发现三星手机崩溃、黑屏或者无限重启, 这可能是三星手机的日历 APP 的 bug。这件事还没完,三星手机今天又发现了新的问题,换上一张特别的壁纸就会导致系统崩溃,不...

alkcendkljk
今天
13
0
查找当前目录和文件目录[重复] - Find current directory and file's directory [duplicate]

问题: This question already has answers here : 这个问题已经在这里有了答案 : How to properly determine current script directory? 如何正确确定当前脚本目录? (11 answers) (11个答...

技术盛宴
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部