下面进行FRDM-MCXW71这块板子能采到温湿度数据,并从串口打印出来。最终目标是做一个蓝牙温湿度计。这阶段只做温湿度采集这一段。
板子:NXP FRDM-MCXW71
传感器:Grove-TH Sensor V2.0(板子上的核心其实是奥松电子的DHT20)
接口:I2C(默认地 0x38)
输出:串口(115200 8N1)每2秒打一次温度和湿度
工程基线是 Zephyr 自带的hello_world模板,原来只打一句Hello World!。这次要把它升级成真正能采数据的程序。
DHT20传感器
DHT20是奥松电子出的一款数字式温湿度传感器,I2C 接口。几个关键点:
供电:2.0V~5.5V,3.3V 直接接上就
I2C 地址:0x38(7-bit),速率标准 100kHz 或快速 400kHz 都行
数据格式:触发测量后读7个字节,里头20 bit湿度 +20 bit温度 + 1字节 CRC
转换公式(来自 datasheet):
温度 T = S/2^20 × 200 − 50(单位 °C)
湿度 RH = S/2^20 × 100(单位 %)
我们这次其实不用自己算公式,Zephyr SDK 里已经有人把 DHT20 的驱动写好了,我们直接用就行。但作为背景知识知道一下也好——下面写代码的时候你会看到这些公式。
下面是实物连接照片:


SDA → A4
SCL → A5
下面是代码细节:



命令行,创建系统,通过LinkFlash ,选中相应的设备,把代码下载到开发板上MCXW71上,


最后,通过串口打印助手,可以看到打印信息,表明DHT20数据通信成功!!!
我要赚赏金
