当前位置:网站首页>07基于51单片机的积水监测系统设计
07基于51单片机的积水监测系统设计
2022-07-18 09:49:00 【汽汽】
1 适用场景
道路积水监测、城市街道等需要进行水量监控的场景。
2 硬件方案
51系列单片机(芯片型号为STC12C5A60S2单片机)、水位传感器*2、E18-D80NK漫反射式光电红外传感器、HC-SR04超声波传感器、ESP8266WiFi模块、蜂鸣器、按键模块、USB转TTL-CH340模块、OLED显示幕、USB充电线
3 系统实现功能
- 实时监测:实时监测积水的水位情况(低水位/中水位/高水位)、积水的高度(单位:dm)、井盖是否存在(0:不存在,1:存在),并将监测结果显示到OLED屏幕上。
- 手动控制模式:手动控制按键结合OLED屏幕进行积水最佳阈值设定。
- 自动控制模式:当积水水位为高水位或测量到的积水高度大于最佳阈值时,自动声光报警。
- 云平台远程监测:通过WiFi将监测数据上传到OneNET云平台,在手机端、电脑端和网页端均可以查看积水的水位情况、积水高度、报警触发次数及井盖是否存在等。
4 设计思路
- 超声波测距计算策略:d=超声波传感器安装高度-超声波传感器安装高度到积水的距离
- 高、中、低水位计算策略:将水位传感器1放在3dm处,水位传感器2放在6dm处,如果未淹没水位传感器1为低水位,如果淹没水位传感器1,未淹没水位传感器2为高水位,同时淹没两个水位传感器为高水位。
5 实物展示
5.1 云平台展示
5.2 下位机展示
6 云平台源码
用户需要自行完成一下2个函数的实现
1、定时下发数据任务初始化函数:device_timer_init(dev)【可选】
2、对设备上传数据进行解析(包括心跳等):device_data_analyze(dev)
-----------------------------------------------------------------------------------------
function device_timer_init(dev)
dev:timeout(5)
dev:add(10,"dev1","syn\r\n")
end
-----------------------------------------------------------------------------------------
function device_data_analyze(dev)
local t = {} --数组定义
local a = 0 --数声明
local s = dev:size() --获得数据总长度
dev_logon(dev)--注册返回
local length = dev:byte(3)--获取负载长度LEN(PAYLOAD长度)
local cmd = dev:byte(4)--获取命令内容CMD(CMD命令)
if dev:byte(1)==0x5A and dev:byte(2)==0x5A and dev:byte(5+length)==0xA5 then
if cmd==0x01 then --上报状态值status
add_val(t,"distance",0,dev:bytes(5,1))
add_val(t,"higt_std",0,dev:bytes(6,1))
add_val(t,"water",0,dev:bytes(7,1))
add_val(t,"beep",0,dev:bytes(8,1))
add_val(t,"lid",0,dev:bytes(9,1))
dev:send("get status\r\n")
end
end
--------------------------------------------------------------------
边栏推荐
- 联想宣布重大调整:智能手机与PC业务合并
- One year after I came to Ali, I ushered in my first job change
- 11(3). Through the structure and pointer to achieve a simple student management system (storage, sorting, output)
- Finally, I was ranked first in the content ranking in the professional field. I haven't been tired in vain during this period. Thanks to CSDN's official platform, I'm lucky and bitter.
- 3 ESP8266-NodeMCU网络服务器
- Openharmony hidden poem application
- 工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03
- 联发科已取得台湾政府许可,开始恢复对中兴供货 !
- Yyds dry inventory JS judge whether the two objects are equal
- 微信为什么使用 SQLite 保存聊天记录?
猜你喜欢
"JUC concurrent programming - mode" protective pause mode | sequence control mode | producer consumer mode | two-stage termination mode | balking mode
MySQL 5.7 access denied 1045 (28000): access denied for user 'MySQL' @ 'localhost' (using password: yes)
QT | QT creator function
DRF框架--简介,安装,序列化器定义,序列化输出,反序列化输入
DRF-- 对drf中的功能模块进行二次开发
【黑马早报】李嘉诚又卖海外资产;小米回应被意大利罚款2176万;北京发放1亿元餐饮消费券;富士康为量产iPhone 14招人...
csp——出行计划
ZCANPRO-CAN/CANFD收发软件:安装及使用
面试突击66:请求转发和请求重定向有什么区别?
Cookies and sessions
随机推荐
2018Q1全球智能手机市场再度下滑,小米超越OPPO排名第四!
"JUC concurrent programming - mode" protective pause mode | sequence control mode | producer consumer mode | two-stage termination mode | balking mode
DRF--序列化器对字段错误提示自定义error_messages,对关联字段的定义
LeetCode - 无重复字符的最长子串
DRF--序列化器类中的to_internal_value,to_representation方法,save,create,update方法
台积电7nm工艺量产:功耗降低65%!未来5nm将再降20%!
Analysis of SHM window rendering and display process in Weston
DRF--api接口文档的生成
工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03
来阿里一年后我迎来了第一次工作变动....
DRF--validators检验函数,单字段校验,多字段联合校验
web安全入门-安装部署开源waf-modsecurity
MySQL---two 表的约束与数据库设计
美国国家标准协会ANSI Z359防坠安全带标准
WorkPlus SE | 全国第1个永久免费的即时通讯软件!
Cookies and sessions
GStreamer plugin_ init
继中天微之后,阿里宣布全资收购先声互联!或将推出语音专用芯片!
GPS原始坐标转百度地图坐标(纯C代码)
Kolla-ansible单机部署OpenStack Train实践