• [TPYBoard


    转载请注明:@小五义 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

     

     

  • 相关阅读:
    ie 中window.open无法带referrer
    es6 学习7 Set 和 Map 数据结构
    ES6 学习6 数组的扩展
    ES6 学习3 函数
    ES6学习之环境配置
    理解闭包
    javascript中实现继承的几种方式
    js 原型和原型链
    Vue学习之v-if与v-show的区别
    unity图集切成多张图片的方法
  • 原文地址:https://www.cnblogs.com/xiaowuyi/p/6487233.html
Copyright © 2020-2023  润新知