|
罗姆传感器评估套件(6)接近照度传感器(PS/ALS)RPR-0521RS
[复制链接]
传感器介绍
套件里的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,并没有“爆表”。
|
|