秦皇岛岛主 发表于 2017-7-7 17:31:47

uPyCraft-micropython教程之控制串口超声波

如果要开发一个小车,超声波测距肯定是必须的,调速,转向,避障之类的都要依赖于它。micropython是否可以驱动串口超声波模块呢,pyboard和esp32都可以实现这个功能。网上有很多超声波模块,基本上都是双探头的,体积太大,做个mini小车会太占空间。嘿嘿,还是用单探头的超声波吧,就是这货,是不是很小巧。顺便附一个链接地址https://www.dfrobot.com.cn/goods.php?id=1391#





准备工作

硬件平台    FireBeetle-ESP32 x1
超声波模块   URM07-UART模块 x1
软件平台   uPyCraft0.21

开始干活
第一步:串口连接FireBeetle-ESP32主板,将urm07.py 从uPy_Lib中拖动到device/lib中(如果您的uPy_Lib库中没有urm07.py,请更新examples或者从附件中下载,拖动上传)



第二步: 打开 File->Examples->Measure->urm07Demo.py(如果您的examples中没有urm07Demo.py,请更新examples或者从附件中下载,拖动上传)



urm07Demo.py的代码是这样的
#hardware platform: FireBeetle-ESP32

from machine import UART
import urm07
import time

u2 = UART(2,baudrate=19200,rx=25,tx=26,timeout=10)
time.sleep(1)

urm = urm07.URM07(u2,interval=200)
#urm.setDeviceAddr(0x11)
#urm.setBaudRate(urm07.BAUDRATE19200)
while True:
distance = urm.getDistance()
if(distance == 65535):
    print("measure distance failure!!!")
else:
    print("distance=%d mm"%distance)
print("temp=%3.1f C"%(urm.getTemperature()/10))



第三部:连接硬件

URM07         FireBeetle-ESP32
RX         连接到      IO26/D3
TX         连接到      IO25/D2
GNC      连接到   GND
VCC         连接到   3V3
连接后效果如下图



下载并运行urm07Demo.py,执行效果如图


我测量的桌面到房顶的距离,221cm左右,当前温度 28.0 摄氏度

终于搞通了,顺便说下,esp32的uart可以映射到任何引脚,您可以根据自己实际引脚使用情况来调节。

野驴先生 发表于 2017-9-7 21:20:19

请问这个串口引脚映射应该怎么映射

秦皇岛岛主 发表于 2017-9-8 10:45:03

野驴先生 发表于 2017-9-7 21:20
请问这个串口引脚映射应该怎么映射

,rx=25,tx=26

RX 影射到了IO25
TX 影射到了IO26
页: [1]
查看完整版本: uPyCraft-micropython教程之控制串口超声波