回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【AI】Maixduino轻松学系列 —— (7)超声波传感器的认识与使用 简单

头像 豆爸 2021.11.02 1599 0

Maixduino轻松学系列课程:

1、Maixduino轻松学系列 —— (1)初识Maixduino

2、Maixduino轻松学系列 —— (2)Mind+带你畅玩经典红白机游戏

3、Maixduino轻松学系列 —— (3)基于Mind+的简易NTP网络时钟

4、Maixduino轻松学系列 —— (4)基于Mind+的图像识别:人脸检测

5、Maixduino轻松学系列 —— (5)有屏幕的地方就有BAD APPLE

6、Maixduino轻松学系列 —— (6)基于ASR语音识别控制红绿灯

7、Maixduino轻松学系列 —— (7)超声波传感器的认识与使用

前导

超声波技术在我们生活中扮演者重要角色,被广泛应用于各个领域。例如:超声波探伤、超声波清洗、超声波焊接、医生超声检查、超声波加湿器等等。

project-image

超声波探伤

project-image

超声波清洗

project-image

超声医学检查

project-image

超声波加湿器

什么是超声波呢?

人类耳朵能听到的机械波波长为2cm~20m。我们把波长短于2cm的机械波称为“超声波”。

一、课程目标

本此课程,我们通过学习超声波测距的原理,认识和掌握超声波传感的使用。

二、设计思路

我们通过4根杜邦线将超声波传感器连接至Maixdunio主控板上,利用LCD屏实时显示超声波传感器返回的测量的距离的数据。

三、结构搭建

(一)所需的原件

序号

所需原件

数量

购买链接

1

超声波传感器模块HC-SR04

1

2

Maixduino AI 开发套件

1

https://www.dfrobot.com.cn/goods-2591.html

3

Type C数据线

1

https://www.dfrobot.com.cn/goods-2977.html

(1)超声波传感器模块

project-image

HC-SR04超声波传感器模块

HC-SR04超声波传感器模块性能稳定,测度距离精确,模块高精度,盲区小。产品应用领域:机器人避障、物体测距 、液位检测、公共安防、停车场检测。

产品参数

工作电源:+5V工作电流:15mA工作频率:40KHz有效测距量程:2cm~400cm输入触发信号:10us TTL脉冲输出回响信号:输出TTL电平精度:0.2cm模块尺寸:45*20*12㎜

模块引脚

超声波模块有4个引脚,分别为Vcc、 Trig(控制端)、 Echo(接收端)、 GND;其中VCC、GND接上5V电源, Trig(控制端)控制发出的超声波信号,Echo(接收端)接收反射回来的超声波信号。

工作原理

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

(4)本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。

计算公式:测试距离=(高电平时间*声速(340M/S))/2;

控制时序图:

project-image

(2)线路连接

按下图所示,使用四根杜邦线将超声波传感器HC-SR04的4个引脚分别与Maixduino连接。

Maixduino引脚 HC-SR04

2 —— TTrig

3 —— Echo

Vcc —— Vcc

GND —— GND

三、程序实现

通过Mind+完成如下图所示程序编写:

project-image

上传,下载运行。

代码
from board import board_info
from sonar import Sonar
import lcd,image
import image
import time


lcd.init()
img = image.Image()
hcsr23 = Sonar(board_info.PIN2, board_info.PIN3)
size = 10
while True:
  img.clear()
  distance = hcsr23.read('cm')
  x = (((5 - len((str(distance)))) * 20) + 20)
  img.draw_string(x, 60,  (str(distance)), scale=size,color = 0xFFFFFF)
  lcd.display(img)
  print(distance)
  time.sleep(0.5)

总结与改进

1、本课学习了超神波传感器模块工作原理,掌握了超声波传感的使用方法。

2、在此基础上,如果增加电机、舵机、LED灯等元件,可以扩展出超声波避障小车、超声波感应自动开盖垃圾桶、超声波感应自动开盖马桶、超声波感应书写坐姿提醒器、超神波感应智能小夜灯等等。

评论

user-avatar