news 2026/7/7 18:28:04

Day39:智能家居环境监测系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day39:智能家居环境监测系统

项目功能:
温湿度采集 (DHT11/SHT30)
光照检测 (光敏电阻 + ADC)
烟雾检测 (MQ-2 传感器 + ADC)
数据显示 (OLED/I2C)
异常报警 (蜂鸣器 + LED)
数据存储 (SD 卡)
远程传输 (ESP8266/WiFi)
硬件连接:
DHT11:PA0 (ADC)、PB0 (GPIO 控制)
光敏电阻:PA1 (ADC)
烟雾传感器:PA2 (ADC)
OLED:I2C(PB6-SCL, PB7-SDA)
蜂鸣器:PA3 (PWM 控制)
ESP8266:USART2(TX-PA2, RX-PA3)
SD 卡:SPI (PA5-SCK, PA6-MISO, PA7-MOSI, PB4-SS)
软件架构:
多任务调度 (基于 SysTick 中断):
100ms:读取传感器数据
500ms:更新 OLED 显示
1s:数据存储到 SD 卡
5s:数据上传至云端
核心代码:(温湿度读取 + 显示)

// 主函数
int main(){
// 初始化所有模块
SysTick_Init(72); // 系统滴答定时器(1ms)
DHT11_Init(); // DHT11初始化
ADC1_Init(); // ADC初始化(光敏电阻、烟雾)
I2C1_Init(); // I2C初始化(OLED)
OLED_Init(); // OLED初始化
USART2_Init(); // USART2初始化(ESP8266)
SD_Init(); // SD卡初始化

float temp=0, humi=0; // 温湿度变量
u16 light=0; // 光照强度变量
float lat=0, lon=0, alt=0;// 经纬度、海拔变量
u32 systick_cnt=0; // 系统滴答计数

while(1){
// 100ms任务:更新OLED显示
if(systick_cnt % 100 == 0){
DHT11_Read_Data(&temp, &humi); // 读取温湿度
light = ADC_Get_Light(); // 读取光照
OLED_Display_Data(temp, humi, light); // OLED显示
}

// 1s任务:存储数据到SD卡
if(systick_cnt % 1000 == 0){
SD_Write_Log(temp, humi, light);
}

// 5s任务:上传数据到服务器
if(systick_cnt % 5000 == 0){
USART2_Send_Data(temp, humi, light);
}

systick_cnt++;
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 9:08:04

面向工业控制的Keil5安装与驱动配置新手教程

从零搭建工业级嵌入式开发环境:Keil5安装与调试器驱动实战指南 你是不是也遇到过这种情况?刚拿到一块STM32开发板,兴致勃勃打开Keil5准备烧录程序,结果“ST-Link未识别”、“No target connected”接连弹出,编译倒是顺…

作者头像 李华
网站建设 2026/7/7 0:39:32

Proteus构建小型DCS系统仿真:项目应用指南

用Proteus搭建小型DCS系统仿真:从零开始的实战教学你有没有遇到过这样的情况?想搞一套工业自动化控制系统,但PLC太贵、布线复杂、调试周期长,连实验室都配不齐整套设备。更别说让学生上手实操了——一不小心接错线,轻则…

作者头像 李华
网站建设 2026/7/7 5:42:38

WorkshopDL神级教程:跨平台模组下载终极解决方案

还在为Steam创意工坊的访问限制而困扰吗?WorkshopDL这款开源神器彻底打破了平台壁垒,让所有游戏玩家都能轻松获取海量模组资源。无论是Epic平台、GOG商店还是其他游戏分发渠道的用户,现在都能通过这款专业工具下载超过1000款热门游戏的创意工…

作者头像 李华
网站建设 2026/7/7 18:42:12

FreeMove:Windows用户的C盘救星,三步实现程序完美迁移

FreeMove:Windows用户的C盘救星,三步实现程序完美迁移 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 你是否曾因C盘爆满而焦头烂额&#xff1…

作者头像 李华
网站建设 2026/7/7 12:25:25

键盘防抖神器终极指南:告别机械键盘连击烦恼

键盘防抖神器终极指南:告别机械键盘连击烦恼 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 还在为机械键盘的"连击&qu…

作者头像 李华
网站建设 2026/7/7 17:28:46

终极解决方案:一键解决Windows快捷键冲突难题

你是否曾经精心设置的CtrlShiftT无法打开新标签页?或者常用的AltTab突然失效?在日常的Windows快捷键管理中,这些突如其来的"程序抢占"问题总是让人措手不及。今天,我们将通过Hotkey Detective这款专业工具,彻…

作者头像 李华