最近由于项目的原因需要测量二氧化碳的浓度,某宝搜索了很久,由于之前使用过模拟输出的二氧化碳传感器,个人感觉不太好使,所以这次这次换成了数字输出的。
该传感器使用的是IIC通讯方式
首先我们得了解什么是IIC
此处,我们使用的是模拟IIC(MCU为F4),硬件IIC读取,下次再写
何为IIC?
产生IIC起始信号
产生IIC停止信号
一次完成的通信图如下:
了解了IIC之后
我们开始写程序与传感器进行通信
参考传感器手册
我们写程序只需要关注
0x00 状态寄存器
0x01 模式设置寄存器
0x02 数据(前两字节为二氧化碳值,第三四位为空气质量)
0x20 传感器ID
一、获取传感器ID
若返回0x81,证明传感器在位,可继续下面的操作,反之检查传感器接线等
二、设置模式
对传感器寄存器地址(0x01)写数据
有5种:
即
三、设置完模式之后便可以获取测量的数据
对寄存器
进行读操作,共读8个字节
然后取出前四个字节
便可得到需要的数据
根据手册我们可以对传感器状态进行查询辅助
针对异常状况
我们需要关注
是否有数据更新便可。
写这个是为了让更多的人能够有更快的思路上手这个传感器,也为让自己积累经验,有不对的请指出,谢谢。