0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CW32的超声波模块的应用

jf_qE49KoVBr8 来源:武汉芯源半导体 2023-09-06 09:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、简介

1. C-SR04超声波模块是一种常用的测距模块,其通过发射超声波并接收其反射信号来实现测距功能。因其成本低、精度高、使用简便等特点,被广泛应用于以下场景:

(1)避障机器人:HC-SR04超声波模块可以用于避障机器人的距离测量,通过检测障碍物与机器人的距离,实现避障控制。

(2)智能家居:HC-SR04超声波模块可用于智能家居中的人体检测和距离测量。例如,在门口安装超声波模块,可以检测人的接近并触发开门动作,或者用于室内的距离测量和触发自动照明等。

2. 本实验用到了CW32F030C8T6小蓝板、0.96寸OLED显示屏、HC-SR04超声波模块及Keil5开发环境。

二、超声波模块测距的使用方法

使用流程 连接电源 将VCC引脚连接到+5V,GND引脚连接到GND。

连接触发引脚

将Trig引脚连接到单片机的数字输出引脚。

连接回波引脚

将Echo引脚连接到单片机的数字输入引脚。

发送信号

通过向Trig引脚发送一个至少10微秒的高电平触发信号来启动测距过程

接收信号

模块发送触发信号后,自动发射超声波,并等待接收反射信号。当接收到反射信号时,Echo引脚会输出一个高电平信号,持续时间与超声波的往返时间成正比。

计算距离

通过测量Echo引脚输出高电平信号的持续时间,可以计算得到距离,一般使用以下公式计算:

距离= 高电平持续时间 × 声波在空气中传播的速度 / 2。

重复测量

根据需要可定时测量距离,以实现连续的距离监测。

需要注意的是,HC-SR04超声波模块的测距精度受到多种因素的影响,如温度、超声波传播介质等。在使用过程中,需要结合具体的应用场景和需求进行参数调整和校准,以获得准确的距离测量结果。

三、核心代码

HC_SR04.c:
#include "HC_SR04.h"


extern unsigned int time;


void HC_GPIO_Init(void)  
{
  __RCC_GPIOB_CLK_ENABLE();
  
  GPIO_InitTypeDef GPIO_InitStruct; 
  GPIO_InitStruct.IT=GPIO_IT_NONE;
  GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;//下拉输入
  GPIO_InitStruct.Pins=GPIO_PIN_8;               //Echo
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;     //推挽输出
  GPIO_InitStruct.Pins=GPIO_PIN_9;               //Trig 
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  PB09_SETLOW();   //Trig拉低,为输出脉冲触发信号做准备
}


unsigned int Measure_Distance(void) //测距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脉冲触发信号
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo输出高电平
  time=0;               //开始记录回波信号脉宽
  while(ReadEcho()==1); //等待Echo输出低电平     
  distance=time*1.7;//根据声速和时间计算距离,即distance=time*340/2/100
  /*
      关于分辨力(mm):
          定时器每次对time加1是10us,10us=0.01ms,340m/s=340mm/ms
          计算距离时,最小分辨力为:0.01(ms) * 340(mm/ms) / 2 = 1.7(mm)
          小于模块标准精度3mm,故测距结果十分精准
  */
  return distance; //返回距离,单位mm
}
main.c:
#include "HC_SR04.h"


extern unsigned int time;


void HC_GPIO_Init(void)  
{
  __RCC_GPIOB_CLK_ENABLE();
  
  GPIO_InitTypeDef GPIO_InitStruct; 
  GPIO_InitStruct.IT=GPIO_IT_NONE;
  GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;//下拉输入
  GPIO_InitStruct.Pins=GPIO_PIN_8;               //Echo
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
  GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;     //推挽输出
  GPIO_InitStruct.Pins=GPIO_PIN_9;               //Trig 
  GPIO_Init(CW_GPIOB,&GPIO_InitStruct);
  
  PB09_SETLOW();   //Trig拉低,为输出脉冲触发信号做准备
}


unsigned int Measure_Distance(void) //测距
{
  unsigned int distance=0;
  
  SetTrig();     //10us的脉冲触发信号
  Delay_us(10);
  ResetTrig();
  while(ReadEcho()==0); //等待Echo输出高电平
  time=0;               //开始记录回波信号脉宽
  while(ReadEcho()==1); //等待Echo输出低电平     
  distance=time*1.7;//根据声速和时间计算距离,即distance=time*340/2/100
  /*
      关于分辨力(mm):
          定时器每次对time加1是10us,10us=0.01ms,340m/s=340mm/ms
          计算距离时,最小分辨力为:0.01(ms) * 340(mm/ms) / 2 = 1.7(mm)
          小于模块标准精度3mm,故测距结果十分精准
  */
  return distance; //返回距离,单位mm
}





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED显示屏
    +关注

    关注

    6

    文章

    218

    浏览量

    32412
  • GND
    GND
    +关注

    关注

    2

    文章

    548

    浏览量

    41131
  • 避障机器人
    +关注

    关注

    0

    文章

    18

    浏览量

    7852
  • 超声波模块
    +关注

    关注

    1

    文章

    21

    浏览量

    13890
  • CW32
    +关注

    关注

    1

    文章

    281

    浏览量

    1672

原文标题:【CW32优秀项目展示】基于CW32的超声波模块的应用

文章出处:【微信号:武汉芯源半导体,微信公众号:武汉芯源半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超声波清洗机技术原理之详解

    由于主要的清洗工作是由超声波完成的,所以称为超声波清洗机,简单来说就是利用超声波技术原理来清洗各种物品的机器。超声波清洗机的几个基本部件,是超声波
    的头像 发表于 09-01 17:10 1312次阅读
    <b class='flag-5'>超声波</b>清洗机技术原理之详解

    超声波测距换能器:工业与生活中的测量利器

    在科技飞速发展的今天,各类传感器在各个领域发挥着至关重要的作用。其中,超声波测距换能器凭借其独特的优势,成为了距离测量领域的明星产品。无论是工业生产中的精密检测,还是日常生活中的智能应用,超声波测距
    发表于 07-02 16:20

    超声波清洗机是什么,它如何通过超声波振动来清洗物品?

    超声波清洗机的工作原理超声波清洗机是一种广泛用于清洗物品的设备,它利用超声波振动来去除污垢和杂质。本文将深入探讨超声波清洗机的工作原理以及它如何通过
    的头像 发表于 06-30 16:59 779次阅读
    <b class='flag-5'>超声波</b>清洗机是什么,它如何通过<b class='flag-5'>超声波</b>振动来清洗物品?

    超声波换能器:原理与多领域应用解析

    一、引言在现代科技的发展进程中,超声波技术占据着重要地位,从工业生产到医疗诊断,从日常生活到科研探索,超声波的身影无处不在。而超声波换能器作为超声波技术的核心部件,如同一位幕后英雄,默
    的头像 发表于 06-28 15:10 1947次阅读
    <b class='flag-5'>超声波</b>换能器:原理与多领域应用解析

    超声波换能器:原理与多领域应用解析

    一、引言 在现代科技的发展进程中,超声波技术占据着重要地位,从工业生产到医疗诊断,从日常生活到科研探索,超声波的身影无处不在。而超声波换能器作为超声波技术的核心部件,如同一位幕后英雄,
    发表于 06-28 15:09

    超声波气泡换能器:工业生产的“隐形卫士”

    超声波气泡换能器,就是守护工业安全的“隐形卫士”,它能够精准地捕捉到这些微小的气泡,提前预警,避免潜在的灾难。 一、超声波气泡换能器是什么? 超声波气泡换能器是一种基于超声波原理的高科
    发表于 06-27 09:08

    一文读懂超声波换能器:原理、应用与未来趋势

    、轻量化和多功能化的发展趋势,超声波换能器也将不断朝着小型化和集成化的方向发展 。通过采用先进的材料和制造工艺,减小换能器的体积和重量,同时将多个功能模块集成在一起,实现一体化设计 。这样不仅
    发表于 06-23 16:51

    超声波换能器--声波世界的 “神奇魔法师”

    在科技的奇妙世界里,有这样一位 “魔法师” —— 超声波换能器,它在众多领域施展着神奇的声波魔法,今天就让我们一起揭开它神秘的面纱,一探其中的奥秘。 超声波换能器的原理:神奇的压电效应 超声
    发表于 06-11 17:30

    超声波清洗机的作用是什么?使用超声波清洗机可以去除毛刺吗?

    在现代制造业中,表面质量对产品的性能和外观至关重要。超声波清洗机作为一种高效的清洗工具,在去除表面污垢和缺陷方面发挥着关键作用。本文将介绍超声波清洗机的作用,以及它是否能够有效去除毛刺。超声波清洗机
    的头像 发表于 05-29 16:17 731次阅读
    <b class='flag-5'>超声波</b>清洗机的作用是什么?使用<b class='flag-5'>超声波</b>清洗机可以去除毛刺吗?

    超声波清洗的原理是什么?超声波清洗是如何起作用的?

    超声波清洗是一种利用高频超声波振动来清洗物体表面和难以达到的细微部分的清洁技术。其工作原理基于声波的物理特性和声波对液体中微小气泡的影响。以下是超声
    的头像 发表于 05-26 17:21 2150次阅读
    <b class='flag-5'>超声波</b>清洗的原理是什么?<b class='flag-5'>超声波</b>清洗是如何起作用的?

    超声波频率和功率对在线式超声波清洗的影响如何?

    在线式超声波清洗是一种高效、环保的清洗方式,在多个行业得到了广泛应用。然而,超声波频率和功率是影响清洗效果和清洗速度的关键因素。在本文中,我们将从理论和实践两个方面分析超声波频率和功率对在线式
    的头像 发表于 05-09 16:39 848次阅读
    <b class='flag-5'>超声波</b>频率和功率对在线式<b class='flag-5'>超声波</b>清洗的影响如何?

    FS系列超声波流量传感器产品说明书

    FS系列超声波流量传感器用于测量液体流量,测量原理为通 过测量超声波在流体中顺流和逆流传播的时间差来计算流速和流 量,通过检测顺游和逆游的超声波传播时间,并通过电路对超声
    发表于 02-27 13:41 8次下载

    超声波焊接工艺详解 超声波焊接应用领域

    一、超声波焊接工艺详解 超声波焊接是一种利用高频振动波进行焊接的工艺。其工作原理是将高频振动波传递到两个需焊接的物体表面,在加压的情况下,使两个物体表面相互摩擦而形成分子层之间的熔合。以下是关于
    的头像 发表于 01-31 15:12 2785次阅读

    超声波焊接技术原理

    在现代工业生产中,塑料材料因其轻便、耐腐蚀和成本效益高而被广泛使用。超声波焊接技术作为一种高效的塑料连接方法,因其快速、清洁、无需使用粘合剂或溶剂而受到青睐。 超声波焊接技术原理 超声波焊接技术
    的头像 发表于 01-19 11:01 2845次阅读

    超声波清洗的传播原理与应用范围

    超声波清洗的传播原理‌是基于超声波在液体中的空化作用、加速度作用及直进流作用。超声波是一种振动频率高于声波的机械波,由换能器在电压的激励下产生振动。当
    的头像 发表于 12-19 09:04 1005次阅读
    <b class='flag-5'>超声波</b>清洗的传播原理与应用范围