目录
更详细功能与代码讲解请看B站视频: (视频置顶评论有下载链接)
功能介绍:
1.监测降雨量
2.设置降雨量上限,超过上限报警
3.通过手机APP wifi实时显示降雨量,及设置降雨量上限值
整体功能简述:
系统启动后,使用水位液位传感器获取当前水位模拟量,通过0832转为数字量,再经过算法算出实际单位为CM的数据显示在LCD1602上,将获取的水位与设置的水位上限进行对比,如果超过则进行蜂鸣器报警,期间将数据通过ESP8266-01S WiFi模块发送至手机上,手机上也可以进行按键控制设置水位上限值。
APP我们通过E4A来实现,这是一个中文可视化安卓编程软件,容易上手,下载链接我也放在了文件夹内
硬件框图:
软件流程图:
原理图:
提供Altium Designer 及 立创EDA 格式原理图,建议使用立创EDA格式打开,打开方式为将文件夹内 .json 后缀文件拖入https://lceda.cn/editor 立创EDA编辑网站中即可
本次原理图使用立创EDA画出的,对于新手较为方便,全中文易上手,不需要安装任何软件。另,Altium Designer 格式打开后标注会有所丢失,建议使用立创EDA
仿真图:
APP端展示:
元器件清单:
如果您不能独自完成焊接,我这边也提供付费焊接服务以及调试,完成后第一时间通过快递寄给您。
主要代码展示:
//函数声明
void Dis_menu();//页面结构显示
void Dis_Dat();//显示数据
void Get_Dat();//获取传感器数据
void Key_Scan();//键盘扫描
void Read_e2();//读取掉电保存数据
void Write_e2();//写入掉电保存数据
void Proc_Alarm();//处理报警函数
void EPS8266_Send(void);//wifi数据发送
void main()
{
DelayMs(100);//等待系统稳定
timer0_init();//定时器初始化
UART0_Init();//串口初始化
Esp8266_Init();//esp8266初始化
Read_e2();//读取掉电保存数据
LCD_Init();//1602液晶初始化
LCD_Clear();//液晶清屏
LCD_Write_String(0, 0, "Rainfall: cm "); //显示内容结构
LCD_Write_String(0, 1, " Alarm: cm ");
Dis_menu();
while(1)
{
Get_Dat();//获取传感器数据
Dis_Dat();//显示数据
Key_Scan();//键盘扫描
Proc_Alarm();//处理报警函数
EPS8266_Send();//wifi数据发送
}
}