功能介绍:
-
利用超声波测距模块测量与障碍物的距离,并将测量结果显示在液晶显示器上;
-
可以用独立按键设置安全距离,LCD上要显示系统到障碍物的距离。处于安全距离时,绿色LED点亮;
-
当检测距离刚好在安全距离附近,黄色LED亮;
-
当检测距离低于安全距离时,红色LED亮;
-
同时蜂鸣器发声,距离越近,声音越刺耳,整个过程LCD显示相应的提示信息;
-
对设置的数据进行掉电保存
整体功能简述:
使用超声波模块检测距离,根据设置档位来亮灭对应的状态灯,当距离小于下限时,蜂鸣器的鸣叫频率会随着距离缩进而越来越块;并且对设置数据进行掉电保存
硬件框图:
软件流程图:
原理图:
提供Altium Designer 及 立创EDA 格式原理图,建议使用立创EDA格式打开,打开方式为将文件夹内 .json 后缀文件拖入https://lceda.cn/editor 立创EDA编辑网站中即可
本次原理图使用立创EDA画出的,对于新手较为方便,全中文易上手,不需要安装任何软件。另,Altium Designer 格式打开后标注会有所丢失,建议使用立创EDA
仿真图:
元器件清单:
如果您不能独自完成焊接,我这边也提供付费焊接服务以及调试,完成后第一时间通过快递寄给您。
主要代码展示:
/********************* 函数声明 *******************/
//显示界面 每个菜单的结构
void Dis_menu();
//显示 数据
void Dis_Dat();
//获取数据
void Get_Dat();
//按键扫描
void Key_Scan();
//蜂鸣器报警处理函数
void Proc_Beep_Freq();
//将数据保存在芯片中
void Write_e2();
//读取掉电保存的内容
void Read_e2();
void main()
{
DelayMs(100);//等待系统稳定
LCD_Init();//初始化液晶显示模块
Dis_menu();//显示菜单结构
Init_Time_Sr04();//初始化超声波模块
timer1_init();//定时器1初始化
Read_e2();//读取掉电保存数据
while(1)
{
Get_Dat();//获取数据
Key_Scan();//按键扫描
Proc_Beep_Freq();//蜂鸣器报警处理函数
DelayMs(10);
}
}