已经有很多人发了关于I2C,温湿度传感器,OLED,buzzer的帖子,本帖子依托大家的经验,实现环境监测的功能。
用到的硬件如下图所示,用了核心板,底板,OLED板子,环境监测板。
其中OLED用于显示当前的温湿度,烟雾传感器值。环境监测板上面的MQ-2用ADC连接到芯片上。Buzzer占用了GPIO9, 这个IO和核心板上面的LED是一个IO,所以记得将核心板上面的跳线帽J3拿掉。AHT20和OLED共用I2C0,他们两个设备地址不一样,所以可以共用。buzzer用于报警和消除报警,因为感觉juby的《爱若琉璃》挺好听的,所以集成到了消除报警的功能里面,模拟如果烟雾报警触发到了报警,用户需需要实地按下button按键用于消除报警,并先唱首歌。具体实现可以参考原帖:(
https://bbs.elecfans.com/forum.php?mod=viewthread&tid=2009947&highlight=%E7%88%B1%E8%8B%A5)
实现的功能包括:
1. OLED显示功能。
2. 环境监测功能。主要实现如下,I2c读取aht20的温湿度,adc读取烟雾值,并如果超过一定的比例就触发信号量给buzzer报警。
3.buzzer有三种状态,free, song, alert,正常状态是free, 什么也不做,alert是烟雾报警,song用于清除报警和放个歌。
4.button触发放歌,用于清除警报功能。