基于STM32的环境检测系统
闲来无事,用手头STM32做个项目。
成品功能: 功能说明
材料
- STM32ZET6开发板
- LCD1602显示屏
- DHT11温湿度模块
- BMP280大气压强模块
- MQ2烟雾传感器
- 杜邦线
- 用keil5进行开发
开始制作。
制作过程
DHT11、烟雾传感器、大气压强传感器检测数据,LCD1602显示数据。屏幕显示具体信息。
说明 DHT11采用单总线数据传输,烟雾传感器采用ADC采集,BMP280采用IIC数据传输形式,LCD1602采用并行数据传输。
LCD1602
这是LCD1602模块 LCD1602共16个引脚,采用八位数据传输。 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度弱 接地时对比度限高,对比度过高时会产生“鬼影”, 使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时 选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行 写操作。当RS和R/W共同低电平为时可以写入指 令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号 ,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执 行命令。 第7~脚:D0 ~ D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。
DHT11
这是DHT11模块 DHT11采用单总线数据传输,即一根数据线既传输数据也传输时钟。 这是DHT11的数据时序图,根据此来编写代码。
烟雾传感器
这是LCD1602模块 烟雾传感器可以控制数字输出还是模拟输出。这里我们通过后边电位器设置一个阈值合适的阈值之后,用数字输出。
接上各个模块,进行综合测试
嗯。效果很好。可以看到,可以检测到各种数据。 逻辑完善 设置各种阈值,超限之后提醒等等等。
效果视频:https://www.bilibili.com/video/BV1A341157DH
后续还可以做上位机,参照https://blog.csdn.net/weixin_42320020/article/details/89219437
最后附上完整的项目文件。自行下载。
这个项目到这里就算完了。 还有很多不足的地方,希望大佬可以指正。也希望和爱好者交流学习。
禁止转载!!! 博客:https://blog.csdn.net/weixin_42320020/?type=blog QQ:2039723308 VX:Shiboven
|