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

邯郸网站建设兼职apple开发者中心

邯郸网站建设兼职,apple开发者中心,营销型门户网站,空调安装东莞网站建设HC-SR04介绍 典型工作电压&#xff1a;5v &#xff08;如果你的超声波模块没有工作&#xff0c;可以看一下是不是电压不够&#xff09;超小静态工作电流&#xff1a;<2mA 感应角度&#xff1a;<15 &#xff08;超声波模块&#xff0c;是一个范围式的探…
HC-SR04介绍
  1. 典型工作电压:5v        (如果你的超声波模块没有工作,可以看一下是不是电压不够)
  2. 超小静态工作电流:<2mA 
  3.  感应角度:<15°           (超声波模块,是一个范围式的探索,所以在做测速等一些适合直线传播的项目的时候,不建议使用超声波模块)
  4. 探测距离:2cm-400cm
  5. 高精度:可以达到0.3cm
  6. 盲区:2cm              (当物体和超声波模块的距离小于2cm,超声波模块失效)
工作原理
  1. 采用IO触发测距,给至少10us的高电平。
  2. 模块自动发送8个4kHz的方波,自动检测是否有信号返回。
  3. 有信号返回,通过IO输出一高电平,高电平的持续时间就是超声波从发射到返回的时间

测试距离=(高电平时间*声速)/2

因为声音会来回两段,所以要除以二,声速我们一般取340m/s

接口定义

Vcc,Trig(控制端),Echo(接收端),GND

        向Trig发送10us以上的高电平,就可以在Echo等待高电平输出,一有输出就可以打开定时器计时,当Echo变为低电平时,就可以读定时器的值,此时就为此次测距的时间,就可以算出距离,不断周期性的测量,就可以达到你移动测量的值。

思路
  1. IO输出=》Trig,IO输入《=Echo
  2. 给Trig管脚一个>10us的高电平(启动)
  3. 启动后,Echo开启计时器计数,等待检验,进入while(Echo==1),当Echo不等于高电平的啥时候结束while,关掉计时器。
  4. 设开启定时器时间为T1,关闭定时器时间为T2,所得时间T即等于T2-T1,所以测距距离即为(T2-T1)*340/2
代码
配置Echo和Trig
void Echo_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void Trig_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);
}	
然后配置TIM2
void TIM2_Count_Configuration(void)
{TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);TIM_TimeBaseStructure.TIM_Period = 0xFFFF;  TIM_TimeBaseStructure.TIM_Prescaler = 71;  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_Cmd(TIM2, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, DISABLE);
}
在define几个等下用到的函数
#define TRIG_H GPIO_WriteBit(GPIOA,GPIO_Pin_9,Bit_SET)
#define TRIG_L GPIO_WriteBit(GPIOA,GPIO_Pin_9,Bit_RESET)#define ECHO GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)
main
int main(void)
{unsigned int time = 0;float distance = 0.00;void Echo_Configuration();void Trig_Configuration();void TIM2_Count_Configuration();RCC_APB2PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);while(1){TIM_Cmd(TIM2,ENABLE);TRIG_H;Delay_us(15);TRIG_L;while(ECHO == 0);TIM_SetCounter(TIM2,0);while(ECHO == 1);TIM_Cmd(TIM2,DISABLE);time = TIM_GetCounter(TIM2);distance = time * 0.017;printf("Distance = %.2fcm\n", distance);Delay_us(1000000);}
}
  1. 配置Echo,Trig和TIM2,使能RCC_APB1Periph_TIM2
  2. TIM_Cmd(TIM2,ENABLE)      使能TIM2
  3. TRIG_H 给TRIG高电平,等待15us,TRIG_L给TRIG低电平
  4. while(ECHO==0)     如果ECHO为低电平,就复位TIM2为0
  5. while(ECHO==1)     如果ECHO为高电平,TIM_Cmd(TIM2,DISABLE);关闭TIM2
  6. time = TIM_GetCounter(TIM2);记录时间为time
  7. 计算距离distance = time * 0.017;
http://www.yayakq.cn/news/787117/

相关文章:

  • 福州建网站哪家好网站开发大概要多少钱
  • 国外ps教程网站上海seo关键词优化
  • 合肥做网站价格是多少东莞企业自助建站系统
  • 网站底部空白网站运营与建设作业
  • 做服装外贸的网站建设优化营商环境应当坚持什么原则
  • 营销公司网站模板下载响应式企业网站源码
  • 厦门专业网站设计公司中交建设设计院有限公司网站
  • 微信做的团购网站android开发流程
  • 银川网站建站公司怎样wordpress安装主题
  • 重庆网站产品推广淮南网云小镇怎么样
  • 南通优普网站建设优化网站上传的视频播放卡
  • 代做道路毕业设计网站dedecms wordpress
  • 如何做一个网站设计wordpress 添加产品
  • 网站怎样上传到空间企业官网推广方案
  • 网站安全检测百度游戏开发工作室
  • 做老电影网站侵权吗海南在线人才网招聘信息
  • 店面建设网站的必要性网站数据迁移教程
  • 如何做二级网站学校网站维护怎么做
  • 化妆品网站的建设目标百度网站排名
  • 和两个黑人同时做网站杭州网站设计优异柚v米科技
  • 上海建筑设计研究院有限公司官网兰州网站搜索优化
  • 2小时wordpress建站wordpress支持多少字
  • php网站设计要学多久seo关键词优化策略
  • 合肥公司网站开发抖音代运营合作协议免费
  • 免费做网站广告网站建设需要资料
  • wix网站怎么做带字图片制作器
  • 外贸做网站如何建立营销网络
  • 网站技术制作流程图开发定制网站公司
  • 公司网站建设方案拓扑图搭建正规网站
  • 阿里云网站备案需要多久织梦如何做网站留言功能