毕业设计 单片机移动便携桌面加湿器 - 物联网 嵌入式

news/2024/11/29 5:48:37/

文章目录

  • 0 前言
  • 1 简介
  • 2 主要器件
  • 3 实现效果
  • 4 设计原理
      • RC振荡电路
      • HS300X温湿度传感器模块
      • ESP-01S WIFI模块
  • 5 部分核心代码
  • 5 最后


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 基于单片机的移动便携桌面加湿器

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:4分
  • 工作量:4分
  • 创新点:3分

1 简介

基于Arduino uno 开发板便携抽湿加湿器。主控模块总体重量不超过300g。 拥有多个功能,可通过更换模块,实现给室内空气抽湿加湿的功能。 同时,便于维修,拓展。各模块之间耦合度低,通过更换不同的模块部分,为后续开发维修留下了余地。 此外还可以通过手机控制参数,实现个体化定制。

2 主要器件

  • Arduino uno 开发板
  • 加湿模块:rc震荡电路+108k微孔雾化片构成+棉棒+棉棒外壳
  • 抽湿模块:半导体制冷片+散热片+导热硅胶+散热扇
  • lcd液晶显示模块
  • esp8266 wifi透传模块,负责把手机端发送的湿度设定值等参数传送给arduino
  • HS300X传感器模块

3 实现效果

在这里插入图片描述

4 设计原理

RC振荡电路

工作原理

RC振荡电路,是指用电阻R、电容C组成选频网络的振荡电路,一般用来产生1Hz~1MHz范围的低频率信号。通常由放大器、正反馈网络和选频网络组成,其常见的RC振荡电路有RC相移振荡电路和RC桥式振荡电路。
在这里插入图片描述
RC振荡电路由放大电路、选频网络、正畈馈网络,稳幅环节四部分构成。主要优点是结构简单,经济方便。根据RC选频网络的不同形式,可以将RC振荡电路分为RC超前(或滞后)相移振荡电路和文氏电路振荡电路。
在这里插入图片描述

HS300X温湿度传感器模块

简介

IDT HS300x高性能相对湿度和温度传感器通过专有的传感器级别保护提供高可靠性和长期稳定性。这些高精度、完全校准的传感器具有极短的测量响应时间,采用小型6-LGA封装。因此,HS300x适合用于各种应用,从专门用于恶劣环境的产品到便携式设备,不一而足。集成校准和温度补偿逻辑提供通过标准I2C输出发送的完全校正相对湿度和温度值。HS300x高性能相对湿度和温度传感器具有极低功耗和电流消耗。坚固的碳化硅结构提供出色的长期稳定性。

特性

在这里插入图片描述

HS300X应用电路

在这里插入图片描述

ESP-01S WIFI模块

简介

ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266的低功耗UART-WiFi芯片模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。
在这里插入图片描述
尺寸、管脚定义
在这里插入图片描述
ESP8266的指令介绍

AT指令可以细分四种类型:
1.测试指令:AT+=?
该命令用于查询设置指令的参数以及取值的范围

2.查询指令:AT+?
该命令用于返回参数的当前值

3.设置指令:AT+=<’’’>
该命令用于设置用户自定义的参数

4.执行指令:AT+
该命令用于执行受模块内部程序控制的变参数不可变的功能
在这里插入图片描述ESP8266的指令测试
可以通过STM开发板转为电平转换的功能连接上ESP8266模块在通过串口显示窗口在PC机上热输入AT指令来进行操作。
在这里插入图片描述

ESP8266的AT指令一览
在这里插入图片描述

5 部分核心代码

#include <LiquidCrystal.h>#include <Wire.h>#include <WiFi.h>#include <SoftwareSerial.h>bool g_getDataSuccess = false;
bool g_startMeasure = false;int relayPin = A2;
static int setHumi = 78;
// wifiSoftwareSerial espSerial(A0, A1);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); // rs=2,d7=12// 湿度数据结构static struct SMeasureData
{int Humidity;int humi_h;int humi_l;bool Init(){Humidity = 0;humi_h = 0;humi_l = 0;}} Mdata;void setup()
{// put your setup code here, to run once:// I2CWire.begin();// 液晶显示屏lcd.begin(16, 2);//Serial.begin(9600);espSerial.begin(115200);pinMode(relayPin, OUTPUT);
}// 以下 获取湿度值部分开始bool StartMeasure(void){// 通知传感器开始测量Wire.beginTransmission(0x44); // 传感器地址44hex末尾+0Wire.endTransmission();delay(1000);g_startMeasure = true;return g_startMeasure;
}bool DataFetch(void)
{Mdata.Init();Wire.requestFrom(0x44, 2); // 获取湿度数据bool getHigh = true;while (Wire.available()){if (getHigh){Mdata.humi_h = Wire.read(); // Humidity Data [15:8]getHigh = false;}else{Mdata.humi_l = Wire.read(); // Humidity Data [7:0]getHigh = true;}}Mdata.Humidity = (Mdata.humi_h << 8) | Mdata.humi_l; // 拼接完整数据delay(1000);g_getDataSuccess = true;return g_getDataSuccess;
}int HumiCalc(int humi)
{float fixNum = 16383.0; // (2e+14)- 1 = 16383,根据芯片手册计算公式int humiResult = (humi / fixNum) * 100;return humiResult;
}
// 以上 获取湿度值部分结束void loop()
{// put your main code here, to run repeatedly:lcd.setCursor(0, 0);lcd.print("setHumi: ");lcd.print(setHumi, DEC);// 获取湿度数据开始StartMeasure();if (g_startMeasure){DataFetch();if (g_getDataSuccess){Mdata.Humidity = HumiCalc(Mdata.Humidity); //计算湿度值lcd.setCursor(0, 1);lcd.print("HUMI:");lcd.print(Mdata.Humidity, DEC);}}// 获取湿度数据结束if (setHumi >= Mdata.Humidity){}else{digitalWrite(relayPin, HIGH); // 否则 ,关闭加湿}#if 0if (Serial.available()){espSerial.write(Serial.read());}if (espSerial.available()){Serial.write(espSerial.read());}#endifif (espSerial.available()){int addOrDel = 0;addOrDel = (int)espSerial.read();}if (addOrDel == 0x01); // wifi接受数据0A{setHumi = setHumi + 1;}elseif(addOrDel == 0x02) // wifi 接受数据0D{setHumi = setHumi - 1;}
}

5 最后


http://www.ppmy.cn/news/328107.html

相关文章

52、基于51单片机脉搏心率报警LCD 1602显示系统设计(程序+原理图+PCB图+Proteus仿真+参考论文+开题报告+任务书+外文文献+元器件清单等)

摘 要 脉搏心率测量仪在我们的日常生活中已经得到了非常广泛的应用,通过观测脉搏信号&#xff0c;可以对人体的健康进行检查&#xff0c;通常被用于保健中心和医院。为了提高脉搏测量仪的简便性和精确度&#xff0c;本课题设计了一种基于51单片机的脉搏测量仪。系统以51单片机…

关于苹果MAC电脑录屏同时录制声音的问题做个简单的说明(包括Soundflower,blackhole,Background Music)

苹果电脑录屏的时候一般只能录制麦克风的声音&#xff0c;是录不了系统声音的&#xff0c;有时候需要录屏的同时录制系统声音是需要安装软件的&#xff0c;在网上搜索、试用了很久发现主要有这3个软件Soundflower&#xff0c;blackhole&#xff0c;Background Music&#xff1a…

macOS Mojave 10.14.4 (18E226) 最新苹果系统镜像下载+在线升级方法

苹果今日正式推送了 macOS Mojave 10.14 系统下载&#xff0c;最大的升级就是全新的深色模式&#xff0c;此外还有桌面文件自动整理文件堆、画廊视图、预览编辑、截图录像功能升级、更严格的隐私保护等等&#xff0c;值得升级&#xff01;受众多 Mac 专业用户的启发&#xff0c…

推荐几个不错的苹果电脑截图工具

截图&#xff0c;截屏&#xff0c;长截屏&#xff0c;滚动截屏。。。使用电脑肯定会用到&#xff0c;虽然苹果电脑自带截图功能&#xff0c;但是我更青睐于截图软件带来的便利&#xff0c;在工作中&#xff0c;我最长用的是两款截图软件&#xff0c;一个是Snipaste&#xff0c;…

苹果屏幕录制怎么没有声音_怎么录制屏幕?有哪些好用的录制屏幕软件

怎么录制屏幕&#xff1f;一段浏览量上千万的视频前期离不开屏幕录制软件的加持&#xff01;很多小伙伴在玩游戏或者看视频时&#xff0c;需要对屏幕进行录制。比方说&#xff1a;录制屏幕上的在线直播、录制屏幕上的游戏通关、录制屏幕上的操作演示、录制屏幕上的会议纪要等等…

javacv实现实时视频截图和录像服务easyCV,支持png,jpg截图以及gif,apng动态图片录制

本项目维护于github&#xff1a;https://github.com/eguid/easyCV 更新日志 2019年4月更新&#xff1a; 1、新增两个springbootpostgre的演示demo 2、去除了corelib录像API中不合理的持久层接口 1、介绍 本项目的截图库基于ffmpeg&#xff0c;录像库基于javaCV1.4.x。 …

ffmpeg 推流同时录像命令_ffmpeg推流命令

安悦溪/图片来自网络 一.ffmpeg推流命令 ffmpeg -re -i /Users/WX/Desktop/login_video.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room WX:电脑用户名 login_video :推流的视频名 上面这两点可以根据自己的需要修改 二.用ffmpeg推流…

盘点国内外几款免费好用的远程桌面工具

通过远程桌面可以极大地方便我们进行远程技术支持、远程办公&#xff0c;然而我们熟知 QQ 远程、Windows自带的远程桌面&#xff0c;使用起来并不理想&#xff0c;不是连接不顺畅就是操作技术高&#xff0c;相比之下&#xff0c;专门的远程桌面软件的体验更佳。下面&#xff0c…