news 2026/4/23 14:28:56

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/4/23 13:02:35

Defender Control:彻底掌控Windows安全防护的专业管理工具

Windows Defender作为系统内置的安全防护组件,虽然提供了基础的安全防护功能,但对于某些特定场景的用户来说,这种强制性的防护机制反而成为了使用障碍。Defender Control作为一款开源免费的Windows Defender管理工具,让用户能够根…

作者头像 李华
网站建设 2026/4/23 13:03:08

蓝牙水控器开源项目:如何实现离线控制与跨平台安装?

想要摆脱校园热水系统的商业应用限制,实现真正的技术自主吗?这款基于Web技术栈构建的蓝牙水控器开源项目,让你能够在完全离线状态下自由控制宿舍热水供应。作为一款纯离线操作的应用,它无需互联网连接即可运行,并且完全…

作者头像 李华
网站建设 2026/4/20 16:22:37

KH Coder终极指南:免费文本分析的完整解决方案

KH Coder终极指南:免费文本分析的完整解决方案 【免费下载链接】khcoder KH Coder: for Quantitative Content Analysis or Text Mining 项目地址: https://gitcode.com/gh_mirrors/kh/khcoder 在信息爆炸的时代,如何从海量文本数据中快速提取有价…

作者头像 李华
网站建设 2026/4/17 15:49:47

Windows热键冲突终极解决方案:Hotkey Detective快速上手指南

Windows热键冲突终极解决方案:Hotkey Detective快速上手指南 【免费下载链接】hotkey-detective A small program for investigating stolen hotkeys under Windows 8 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 在日常使用Windows系统时…

作者头像 李华
网站建设 2026/4/18 5:35:15

【路径规划】基于IG-RRT路径规划算法船舶规划避开静态障碍物(如岛屿)和动态障碍物(如其他船舶)的最优路径,同时满足船舶的非完整运动约束(如最小转弯半径)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码获取及仿…

作者头像 李华
网站建设 2026/4/16 15:20:48

Calibre-Douban插件:电子书元数据自动获取的终极解决方案

还在为电子书信息整理而烦恼吗?Calibre-Douban插件就是你的救星!这款基于网络技术的Calibre插件,能够智能获取豆瓣图书网站的完整书籍信息,让电子书库瞬间变得井井有条。📚 【免费下载链接】calibre-douban Calibre ne…

作者头像 李华