[TPYBoard - Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机

简介: 转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi            欢迎加入讨论群 64770604 一、实验器材 1、TPYboard V102板  一块 2、无线蓝牙串口透传模块HC-06   一个  3、OLED 屏 一块 二、无线蓝牙串口透传模块 1、无线蓝牙串口透传模块,又叫蓝牙模块,是一种集成蓝牙功能的短距离无线通讯模块。

转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi            欢迎加入讨论群 64770604

一、实验器材

1、TPYboard V102板  一块

2、无线蓝牙串口透传模块HC-06   一个 

3、OLED 屏 一块

二、无线蓝牙串口透传模块

1、无线蓝牙串口透传模块,又叫蓝牙模块,是一种集成蓝牙功能的短距离无线通讯模块。按照协议标准,分为1.2、2.0、2.1、4.0和4.1。4.0以上又称为BLE。蓝牙模块按照用途可分为数据蓝牙模块和语音蓝牙模块。数据蓝牙模块主要用于无线数据传输,语音蓝牙模块则主要完成语音及立体声音频的无线数据传输。蓝牙模块的接口分为串口、usb口、数字IO口,模拟IO口、SPI编程接口及语音接口。本实验中使用的蓝牙模块为串口无线数据模块。

2、常用的蓝牙模块:HC05蓝牙模块和HC06蓝牙模块属于HC民用级串口蓝牙模块,HC03和HC04属于HC工业级串口蓝牙模块。目前大部分蓝牙产品都使用民用级。其中HC05是主从一体,既可以搜索蓝牙也可以被搜索,HC06是从机模块,只能是被搜索。这个实验中,我们使用从机模块就足够,因为采用HC06。

 

3、HC06的主要应用场景

(1)可用于各种带蓝牙功能的电脑、蓝牙主机、手机、PDA以及智能家居等

(2)宽波特率范围4800-1382400,并且模块兼容单片机系统。

(3)可以很容易的利用手机蓝牙软件进行调试。

三、蓝牙模块HC06的使用

     这里我们用一个例子来简单说明蓝牙模块HC06如何使用。

     例子:手机蓝牙调试工具向HC06发送R时,点亮tpyboard上的LED3,当发送Y时,关闭LED3.

 1、连线方法

 

 

2、手机蓝牙调试工具

    手机蓝牙调试工具有很多,这里我们选用蓝牙串口助手。图标如图

         这个软件可以进行数据的收发,这个功能可以实现数据的监控,如图数据监控的截图

还可以进行模拟按键的数据收发(这个功能可以方便我们做个蓝牙遥控小车这一类的DIY),这个功能可以设置一下,详细的步骤如下:

1、点击模式切换,切换至监控站模式;

2、点击页面中的右下角的三个点(功能扩展键)选择更多

3、选择地面站设置,界面如图

 

在这里设置好了之后点击确定就可以保存设置。

3、用手机控制LED3的亮灭

程序代码:

import pyb
from pyb import UART
from pyb import Pin
ULY=UART(2,9600)#(TX, RX) = (X3, X4)
while True:
    if(ULY.any()>0):
        scs=ULY.readall()
        print(scs)

实现效果:

http://v.youku.com/v_show/id_XMjUzNDUwNTM0MA==.html

 

四、舵机

1、舵机

   每个玩过机器人的应该都听说过这个小东西,或者听到过它转起来时发出的“吱吱吱”声音。他与普通电机不同,他可以在指令下旋转0到180度之间的任意角度。比如我们在控制机器人的胳膊转动时,就可以用舵机来控制其抬起或者是放下的角度。

2、舵机的控制与选择

舵机一般都是采用三线控制,即GND、POWER和control(PWM)。

舵机在选择时,有很多种,一般选择时采用以下指标:

大小:舵机身材不同,从大到小,一直到微型有很多种,选择适合你项目的舵机。

重量:根据项目要求选择合适重量的舵机。

扭力:就是舵机有多大的力。在5V的电压下,标准舵机的扭力是5.5千克/厘米(75盎司/英寸)。

转速:从一个位置旋转到另一个位置所需的时长。在5V的电压下,舵机标准转度是0.2秒移动60度。

3、支架

   选择好舵机,还要选择合适的支架,保障舵机能够在平台上运转。

 五、手机蓝牙控制舵机旋转

        使用蓝牙串口助手软件发送想让舵机转动的角度,然后舵机相应命令,转动相应的角度。

1、连线方法

 

2、代码

import pyb
from pyb import UART
from pyb import Pin
from pyb import Servo
ULY=UART(2,9600)#(TX, RX) = (X3, X4)
i=1
ds=0
s=Servo(1)
scs=0
while i>0:
    ds=int(scs)-90
    s.angle(ds,300)
    pyb.delay(1500)
    if(ULY.any()>0):
        scs=ULY.readall()

 

3、演示效果

http://v.youku.com/v_show/id_XMjUzNDUwNjkwOA==.html

 

 

目录
相关文章
|
10天前
|
Python
Python Internet 模块
Python Internet 模块。
104 74
|
9天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
11天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
15天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
14天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
11天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
10天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
11天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
11天前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!
|
17天前
|
安全 程序员 Python
Python学习的自我理解和想法(1)
本篇博客记录了作者跟随B站“黑马程序员”课程学习Python的第一天心得,涵盖了`print()`、`input()`、`if...else`语句、三目运算符以及`for`和`while`循环的基础知识。通过实际编写代码,作者逐步理解并掌握了这些基本概念,为后续深入学习打下了良好基础。文中还特别强调了循环语句的重要性及其应用技巧。