主要参数如下;
IIC接口,支持高达400Khz通信速率
支持多种工作模式(ALS、PS+IR、ALS+PS+IR等)
内置温度补偿电路
工作温度支持-30~80℃
环境光传感器具有16位分辨率
接近传感器具有10位分辨率
红外传感器具有10位分辨率
超小封装(4.1*2.4*1.35mm)
通过该传感器检测光强度(自动灯光和窗帘控制),和接近开关控制(用于探测人是否靠近)。 AP3216C引脚:
引脚编号 | 标号 | 说明 |
1 | VDD | 电源,接3.3V |
2 | SCL | IIC时钟信号,开漏 |
3 | GND | 地线 |
4 | LEDA | LED阳极,接3.3V |
5 | LEDC | LED阴极,一般连接LDR |
6 | LDR | LED驱动输出脚,一般接LEDC |
7 | INT | 中断输出脚 |
8 | SDA | IIC数据信号,开漏 |
AP3216C和我们的MCU只需要连接SCL、SDA和INT,就可以实现驱动。其SCL和SDA,连接在PH4和PH5上,INT脚连接P1上。
地址 | 有效位 | 指令 | 说明 |
0X00 | 2:0 | 系统模式 | 000:掉电模式(默认) 001:ALS功能激活010:PS+IR功能激活 011:ALS+PS+IR功能激活100:软复位 101:ALS单次模式110:PS+IR单次模式 111:ALS+PS+IR单次模式 |
0X0A | 7 | IR低位数据 | 0:IR&PS数据有效;1:无效 |
1:0 | IR最低2位数据 | ||
0X0B | 7:0 | IR高位数据 | IR高8位数据 |
0X0C | 7:0 | ALS低位数据 | ALS低8位数据 |
0X0D | 7:0 | ALS高位数据 | ALS高8位数据 |
0X0E | 7 | PS低位数据 | 0,物体在远离;1,物体在靠近; |
6 | 0,IR数据有效;1,IR数据无效 | ||
3:0 | PS最低4位数据 | ||
0X0F | 7 | PS高位数据 | 0,物体在远离;1,物体在靠近; |
6 | 0,IR数据有效;1,IR数据无效 | ||
5:0 | PS高6位数据 |
剩下的6个寄存器,为数据寄存器,输出AP3216C内部三个传感器所检测到的数据(ADC值),描述如表所示,这里需要注意的是:读取间隔至少要大于112.5ms,因为AP3216C内部完成一次ALS+PS+IR的数据转换,需要112.5ms的时间。
实验程序步骤:
开机的时候先检测AP3216C是否存在,如检测不到AP3216C,则在LCD屏幕上面显示报错信息。如果检测到AP3216C,则显示正常,并在主循环里面,循环读取ALS+PS+IR的传感器数据,并显示在LCD屏幕上面。同时,DS0闪烁,提示程序正在运行。另外,本例程将AP3216C的读写操作函数加入USMART控制,我们也可以通过USMART对AP3216C进行控制。