• ESP32 MicroPython UART及小车类构造函数实验⑥


    ESP32 MicroPython UART及小车类构造函数实验⑥

    1、实验目的

    控制小车动起来

    2、实验内容

    控制小车的前进、后退、左转、右转。读取小车
    使用到的串口构造函数

    uart=machine.UART(id,baudrate,rx,tx)
    
    uart:返回的构造对象,可以使用返回的对象进行使用方法
    id:串口编号(一般使用12)
    baudrate:串口波特率,常用的有9600115200
    rx:串口接收引脚号
    tx:串口发送引脚号
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    使用方法

    num=uart.any()
    读取串口接收到的字符串数量,没有读到数据返回0,否则返回读取到的数量
    
    • 1
    • 2
    data=uart.read(n)
    读取串口数据,n:要读取的数据长度,返回data[]读取到的串口数据数值,返回为bytes对象
    
    • 1
    • 2

    小车类构造函数:

    myCar=car.SERIAL_CAR()
    myCar:返回的小车控制对象
    
    • 1
    • 2

    使用方法

    myCar.forward(pwm)	
    小车前进
    pwm:控制小车转动的速度(0~100),由速度0~100
    
    • 1
    • 2
    • 3
    myCar.back(pwm)
    小车后退
    pwm:控制小车转动的速度(0~100),由速度0~100
    
    myCar.right(pwm)	
    小车右转
    pwm:控制小车转动的速度(0~100),由速度0~100
    
    myCar.left(pwm)	
    小车左转
    pwm:控制小车转动的速度(0~100),由速度0~100
    
    myCar.stop()	
    小车停止、刹车
    
    myCar.leftForward(pwm)	
    小车左边轮子前进
    pwm:轮子转动的速度(0~100),由速度0~100
    
    myCar.leftBack(pwm)	
    小车左边轮子后退
    pwm:轮子转动的速度(0~100),由速度0~100
    
    myCar.rightForward(pwm)	
    小车右边轮子前进
    pwm:轮子转动的速度(0~100),由速度0~100
    
    myCar.rightBack(pwm)	
    小车右边轮子后退
    pwm:轮子转动的速度(0~100),由速度0~100
    
    myCar.servo(pwm)	
    小车的舵机控制
    pwm:舵机的控制脉宽,500us~2500us
    
    d=myCar.distance()	
    小车超声波测距
    d:获取到测距距离,单位厘米(cm)
    
    ir=myCar.ir()	
    小车读取的红外避障数据
    ir:返回四个红外避障数据,类型为元组
    
    myCar.buzzer(freq)	
    小车蜂鸣器控制
    freq:蜂鸣器的频率,0表示停止鸣叫,频率范围:750Hz~65535Hz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    在上面我们可以知道小车控制的构造函数和使用方法,下面我们开始编写Python代码来控制小车转动。

    3、参考代码

    import car                #导入小车控制模块
    import time               #导入时间控制模块
    myCar=car.SERIAL_CAR()   #构建小车控制对象
    time.sleep(1)                 #延时1s,等待模块稳定
    #开始小车控制实验
    myCar.forward(50)    #小车前进 参数值0~100表示 占空比0% ~ 100%
    time.sleep(2)        #延时2s
    myCar.back(50)       #小车后退,速度50
    time.sleep(2)        #延时2s
    myCar.right(50)      #小车右转,速度50
    time.sleep(2)        #延时2s
    myCar.left(50)       #小车左转,速度50
    time.sleep(2)        #延时2s
    myCar.stop()         #小车停止控制
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    4、实验结果

    保存好参考代码后,执行运行程序可以看到小车开始以50的速度前进2秒后,再后退2秒、右转2秒、左转2秒最后停止。
    在这里插入图片描述

    相关代码及固件:
    https://download.csdn.net/download/lu330274924/88549191

    智能小车购买链接
    技术支持抖音:易驱达Easy Drive Coming
    淘宝官方商城:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-18887194911.15.135014bdaKI6mV&id=715385110550

  • 相关阅读:
    Java设计模式(上)
    Java 文件处理工具类FileUtils
    Linux认识与学习BASH
    idea永久设置maven配置,新项目不用再设置
    Matlab实现遗传算法仿真(附上20个仿真源码)
    端口被谁占用如何解决?
    HTML5学习系列之音频和视频
    查询物流有多简单,具体步骤如下
    使用rpm重新安装包
    DDR SDRAM 学习笔记
  • 原文地址:https://blog.csdn.net/lu330274924/article/details/134455750