当前位置: 首页 > wzjs >正文

做中学网站网站开发

做中学网站,网站开发,南昌市建网站的公司,网站登录按钮怎么做文章目录 一.概要二.HC-SR04主要参数1.模块引脚定义2.模块电气参数3.模块通讯时序4.模块原理图 三.GD32单片机超声波模块测距实验四.工程源代码下载五.小结 一.概要 HC-SR04超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。HC-SR04超声波模块主…

文章目录

    • 一.概要
    • 二.HC-SR04主要参数
      • 1.模块引脚定义
      • 2.模块电气参数
      • 3.模块通讯时序
      • 4.模块原理图
    • 三.GD32单片机超声波模块测距实验
    • 四.工程源代码下载
    • 五.小结

一.概要

HC-SR04超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。HC-SR04超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的。
两个压电陶瓷超声波传感器,一个用于发出超声波信号,一个用于接收反射回来的超声波信号。由于发出信号和接收信号都比较微弱,所以需要通过外围信号放大器提高发出信号的功率,和将反射回来信号进行放大,以能更稳定地将信号传输给单片机。
模块如图所示:

在这里插入图片描述

二.HC-SR04主要参数

1.模块引脚定义

在这里插入图片描述

2.模块电气参数

在这里插入图片描述

3.模块通讯时序

在这里插入图片描述

以上时序图表明单片机只需要提供一个10uS以上脉冲触发信号给模块的TRIG引脚,该模块内部将发出8个40kHz周期电平并检测回波。模块一旦检测到有回波信号则输出回响信号到模块ECHO引脚。回响信号的脉冲宽度与所测的距离成正比。单片机通过采集收到的输出回响信号的宽度时间就可以计算得到距离。
距离公式:距离=回响高电平时间*声速(340M/S)/2

4.模块原理图

在这里插入图片描述

三.GD32单片机超声波模块测距实验

硬件准备:

STLINK接GD32F407VET6开发板,STLINK接电脑USB口,OLED接板子。
在这里插入图片描述

主要代码

#include "gd32f4xx.h"
#include "gd32f4xx_libopt.h"
#include "systick.h"
#include "oled.h"
uint32_t HalTime1,HalTime2;
//等待时间,us级别
void Delay_us(unsigned long i)
{unsigned long j;for(;i>0;i--){for(j=32;j>0;j--);}
}
uint32_t Distance_Calculate(uint32_t count)//传入时间单位100us
{uint32_t Distance = 0;Distance = (uint32_t)(((float)count *17)/10);//距离单位cm,声速340M/S,时间*速度/2=距离return Distance;
}uint32_t Distance;
uint32_t TimeCounter;
//定时器配置
void timer_config(void)
{/* -----------------------------------------------------------------------系统主频168MHZ,timer_initpara.prescaler为167,timer_initpara.period为99,周期为0.1ms----------------------------------------------------------------------- */timer_parameter_struct timer_initpara;rcu_periph_clock_enable(RCU_TIMER1);rcu_timer_clock_prescaler_config(RCU_TIMER_PSC_MUL4);//AP1总线最高42MHZ,所以TIME1到168M需要4倍频timer_deinit(TIMER1);/* TIMER1 configuration */timer_initpara.prescaler         = 167;timer_initpara.alignedmode       = TIMER_COUNTER_EDGE;timer_initpara.counterdirection  = TIMER_COUNTER_UP;timer_initpara.period            = 99;timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter = 0;timer_init(TIMER1,&timer_initpara);nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);nvic_irq_enable(TIMER1_IRQn, 0, 1);timer_interrupt_enable(TIMER1, TIMER_INT_UP);/* auto-reload preload enable */timer_auto_reload_shadow_enable(TIMER1);/* auto-reload preload enable */timer_enable(TIMER1);
}
int main(void)
{systick_config();//配置系统主频168M,外部8M晶振,配置在#define __SYSTEM_CLOCK_168M_PLL_8M_HXTAL        (uint32_t)(168000000)rcu_periph_clock_enable(RCU_GPIOA);//使能GPIOA时钟	gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0);//PA0配置成输出gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0);//配置成推挽输出,50M速度gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_1);//PA1配置成输入timer_config();  OLED_Init();//OLED初始化  OLED_Clear();//OLED清屏 while(1) {		gpio_bit_write(GPIOA, GPIO_PIN_0,RESET);//预先拉低Trig引脚delay_1ms(5);gpio_bit_write(GPIOA, GPIO_PIN_0,SET);//拉高Trig引脚Delay_us(20);gpio_bit_write(GPIOA, GPIO_PIN_0,RESET);//拉低Trig引脚Delay_us(20);while(gpio_input_bit_get(GPIOA, GPIO_PIN_1) == 0);//如果是低电平,一直等HalTime1= TimeCounter;while(gpio_input_bit_get(GPIOA, GPIO_PIN_1) == 1);//如果是高电平一直等if(TimeCounter>HalTime1){HalTime2 = TimeCounter-HalTime1;if(HalTime2<0x300){Distance = Distance_Calculate(HalTime2);//计算距离值}}OLED_Clear();OLED_ShowCHinese(18,0,0);//光OLED_ShowCHinese(36,0,1);//子OLED_ShowCHinese(54,0,2);//物OLED_ShowCHinese(72,0,3);//联OLED_ShowCHinese(90,0,4);//网OLED_ShowString(24,3,"SR04 TEST");OLED_ShowString(0,6,"Dis: ");  OLED_ShowNum(30,6,Distance,3,16);//显示距离,单位cm  OLED_ShowString(60,6,"cm"); delay_1ms(200);		}  }extern uint32_t TimeCounter;//时间计数器,单位为100us
void TIMER1_IRQHandler(void)//定时器中断服务程序,中断周期为100us
{timer_flag_clear(TIMER1,TIMER_FLAG_UP);TimeCounter++;
}

实验结果:

前方放一个物体,能测试到探测到的距离值。
在这里插入图片描述

超声波测距处设置断点,可以查看检测到的距离值,如果检测不到距离值,需要排查超声波模块接线或者物体距离超声波模块太远。
在这里插入图片描述

四.工程源代码下载

源代码链接下载如下:
CSDN

五.小结

超声波模块基于声音传播的速度和时间差来计算模块到前方障碍物的距离,可用于人体检测,机器人避障,距离测量等,例如在门口安装超声波模块可以检测人的接近并触发开门动作,或者用于室内的距离测量和自动照明等

http://www.dtcms.com/wzjs/585815.html

相关文章:

  • 企业电子商务网站建设和一般wordpress 功能 删除
  • 网站没有关键词库岳阳优化营商环境
  • 做网站排名费用上海最新发布
  • 个人持有域名可以做公司网站吗天津业之峰装饰公司怎么样
  • 手把手教你优化网站嵩县网站开发
  • 广东网站建设建站模板百度用户服务中心在线申诉
  • 怎么分析网站用什么技术做的自己做的网站打开是乱码
  • 临沂做网站电话花的网站建设规划书
  • 做下载类网站赚钱吗wordpress怎么改后台密码
  • 怎么在服务器里面建设网站有域名自己做网站吗
  • 用什么软件做动漫视频网站好网络公司名字大全三字
  • 舆情分析网站免费散文网站模板
  • 深圳动态科技集团网站wordpress怎么添加虚拟浏览量
  • 用wordpress建站一个人可以吗视频网站seo怎么做
  • 教人做衣服的网站郴州新网二手房出售
  • 最早做弹幕的网站网站字体加载不出来怎么办
  • 做网站的技术风险网站建设费用一年
  • 大型网站开发 框架手机做网站过程
  • 怎么看一个网站是什么时候做的网站seo工程师怎么做
  • 涪城网站建设郑州网站建设搜q.479185700
  • 长春火车站建在哪里室内设计联盟邀请码免费
  • 超酷网站网站怎么装模版
  • 太原高端网站建设2022年黄台片区
  • 做微网站需要域名吗门户系统登录
  • 网站开发相关知识求个网站或者app
  • 营销网站制作图片优秀网站案例欣赏
  • 郑州网站建设公司锐客科技自己建一个网站做电子商务
  • 在哪个网站做外贸生意好北京住房和建设部网站
  • 网站的模板网站运营者是做啥工作的
  • 成都游戏网站开发网站开发工程师的职责