树莓派传感器监测与ADC模块应用
1. 传感器数据通信与读取
每个通信过程大约需要 4 秒,建议平均每 5 秒发送一次数据请求,即让树莓派的数据线路置低。若持续收到错误数据,需相应调整延迟。将数据存储到数组后,会逐位打印在屏幕上,从而能看到相对湿度和温度值。以下代码可实现此功能:
if ((j >= 40) &&(data[4] == ( (data[0] + data[1] + data[2] + data[3]) &0b11111111)) )
{
printf( "Relative Humidity is %d.%d %%and Temperature is %d.%d 'C \n",data[0], data[1], data[2], data[3]);
}
delay(500);
可以使用无限循环(如 while(1) 或 for(;;) )持续获取数值。不过在此之前,需要为 LDR 传感器编写代码。
2. LDR 传感器代码编写与光变测量
利用之前学习 LDR 传感器 RC 时间常数时介绍的方法,使用 LDR 传感器检测光线变化。当要测量或获取 LDR 传感器的响应时,先让树莓派的 GPIO 引脚置低片刻,使电容完全放电以进行读数。短时间后,将其设为输入引脚,检查电容充电到达到电压水平所需的时间,当电压达到 1.6V 及以上时,树莓派可将其识别为高电平。光线越弱,LDR 的电阻越高,电容充电越慢,达到 1.6V 电压水平所需的时间就越长。
为避免树莓
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



