基于wifi控制的51单片机温度报警器

基于wifi控制的51单片机温度报警器


新手入门笔记,难免存在很多纰漏。忘各位大佬发现错误后不吝赐教🙏

笔者非电气专业,很多地方没有知识支撑,难免出现纰漏或解释摸棱两可🙏

全套资料链接:百度网盘

我的小程序源码:点击提取

1、功能介绍

  1. 拓展显示器显示当前温度和阈值温度。
  2. 当温度超过设定的阈值后蜂鸣器报警。
  3. 可以通过wifi用手机界面调整参数。

因为之前有几次实验手机连不上单片机,我以为wifi的函数只能改变硬件的电平。但是又经过实验测试,wifi的函数可以直接放语句。这样逻辑就简单了,直接if-else大法。

2、逻辑结构介绍

通过wifi传入的字符改变现有的程序 if else大法

3、单片机前置知识

3.1 为什么选择单片机

单片机能够从现实中采集数据并通过程序来处理。使得电子设备经过程序的控制变得更加智能。方便了人们的生活。

3.2 单片机是什么。

  1. 在我的眼中单片机是微型电脑。
  2. 它有一些拓展接口如:显示屏、温度采集器、蓝牙、wifi等。这些拓展器赋予单片机更加强大的功能。
  3. 浓浓的电气特色。通过程序改变某个位置的电气特征实现功能。

吐槽下只能用C语言的古老语法。

3.3 单片机怎么用

将电气细节封装成小黑盒后程序就变成了调API写C语言小程序。

但是不懂底层电气原理会翻车~,详情见后面的“4.3显示函数“

  1. 软件方向需要编程基础(51单片机的语言是C)
  2. 硬件方向需要懂板子原理。(笔者表示看不懂(也没打算看懂🤣))

4、开发总体流程

传感器和IO口的通信非常难以理解,这也是断掉我学硬件的想法之一 ~~

但是但是但是 通信几乎不能更改,就是说直接调别人写好的API就行了

4.1 主函数里面有什么

  1. 捕获当前温度并显示加判断是否报警
  2. 捕获中断并进入编辑阈值模式

4.2 实现捕获温度函数

使用的是DS18B20温度传感器。根据硬件特性确定计算公式、时序控制温度读取的过程

4.3 实现显示函数

用于展示提示信息和输入的信息。

采用LCD1602 液晶显示。只能显示英语。这里在显示后没有清空屏幕翻了车。

4.4 实现报警函数

if判断下,如果温度高于阈值蜂鸣器将震荡。

4.5 实现修改阈值函数

传入参数:字母

  1. A:进入编辑
  2. B:退出编辑
  3. C:删除一位
  4. D:小数点
  5. 类似‘1’:数字

实现方式:数组哨兵

每次调用后显示函数

4.6 实现wifi传入数据进入修改阈值函数

一开始店家发我的wifi模块不对劲,调了一天,沟通无果后给了个有理有据的差评,店家又补发了一个好的模块:happy:。

if - else 调用修改阈值函数。重点在于wifi的通信。使用的wifi模块是ESP8266-WIFI。

通信的话需要保证wifi和单片机的波特率一样。

函数内通过发送 AT+CIPSEND=0,7 指令,设定发送数据长度,然后发送数据 到 WIFI 模块。

一般 APP 发送出来的数据格式内容为:+IPD,ID 号,发送数据长度:数据。

当手机连接热点成功后,其中+IPD,ID 号就是固定的,用户可根据需要发送 多少数据,然后长度就可以确定。这样在串口接收中断中就可以按照这个格式 进行解析,我们主要关注的是“数据”那块。

例如配套资料里面实验中控制 LED1 开的指令:+IPD,0,1:1 每个数据是10个字符。数据就是s[9]了。

5、小结

最后的代码仍有大大小小的bug,只能说勉强能跑。

通过半个月的单片机学习,我对软件控制多了些了解。对硬件也有了些了解。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本项目采用主要芯片:AT89S52、LCD1602、红外对管、DS18B20; 本资料是我今年做的项目,已经完美交货,现在把全部设计资料共享给大家 压缩包里包含该项目的完整原理图、PCB图、程序、实物图等。 硬件设计部分使用Protel99 SE完成,软件设计部分采用Keil 4完成,上位机部分采用Labview完成。 可供需要的人参考。     题目 无线温度监控系统设计     题目类型 工程技术 题目难度 A 上机时数 100 题目来源于科研课题 (该课题情况) 课题编号 横向纵向 横向 课题名称 课题来源 教师自选课题 教学、试验改革 其他 主要任务与要求简述 本设计采用了Atmel公司的AT89S52为核心,实现无线温度监控系统。包括两个部分:温度检测部分和温度控制部分。远端采集系统获取温度后,通过红外发射模块将数据发送给数据接收模块,数据接收模块将数据通过串口将数据传送至PC机,PC机上实现温度显示。为了实现温度控制,用户可在PC机上设定期望控制温度范围,通过串口传送至数据发送器,数据发送器将控制数据通过红外编码后发送到控制端,实现温度控制。 要求 1.红外载波频率38kHz(±5%)。 2. PWM码。位0持续1.125ms,其中高电平0.56ms;位1持续2.25ms,其中高电平0.56ms。采用数据码与数据反码传输模式。 3.RS232串行通信协议。4.红外通信距离 ≥5m。5.LED显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值