罗姆传感器评估套件(6)接近照度传感器(PS/ALS)RPR-0521RS
往期回顾:
罗姆传感器评估套件(2)Sensor Shield的使用和软件平台搭建
传感器介绍
套件里的PS/ALS传感器型号为RPR-0521RS,是一个整合了红外LED,接近传感器(这两者用于接近检测),照度传感(这个用于检测环境光强度)为一体的高集成传感器。
这个组件在智能手机中尤其重要:接近传感用于检测手机是否贴着人体,例如在接听电话时熄灭屏幕,手机在口袋中就防止误触等;环境光传感器用于检测环境亮度,从而调整显示屏亮度,使显示清晰舒适,又可以节约电量。
硬件连接
传感器芯片是下图中的U9,可以看到发射窗和接收窗。
这个传感器是I2C接口,工作电压为2.8-3.6V,这里用3.3V。
手机摄像头可以“看到”肉眼不可见的红外LED发射的光(图中红色光点)。
测试
测试程序:
#include <Wire.h>
#include <RPR-0521RS.h>
RPR0521RS rpr0521rs;
void setup() {
byte rc;
Serial.begin(9600);
while (!Serial);
Wire.begin();
rc = rpr0521rs.init();
}
void loop() {
byte rc;
unsigned short ps_val;
float als_val;
byte near_far;
rc = rpr0521rs.get_psalsval(&ps_val, &als_val);
if (rc == 0) {
Serial.print(F("RPR-0521RS (Proximity) = "));
Serial.print(ps_val);
Serial.print(F(" [count]"));
near_far = rpr0521rs.check_near_far(ps_val);
if (near_far == RPR0521RS_NEAR_VAL) {
Serial.println(F(" Near"));
} else {
Serial.println(F(" Far"));
}
if (als_val != RPR0521RS_ERROR) {
Serial.print(F("RPR-0521RS (Ambient Light) = "));
Serial.print(als_val);
Serial.println(F(" [lx]"));
Serial.println();
}
}
delay(500);
}
复制代码
首先测试接近传感器
没有遮挡时,接近传感器读数为0,提示far(远)
用手逐渐靠近传感器,距离5cm时,读数有50左右,还是显示Far
靠近到1cm以内,显示Near(近),表示已经检测到接近
接下来测试环境光传感部分。
挡住传感器,一片漆黑,显示0.00lx
灯光下,170+lx
强光照射下:33.55k lx,并没有“爆表”。