news 2026/3/25 2:34:58

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/3/24 10:12:25

LVGL抗锯齿文本渲染技术:通俗解释其工作原理

让文字“丝滑”起来:LVGL抗锯齿渲染的底层真相 你有没有遇到过这种情况?在一块小小的OLED屏上显示中文时,字边缘像被锯子啃过一样——明明是圆润的“口”字,却变成了阶梯状的“囗”,尤其是斜笔画和小字号,…

作者头像 李华
网站建设 2026/3/23 15:59:38

Defender Control:3步搞定Windows安全防护个性化设置

Defender Control:3步搞定Windows安全防护个性化设置 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control 还…

作者头像 李华
网站建设 2026/3/16 10:59:43

CardEditor终极指南:3步实现桌游卡牌批量生成

还在为制作大量桌游卡牌而烦恼吗?CardEditor这款专为桌游设计师开发的批处理数值填入卡牌生成器,将彻底改变你的工作方式。作为一款免费开源的桌面应用程序,它能让你在短短几个小时内完成原本需要数天的卡牌设计任务。 【免费下载链接】CardE…

作者头像 李华
网站建设 2026/3/23 18:48:55

钢铁脊梁:发动机试验铁地板的创新设计与工程实践

铁地板的核心功能与技术要求发动机试验铁地板需承载高动态载荷与振动,其刚性、抗震性和耐磨性直接影响测试数据的准确性。典型技术指标包括:静态负载能力:≥20吨,局部冲击载荷需达3倍安全系数。固有频率:设计需避开发动…

作者头像 李华
网站建设 2026/3/23 18:48:53

GKD订阅管理完全指南:高效配置第三方订阅源

GKD订阅管理完全指南:高效配置第三方订阅源 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List 想要彻底解决GKD订阅管理中的各种困扰吗?本指南将为你提供完整的GKD第三方订阅源配置…

作者头像 李华
网站建设 2026/3/23 18:48:50

小白指南:常见Arduino小车故障排查方法汇总

小白也能懂的Arduino小车故障排查实战指南:从“不动”到“跑得稳”的完整思路你是不是也经历过这样的时刻?辛辛苦苦把零件焊好、代码烧进去,按下电源——结果小车纹丝不动,或者转两圈就重启,蓝牙连不上,传感…

作者头像 李华