当前位置: 首页 > article >正文

从零到一:基于STC单片机与AHT10传感器的低成本温湿度监测方案实现

1. 为什么选择STC单片机与AHT10传感器组合当你第一次想做一个温湿度监测设备时可能会被市面上五花八门的方案搞得眼花缭乱。我刚开始接触这个领域时也踩过不少坑买过DHT11模块试过SHT30传感器最后发现STC单片机AHT10这个组合才是性价比之王。先说说STC单片机。作为国产MCU的扛把子STC系列最大的优势就是便宜大碗。像STC8A8K64S4A12这款64K Flash、8K RAM跑在24MHz主频下性能完全够用价格却只要几块钱。更重要的是STC的开发环境对新手特别友好用Keil C51就能开发烧录也只需要一根USB转TTL线不像STM32那样需要专门的下载器。AHT10传感器则是奥松电子推出的新一代环境传感器。相比大家熟悉的DHT11它的体积缩小了60%精度却提高了3倍温度±0.3℃湿度±2%RH。我实测过在25℃环境下AHT10的读数波动范围不超过0.2℃而DHT11能有1℃的跳动。更关键的是价格AHT10批量价只要3元左右比SHT30便宜一半还多。2. 硬件搭建全攻略2.1 元器件采购清单在开始焊接前建议先备齐这些材料STC8A8K64S4A12开发板或最小系统板AHT10传感器模块建议买带电平转换的版本0.96寸OLED屏幕I2C接口128x64分辨率10K电阻、0.1uF电容若干面包板或万能板杜邦线建议用彩色的方便区分这里有个省钱小技巧AHT10裸片比模块便宜但需要自己画PCB。如果是第一次做建议先买现成模块等调试通了再考虑自制。2.2 电路连接详解接线图其实特别简单主要注意三点I2C总线的上拉电阻不能省SCL和SDA各接一个10K电阻到VCCAHT10的VDD一定要和单片机同电压3.3V或5VOLED和AHT10不能挂在同一条I2C总线上具体接线方式STC单片机 AHT10模块 OLED屏幕 P2.0 —— SCL P2.1 —— SDA 3.3V —— VCC VCC GND —— GND GND3. 软件开发关键点3.1 I2C驱动编写STC的I2C外设用起来有点反人类我更喜欢用GPIO模拟。下面这个模拟I2C的代码框架经过多次优化稳定性和兼容性都很好void I2C_Start() { SDA 1; Delay_us(2); SCL 1; Delay_us(2); SDA 0; Delay_us(2); SCL 0; Delay_us(2); } uint8_t I2C_WriteByte(uint8_t dat) { for(uint8_t i0;i8;i) { SDA (dat0x80)?1:0; SCL 1; Delay_us(2); SCL 0; Delay_us(2); dat 1; } SDA 1; //释放总线 SCL 1; Delay_us(2); if(SDA) { //检测ACK SCL 0; return 0; //失败 } SCL 0; return 1; //成功 }3.2 AHT10数据采集AHT10的初始化流程需要特别注意校准使能位。我在项目中发现如果上电后立即初始化失败率很高。后来改成延时500ms再初始化稳定性大幅提升uint8_t AHT10_Init() { Delay_ms(500); //关键延时 I2C_Start(); if(!I2C_WriteByte(0x70)) return 0; //写地址 I2C_WriteByte(0xE1); //初始化命令 I2C_WriteByte(0x08); I2C_WriteByte(0x00); I2C_Stop(); uint8_t retry 10; while(retry--) { Delay_ms(10); if(AHT10_ReadStatus() 0x08) return 1; //校准成功 } return 0; //校准失败 }4. 数据显示与优化技巧4.1 OLED界面设计中景园的OLED驱动确实好用但默认字库太单调。我推荐用PCtoLCD2002这个软件自定义字库。比如要显示℃符号可以这样取模选择16x16点阵字体设为宋体字号12在文本框输入℃注意不是普通字母C生成字模后复制到oledfont.h实际显示时温度值建议做滑动平均滤波。我常用的方法是保留最近5次采样值去掉最高最低后取平均float temp_buf[5]; uint8_t buf_index 0; float Get_FilteredTemp() { temp_buf[buf_index] AHT10_ReadTemp(); if(buf_index 5) buf_index0; float sum0, min100, max0; for(uint8_t i0;i5;i) { sum temp_buf[i]; if(temp_buf[i]min) mintemp_buf[i]; if(temp_buf[i]max) maxtemp_buf[i]; } return (sum-min-max)/3; }4.2 低功耗优化如果要用电池供电这几个优化很管用将STC单片机切换到低速模式6MHz采集间隔从1秒改为10秒不用OLED时关闭其电源开启STC的掉电唤醒功能实测下来采用这些措施后2000mAh的锂电池可以连续工作3个月以上。

相关文章:

从零到一:基于STC单片机与AHT10传感器的低成本温湿度监测方案实现

1. 为什么选择STC单片机与AHT10传感器组合 当你第一次想做一个温湿度监测设备时,可能会被市面上五花八门的方案搞得眼花缭乱。我刚开始接触这个领域时,也踩过不少坑,买过DHT11模块,试过SHT30传感器,最后发现STC单片机A…...

华大HC32F4A0驱动128kB国产EEPROM(贝岭BL25CMIA)保姆级SPI配置与读写避坑指南

华大HC32F4A0驱动128kB国产EEPROM(贝岭BL25CMIA)实战指南:SPI配置与读写优化全解析 在嵌入式系统开发中,大容量存储解决方案往往面临性能与可靠性的双重挑战。华大半导体的HC32F4A0系列MCU凭借其高性能SPI接口,成为驱…...

智能车竞赛备赛:用3块钱的HIP6601驱动无线信标线圈,实测避坑指南

智能车竞赛备赛:3元HIP6601驱动无线信标线圈的实战避坑手册 全国大学生智能车竞赛中,无线能量传输组别的信标线圈驱动一直是技术难点。如何在有限预算内实现稳定高效的半桥驱动?本文将带你深入解析3元级HIP6601芯片的实战应用,从电…...

图解人工智能(16)基于知识的人工智能

基于右图的知识图谱, 可以回答下面哪些问题: (1)蒙娜丽莎被保存在哪个城市? (2)詹姆士住在巴黎吗? (3)莉莉是达芬奇的后代吗? (4&…...

ESXi防火墙白名单机制详解:从预置规则到手动添加9999端口的实战踩坑记录

ESXi防火墙白名单机制深度解析与9999端口实战指南 当你在ESXi主机上部署了一个简单的Python HTTP服务,监听9999端口,却发现从外部网络无法访问时,问题很可能出在ESXi独特的防火墙白名单机制上。与常见的黑名单式防火墙不同,ESXi采…...

SOLID不是教条!DeepSeek检查报告揭示:83%的“违规”实为合理权衡——附5个高可信度豁免决策框架

更多请点击: https://intelliparadigm.com 第一章:SOLID不是教条!DeepSeek检查报告揭示:83%的“违规”实为合理权衡——附5个高可信度豁免决策框架 SOLID原则常被误读为不可逾越的代码铁律,但DeepSeek-R1在对127个中大…...

63岁刘明辉带领中国燃气再转型,AI时代挑战传统思维!

中国燃气转型引关注去年,中国燃气董事会主席、总裁刘明辉要求团队加快生物质能源、厨房局部改造等新业务,这让很多员工感到疑惑。这家成立25年、年销售收入超1500亿元、在全国600多个城市开展燃气业务、服务近6000万户家庭的行业龙头,为何还要…...

15 年后谷歌用 Gemini 重做电脑,Googlebook 能助其重入 PC 牌桌吗?

15 年后谷歌用 Gemini 重做电脑,Googlebook 能否助其重入 PC 牌桌?15 年前,谷歌推出 Chromebook,那时强调轻量、云端、浏览器优先,一个 Chrome 浏览器加一个 Google 账号就能成为新的电脑入口。15 年后的 AI 时代&…...

大模型的token究竟是什么?如何通俗易懂地解释?

说实话,最开始我第一次撞见「Token」这个词,第一反应还以为是武侠里的令牌,也像游乐场的游戏代币,得投币才能启动机器那种。 一直以来都没人直白地讲解过 Token 到底是什么,我也就稀里糊涂跟着用,始终一知…...

飞凌嵌入式与中移物联战略合作:全国产化端云一体方案解析与实战

1. 项目概述:一次嵌入式领域的“国产化”深度握手最近在嵌入式圈子里,一个消息引起了不小的讨论:飞凌嵌入式与中移物联达成了战略合作。乍一看,这像是两家公司一次常规的商业合作新闻,但如果你对国内嵌入式硬件和物联网…...

阿里云代理商:深度解析 阿里云灵骏智算集群的三大核心问题

引言:随着 AI 大模型训练需求激增,算力集群成为企业智能化转型的核心基础设施。阿里云灵骏智算集群作为国内领先的 AI 训练平台,凭借高性能异构算力底座和万卡级规模支持,成为行业焦点。然而,企业在实际应用中常面临三…...

避坑指南:51单片机蓝牙小车,L298N供电和串口反接这两个坑千万别踩!

51单片机蓝牙小车实战避坑手册:从电路设计到调试的致命细节 第一次亲手把51单片机、蓝牙模块和L298N电机驱动组装成遥控小车时,那种期待和兴奋至今难忘。但当我按下电源开关的瞬间,芯片冒出的白烟和刺鼻气味立刻给这个项目蒙上了阴影。后来才…...

开源命令中心OpenClaw:统一管理与编排自动化任务工作流

1. 项目概述:一个开源命令中心的诞生最近在折腾一个很有意思的项目,叫openclaw-command-center。光看这个名字,你可能会联想到科幻电影里的控制台,或者某种自动化运维工具。没错,它的核心定位就是一个开源、可扩展的命…...

2025届学术党必备的降AI率平台横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下学术出版以及内容审核的情景里,把内容的AI生成特性予以控制,以…...

从MobileNetV3看SE模块的‘轻量化’陷阱:参数量暴增2M,真的划算吗?

MobileNetV3中SE模块的工程化权衡:当2M参数量遇上边缘部署 在移动端AI模型部署的战场上,每一KB内存和每一毫秒延迟都值得斤斤计较。2019年问世的MobileNetV3作为轻量化网络的标杆之作,却在SE(Squeeze-and-Excitation)模…...

终极汉字拼音转换指南:3种字典方案与完整实现方案

终极汉字拼音转换指南:3种字典方案与完整实现方案 【免费下载链接】pinyinjs 一个实现汉字与拼音互转的小巧web工具库,演示地址: 项目地址: https://gitcode.com/gh_mirrors/pi/pinyinjs 在Web开发中处理中文拼音转换,你是…...

ST LPS25/LPS22气压传感器:从原理到Arduino/Python实战应用

1. 项目概述气压传感器,这个听起来有点专业的名词,其实离我们的生活并不遥远。从你手机里的天气App显示的“气压”数值,到无人机能够稳定悬停在一定高度,再到一些高端智能手表上的海拔计功能,背后都离不开它的身影。简…...

QRazyBox:开源二维码分析与恢复工具包完全指南 [特殊字符]️

QRazyBox:开源二维码分析与恢复工具包完全指南 🛠️ 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox QRazyBox 是一款基于Web的开源二维码分析与恢复工具包,…...

光栅散射光与仪器杂散光:成因、测量与系统级抑制策略

1. 项目概述:从“完美”光栅到现实噪声在光谱分析、激光系统乃至精密光学测量的世界里,我们常常把衍射光栅想象成一个完美的“光之指挥家”,它能将不同波长的光精准地分离开来,指向各自该去的方向。然而,任何一位有实际…...

NE555芯片深度解析:从内部原理到经典电路实战应用

1. 从一颗“老古董”聊起:为什么NE555今天依然值得你花时间?如果你在电子爱好者圈子里混过,哪怕只是刚入门,大概率都听过NE555这个名字。它不像现在的ARM、ESP32那样自带光环,也不像各种传感器模块那样“即插即用”。它…...

从零开始设计智能体的系统提示

写了137版系统提示之后,我总结出的这套“认知框架设计法”2019年我刚开始接触对话系统的时候,写系统提示(System Prompt)是一件特别简单的事。你打开OpenAI的Playground,在“System”那个框里写上一段话,比…...

IJTAG标准:芯片测试的通用语言与片上仪器集成实践

1. IJTAG:芯片内部测试的“通用语言”时代来临如果你是一位芯片设计工程师,或者从事电路板测试与调试工作,最近十几年一定对“片上仪器”这个概念不陌生。简单来说,就是把原本放在昂贵外部测试机台上的测量、监控、调试功能&#…...

从AD到嘉立创:一个嵌入式工程师的紫色PCB打样与SMT贴片全记录

从AD到嘉立创:一个嵌入式工程师的紫色PCB打样与SMT贴片全记录 作为一名嵌入式开发者,我们往往更熟悉代码和算法,但当需要将设计转化为实体电路板时,硬件生产流程却可能让人望而生畏。本文将分享我使用Altium Designer设计电路并通…...

分形AI:用自相似递归构建动态神经网络,实现多尺度高效学习

1. 项目概述:从分形到AI的桥梁最近在探索一些前沿的AI模型架构时,一个名为“fractalic-ai/fractalic”的项目引起了我的注意。这个项目名本身就很有意思,它把“分形”(Fractal)和“人工智能”(AI&#xff0…...

Clawdboss Upgrade:OpenClaw AI 智能体系统的非破坏性升级指南

1. 项目概述:Clawdboss Upgrade 是什么?如果你正在运行一个基于 OpenClaw 的 AI 智能体系统,并且听说过 Clawdboss 这个“增强包”能带来更强大的功能、更好的安全性和更丰富的技能生态,那么你很可能面临一个两难选择:…...

【研报442】美国汽车产业战略的需求研究:五大政策方向重塑美国汽车工业

本报告提供限时下载,请查看文后提示以下仅为报告部分内容:摘要:美国汽车产业全球竞争力持续下滑,产量份额、本土巨头市占率、经济贡献度均大幅落后,面对中国电动车强势扩张,亟需出台国家级战略。报告围绕降…...

基于MCP协议构建本地AI工具集成平台:asc-mcp部署与实战指南

1. 项目概述与核心价值最近在折腾AI应用开发,特别是想给本地的大语言模型(比如Claude Desktop、Cursor这类工具)增加点“超能力”,让它们能直接读取我电脑里的文件、调用我本地的工具。这听起来像是Agent或者RAG的活儿&#xff0c…...

别只学STM32了!用ESP32-C3和FreeRTOS实战物联网项目(从环境搭建到云端通信)

从零构建基于ESP32-C3的智能环境监测系统:FreeRTOS与阿里云IoT实战指南 在嵌入式开发领域,传统的STM32学习路径已经不能满足物联网时代对无线连接和云端集成的需求。ESP32-C3作为一款集成Wi-Fi和蓝牙的RISC-V芯片,正成为物联网项目的理想选择…...

从单图到分层设计:AI智能图层分离工具layerdivider完全指南

从单图到分层设计:AI智能图层分离工具layerdivider完全指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的插画图层分离而烦恼吗…...

别再瞎配了!STM32 GPIO的8种模式到底怎么选?从按键到LED,实战场景帮你一次搞懂

STM32 GPIO模式实战指南:从按键到LED的精准配置策略 在嵌入式开发领域,GPIO(通用输入输出)作为最基础却至关重要的接口,其配置模式的选择往往决定了整个系统的稳定性和响应效率。许多初学者在理论学习阶段能够清晰区分…...