博主最近在調(diào)試 AP3216C 三合一環(huán)境傳感器,由敦南科技推出的一款傳感器,支持環(huán)境光強(qiáng)度(ALS)、接近距離(PS)和紅外線強(qiáng)度(IR)這三個(gè)環(huán)境參數(shù)檢測。
1、前言
2、傳感器特性
- I2C 接口,快速模式下波特率可以到 400Kbit/S
- 多種工作模式選擇:ALS, PS+IR, ALS+PS+IR, PD 等等
- 內(nèi)建溫度補(bǔ)償電路。
- 寬工作溫度范圍(-30°C ~ +80°C)。
- 超小封裝,4.1mm x 2.4mm x 1.35mm
- 環(huán)境光傳感器具有 16 位分辨率(0~65535)。
- 接近傳感器和紅外傳感器具有 10 位分辨率(0~1023)。
- 4 個(gè)用戶可選動態(tài)范圍
- Anti-flicker rejection (reject 50/60Hz)(防閃爍抑制)
- 高靈敏度@darkened glass
- 4 個(gè)可編程紅外 LED 電流輸出
- 高環(huán)境光抑制
- 串?dāng)_補(bǔ)償
- 符合 RoHS 安全標(biāo)準(zhǔn)
典型應(yīng)用
AP3216C 常被用于手機(jī)、平板、導(dǎo)航設(shè)備等,其內(nèi)置的接近傳感器可以用于檢測是否有物體接近,比如手機(jī)上用來檢測耳朵是否接觸聽筒,如果檢測到的話就表示正在打電話,手機(jī)就會關(guān)閉手機(jī)屏幕以省電。 也可以使用環(huán)境光傳感器檢測光照強(qiáng)度,可以實(shí)現(xiàn)自動背光亮度調(diào)節(jié)。
目標(biāo)設(shè)備
功能框圖
典型應(yīng)用電路
3、參考資料
《AP3216C_Preliminary_Datasheet_Rev0.86.pdf》
4、引腳說明
5、工作模式
ALS,PS+IR,ALS+PS+IR,PD,ALS 一次,SW Reset,PS+IR一次和ALS + PS+IR一次。
6、I2C 讀寫地址
從地址0x1E
7、寄存器
系統(tǒng)寄存器表
翻譯如下
0X00 這個(gè)寄存器是模式控制寄存器,用來設(shè)置 AP3216C 的工作模式,一般開始先將其設(shè)置為 0X04,也就是先軟件復(fù)位一次 AP3216C。
接下來根據(jù)實(shí)際使用情況選擇合適的工作模式,比如設(shè)置為 0X03,也就是開啟 ALS+PS+IR。
從 0X0A~0X0F 這 6 個(gè)寄存器就是數(shù)據(jù)寄存器,保存著 ALS、PS 和 IR 這三個(gè)傳感器獲取到的數(shù)據(jù)值。
如果同時(shí)打開 ALS、PS 和 IR ,讀取間隔最少要 112.5ms,因?yàn)?AP3216C 完成一次轉(zhuǎn)換需要 112.5ms。
8、代碼
博主用的是輪詢?nèi)プx數(shù)據(jù),大家也可以配置成中斷方式。
AP3216C.H
#define AP3216C_ADDR 0X1E
#define AP3216C_SYSTEMCONG 0x00
#define AP3216C_INTSTATUS 0X01
#define AP3216C_INTCLEAR 0X02
#define AP3216C_IRDATALOW 0x0A
#define AP3216C_IRDATAHIGH 0x0B
#define AP3216C_ALSDATALOW 0x0C
#define AP3216C_ALSDATAHIGH 0X0D
#define AP3216C_PSDATALOW 0X0E
#define AP3216C_PSDATAHIGH 0X0F
#define AP3216C_POWER_DOWN 0x00
#define AP3216C_ENABLE_ALL 0x03
#define AP3216C_SW_RESET 0x04
AP3216C 沒有 chip id 寄存器,我們先寫一個(gè)值,然后讀出來,如果相等,則表示器件存在。 同時(shí)將器件初始化。
u8 AP3216C_Check_And_Init(void)
{
u8 temp;
I2C_WriteOneByte(AP3216C_ADDR,AP3216C_SYSTEMCONG,AP3216C_SW_RESET); /* SW reset */
delay_ms(50);
I2C_WriteOneByte(AP3216C_ADDR,AP3216C_SYSTEMCONG,AP3216C_ENABLE_ALL); /* enable ALS PS IR */
temp=I2C_ReadOneByte(AP3216C_ADDR,AP3216C_SYSTEMCONG);
if(temp == AP3216C_ENABLE_ALL)
return 0;
else
return 1;
}
讀取數(shù)據(jù)
for(i = 0; i < 6; i++)
{
buf[i] = I2C_ReadOneByte(AP3216C_ADDR,AP3216C_IRDATALOW + i);
}
if(buf[0] & 0X80) /* IR_OF 位為 1,則數(shù)據(jù)無效 */
ir = 0;
else
ir = ((unsigned short)buf[1] << 2) | (buf[0] & 0X03);
als = ((unsigned short)buf[3] << 8) | buf[2];/* 讀取 ALS 數(shù)據(jù) */
if(buf[4] & 0x40) /* IR_OF 位為 1,則數(shù)據(jù)無效 */
ps = 0;
else
ps = ((unsigned short)(buf[5] & 0X3F) << 4) | (buf[4] & 0X0F);
printf("ALS:%u ,PS:%u ,IR:%u \\r\\n",als,ps,ir);
讀取數(shù)據(jù)過程中,IR 和 ps 需要先判斷數(shù)據(jù)是否有效,若有效再輸出,如注釋。
-
傳感器
+關(guān)注
關(guān)注
2553文章
51428瀏覽量
756837 -
接口
+關(guān)注
關(guān)注
33文章
8706瀏覽量
151987 -
接近傳感器
+關(guān)注
關(guān)注
5文章
191瀏覽量
24478 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124680 -
環(huán)境傳感器
+關(guān)注
關(guān)注
2文章
73瀏覽量
18558
發(fā)布評論請先 登錄
相關(guān)推薦
《DNESP32S3使用指南-IDF版_V1.6》第二十五章 IIC_AP3216C實(shí)驗(yàn)
移動電源方案究竟硬件三合一還是軟件三合一?
同步整流 移動電源三合一問題
新人提問:移動電源方案軟件三合一好還是硬件三合一好?
三合一溫濕光傳感器有什么優(yōu)點(diǎn)?
「ALIENTEK 阿波羅 STM32F767 開發(fā)板資料連載」第三十二章 光環(huán)境傳感器實(shí)驗(yàn)
新版WinAVR-2006環(huán)境使用指南
Vishay推出首款三合一環(huán)境光傳感器 VCNL4000
![Vishay推出首款<b class='flag-5'>三合一環(huán)境</b>光<b class='flag-5'>傳感器</b> VCNL4000](https://file1.elecfans.com//web2/M00/A5/BA/wKgZomUMOc-AQEgFAAAreCE3JHo499.jpg)
三合一(溫濕光)傳感器設(shè)計(jì)
![<b class='flag-5'>三合一</b>(溫濕光)<b class='flag-5'>傳感器</b>設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A5/EF/wKgZomUMOt6AVbLKAAANgVElYh0980.jpg)
環(huán)境溫濕度及光照三合一傳感器設(shè)計(jì)
![<b class='flag-5'>環(huán)境</b>溫濕度及光照<b class='flag-5'>三合一傳感器</b>設(shè)計(jì)](https://file.elecfans.com/web2/M00/49/3A/pYYBAGKhtECAPdG4AAALzFtUGaY306.jpg)
移動電源三合一方案都有哪些_移動電源三合一方案哪種最穩(wěn)定
![移動電源<b class='flag-5'>三合一</b>方案都有哪些_移動電源<b class='flag-5'>三合一</b>方案哪種最穩(wěn)定](https://file1.elecfans.com//web2/M00/A7/1F/wKgZomUMQoKAfVXHAABjWVn0cYQ637.png)
正點(diǎn)原子開拓者FPGA:環(huán)境光傳感器實(shí)驗(yàn)(AP3216C)
![正點(diǎn)原子開拓者FPGA:<b class='flag-5'>環(huán)境</b>光<b class='flag-5'>傳感器</b>實(shí)驗(yàn)(<b class='flag-5'>AP3216C</b>)](https://file.elecfans.com/web1/M00/94/1D/pIYBAFztIGOAbcNrAAAgP8q9nv4212.jpg)
DFRobot新品Gravity:五合一環(huán)境傳感器
![DFRobot新品Gravity:五<b class='flag-5'>合一環(huán)境</b><b class='flag-5'>傳感器</b>](https://file.elecfans.com/web2/M00/40/C6/pYYBAGJzi3OAaK9UAAXnSmO33lo056.png)
評論