9649| 2
|
[uPyCraft IDE] 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的代码是这样的 [mw_shl_code=python,true]#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)) [/mw_shl_code] 第三部:连接硬件 URM07 FireBeetle-ESP32 RX 连接到 IO26/D3 TX 连接到 IO25/D2 GNC 连接到 GND VCC 连接到 3V3 连接后效果如下图 下载并运行urm07Demo.py,执行效果如图 我测量的桌面到房顶的距离,221cm左右,当前温度 28.0 摄氏度 终于搞通了,顺便说下,esp32的uart可以映射到任何引脚,您可以根据自己实际引脚使用情况来调节。 |
1.14 KB, 下载次数: 3452
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed