CW32L012/F030灵眸X1智能小车——超声波模块配置
超声波模块介绍
SR04超声波模块是一款广泛应用的测距传感器,主要用于使用超声波测量物体与传感器之间的距离。它是一个成本低廉、精度较高且易于使用的传感器,常用于机器人、智能家居、无人机、汽车防撞系统等项目。以下是SR04超声波模块的主要特点和应用:
测距范围: SR04模块的测距范围通常在2厘米到400厘米之间,适合多种应用。
高精度: 它具备较好的测量精度,通常可达±3毫米,这使其适用于需要精确测量的场合。
工作原理: SR04模块通过发射超声波脉冲并测量声波反射回来的时间来计算距离。传感器的超声波发射和接收分别由两个探头(发射器和接收器)完成。
简单接口: 通常使用简单的GND、VCC、Trig(触发信号)和Echo(回声信号)四个引脚,便于连接到微控制器(如Arduino)上。
低功耗: 在待机状态下,SR04的功耗较低,适合电池供电的项目。
超声波模块工作原理

只需要在 Trig 管脚(触发信号)输入一个 10US 以上的高电平,系统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号。当检测到回波信号后,通过 Echo 管脚输出。根据 Echo 管脚输出高电平的持续时间可以计算距离值。即距离值为:(高电平时间*340m/s)/2。
当测量距离超过 HC-SR04 的测量范围时,仍会通过 Echo管脚输出高电平的信号,高电平的宽度约为 66ms。如图所示:
测量周期:当接收到 HC-SR04 通过 Echo 管脚输出的高电平脉冲后,便可进行下一次测量,所以测量周期取决于测量距离,当距离被测物体很近时,Echo 返回的脉冲宽度较窄,测量周期 就很短;当距离被测物体比较远时,Echo 返回的脉冲宽度较宽,测量周期也就相应地变长。最坏情况下,被测物体超出超声波模块的测量范围,此时 返回的脉冲宽度最长,约为 66ms,所以最坏情况下的测量周期稍大于 66ms 即可(取 70ms 足够)。
电路连接
该模块在主控制板上与CW32L012/F030连接如下:
两个引脚分别接到了PA8与PA15端口。
工程代码
在文件HC_SR04.C中编写如下代码
#define Trig_Send(x) GPIO_WritePin(CW_GPIOA, GPIO_PIN_8, (GPIO_PinState)(x))
#define Echo_Input GPIO_ReadPin(CW_GPIOA, GPIO_PIN_15)
uint16_t Get_Time;
/**************************
定时器配置
中断周期为1ms
**************************/
void TIM_Init(void)
{
RCC_APBPeriphClk_Enable2(RCC_APB2_PERIPH_BTIM,ENABLE);
BTIM_TimeBaseInitTypeDef BTIM_Initstructure;
BTIM_Initstructure.BTIM_Mode=BTIM_Mode_TIMER;
BTIM_Initstructure.BTIM_OPMode=BTIM_OPMode_Repetitive;
BTIM_Initstructure.BTIM_Period=1000-1;
BTIM_Initstructure.BTIM_Prescaler=BTIM_PRS_DIV64;//64分频
BTIM_TimeBaseInit(CW_BTIM1,&BTIM_Initstructure);
BTIM_ITConfig(CW_BTIM1,BTIM_IT_OV,ENABLE);
// BTIM_Cmd(CW_BTIM1,ENABLE);
NVIC_SetPriority(BTIM1_IRQn,8);//中断优先级
NVIC_EnableIRQ(BTIM1_IRQn);//开启中断
}
void HC_SR04_Init(void)
{
__RCC_GPIOA_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.IT=GPIO_IT_NONE;
GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins=GPIO_PIN_8;
GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.IT=GPIO_IT_NONE;
GPIO_InitStruct.Mode=GPIO_MODE_INPUT_PULLDOWN;
GPIO_InitStruct.Pins=GPIO_PIN_15;
GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
GPIO_Init(CW_GPIOA, &GPIO_InitStruct);
Trig_Send(0);
TIM_Init();
}
void BTIM1_Start(void)//打开定时器
{
BTIM_SetCounter(CW_BTIM1,0);
Get_Time=0;
BTIM_Cmd(CW_BTIM1,ENABLE);
}
void BTIM1_Stop(void)//关闭定时器
{
BTIM_Cmd(CW_BTIM1,DISABLE);
}
uint32_t Get_Tim_Timer(void)//得到信号反射时间
{
uint32_t time;
time=Get_Time*1000;
time+=BTIM_GetCounter(CW_BTIM1);
BTIM_SetCounter(CW_BTIM1,0);
return time;
}
float Get_Disance(void)//距离计算
{
uint8_t i;
uint16_t time=0;
float Distance=0;
float Temp=0;
float num=0;
for(i=0;i< 10;i++)
{
Trig_Send(1);//trig拉高信号,发出高电平
delay10us(2);
Trig_Send(0);//trig拉低信号,发出低电平
while(Echo_Input==0);
BTIM1_Start();
while(Echo_Input==1);
BTIM1_Stop();
/*Echo发出信号 等待回响信号*/
/*输入方波后,模块会自动发射8个40KHz的声波,与此同时回波引脚(echo)端的电平会由0变为1;
(此时应该启动定时器计时);当超声波返回被模块接收到时,回波引 脚端的电平会由1变为0;
(此时应该停止定时器计数),定时器记下的这个时间即为
超声波由发射到返回的总时长;*/
time=Get_Tim_Timer();
Temp=(float)time/58.2; // 获取时间,分辨率为1us
num+=Temp;
Delay_ms(4);
}
Distance=num/10.0;
return Distance;
}
void BTIM1_IRQHandler(void)
{
if(BTIM_GetITStatus(CW_BTIM1,BTIM_IT_OV)==1)
{
Get_Time++;
}
BTIM_ClearITPendingBit(CW_BTIM1,BTIM_IT_OV);
}
在main.c中编写如下代码
int main(void)
{
OLED_Init();//初始化
HC_SR04_Init();
OLED_ShowString(1,1,"hello");//OLED显示字符串
while(1)
{
OLED_ShowString(2,1,"Dis:");
OLED_ShowNum(2,5,Get_Disance(),3);//距离显示
OLED_ShowString(2,9,"cm");;
}
}
工作现象
将代码烧入主控制板之后,可以观察到以下现象
OLED显示屏第一行第一列显示字符串hello
第二行显示距离单位cm
- 随机文章
- 热门文章
- 热评文章
- 欧委会限制中企参与医疗器械招标 中方:欧盟一步步走向保护主义,欧委会限制中企参与医疗器械招标 中方:欧盟一步步走向保护主义
- 丹尼索瓦人长什么样?中国14.6万年前“龙人”给了一张“脸”,丹尼索瓦人长什么样?中国14.6万年前“龙人”给了一张“脸”
- “下饭神器”腐乳受欧洲食客青睐 绍兴出口大幅增长,“下饭神器”腐乳受欧洲食客青睐 绍兴出口大幅增长
- 浙江缙云:小烧饼何以飘香全世界?,浙江缙云:小烧饼何以飘香全世界?
- 广西与东盟企业促香料香精合作,广西与东盟企业促香料香精合作
- “电子皮肤”诞生记 从“艰难出生”到“跨界新星”,“电子皮肤”诞生记 从“艰难出生”到“跨界新星”
- 2025夏季达沃斯实现全绿色用能 减排二氧化碳约600吨,2025夏季达沃斯实现全绿色用能 减排二氧化碳约600吨
- 垃圾焚烧出海,点废成绿新图景,垃圾焚烧出海,点废成绿新图景
- 探访世界在建单机功率最大压缩空气储能电站:寻找新型储能的“绿色密码”,探访世界在建单机功率最大压缩空气储能电站:寻找新型储能的“绿色密码”
- 杭州1-5月工业机器人产量增长131.1%,杭州1-5月工业机器人产量增长131.1%
- 辽宁省举办“沈阳现代化都市圈”高校毕业生专场招聘会,辽宁省举办“沈阳现代化都市圈”高校毕业生专场招聘会
- 黑龙江省水运口岸首次进口铜矿粉 “铁水联运”激活跨境物流新引擎,黑龙江省水运口岸首次进口铜矿粉 “铁水联运”激活跨境物流新引擎
- 1《丝路花雨》兰州驻场演出启幕 “观剧游”为文旅“留量”,《丝路花雨》兰州驻场演出启幕 “观剧游”为文旅“留量”
- 2杭州高新(300478):独立董事年报工作制度
- 3桂林抗战文化遗址(遗迹)里的民族记忆
- 4第九届现实题材网络文学征文大赛奖项揭晓,第九届现实题材网络文学征文大赛奖项揭晓
- 5春晖智控(300943):控股子公司业绩承诺方完成业绩补偿
- 62025年中国龙舟大奖赛在佛山顺德开幕2025年中国龙舟大奖赛在佛山顺德开幕
- 7长篇小说《鹰眼》座谈会在北京举行,长篇小说《鹰眼》座谈会在北京举行
- 8追责!1人泄密,被3个群转发,近百名同事无人制止,追责!1人泄密,被3个群转发,近百名同事无人制止
- 9当足球遇见人机交互传感技术:唯创知音如何用微波雷达“唤醒”音乐纪念品
- 10(走进中国乡村)探寻中国式乡村治理:后陈二十年,(走进中国乡村)探寻中国式乡村治理:后陈二十年
- 11新人婚礼上的一个举动,被全网点赞!网友:建议全国推广
- 12专访张新成:人生没有回头路,活着体验才有更多可能,专访张新成:人生没有回头路,活着体验才有更多可能
- 1全国中老年时尚风采展演“长城之夜”晚会闪耀北京居庸关,全国中老年时尚风采展演“长城之夜”晚会闪耀北京居庸关
- 2折光技术“照亮”中药智造之路,康缘药业让质量检测快人一步,折光技术“照亮”中药智造之路,康缘药业让质量检测快人一步
- 3“友谊种子”开花结果 云南国际友城合作走深走实,“友谊种子”开花结果 云南国际友城合作走深走实
- 4“风物菁华与侨乡现代性”研讨会在暨南大学举办,“风物菁华与侨乡现代性”研讨会在暨南大学举办
- 5本轮南方强降水进入最强时段,暴雨何时停?,本轮南方强降水进入最强时段,暴雨何时停?
- 6全国多地医药专家齐聚昆明 为传统医药发展“开新方”,全国多地医药专家齐聚昆明 为传统医药发展“开新方”
- 7未来讲堂“走出去” 让海外读者“听见”中国诗词,未来讲堂“走出去” 让海外读者“听见”中国诗词
- 8宠物也能坐高铁 哈尔滨铁路推出“宠物托运”服务,宠物也能坐高铁 哈尔滨铁路推出“宠物托运”服务
- 9模拟突发险情 广西大藤峡工程开展防汛抢险联合应急演习,模拟突发险情 广西大藤峡工程开展防汛抢险联合应急演习
- 10四川“90后”姑娘自创“琉璃糖画” 让传统糖艺焕发“新甜味”,四川“90后”姑娘自创“琉璃糖画” 让传统糖艺焕发“新甜味”
- 11广东消防积极开展灾后恢复工作,广东消防积极开展灾后恢复工作
- 12外籍人士在世遗泉州开启入境游便利化体验之旅,外籍人士在世遗泉州开启入境游便利化体验之旅
















