数据搜索系统,热门电子元器件搜索
  Chinese  ▼
ALLDATASHEETCN.COM

X  

ADPD2140WBCPZN-R7 数据表(PDF) 8 Page - Analog Devices

部件名 ADPD2140WBCPZN-R7
功能描述  Infrared Light Angle Sensor
PDF  10 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
制造商  AD [Analog Devices]
网页  http://www.analog.com
标志 AD - Analog Devices

ADPD2140WBCPZN-R7 数据表(HTML) 8 Page - Analog Devices

Back Button ADPD2140WBCPZN-R7 Datasheet HTML 2Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 3Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 4Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 5Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 6Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 7Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 8Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 9Page - Analog Devices ADPD2140WBCPZN-R7 Datasheet HTML 10Page - Analog Devices  
Zoom Inzoom in Zoom Outzoom out
 8 / 10 page
background image
ADPD2140W
Data Sheet
Rev. 0 | Page 8 of 10
APPLICATIONS INFORMATION
GESTURE RECOGNITION
The unique angular response of the ADPD2140W coupled with
the high performance ambient light rejection of the ADPD1080
enables a robust and effective implementation of gesture
recognition. The following algorithm demonstrates recognition
of up, down, left, right, and click hand gestures based on data
from the four channels of the ADPD2140W:
1. Prior to operation of the ADPD2140W and the ADPD1080
for gesture recognition, calibrate the ADPD1080 clocks. See
the ADPD1080 data sheet for more information on how to
calibrate the 32 kHz and 32 MHz clocks.
2. Set the ADPD1080 mode of operation to sample mode by
writing 0x2 to Register 0x10, Bits[1:0].
3. Collect the data measured by the device. See the ADPD1080
data sheet for instructions on how to read data from registers
using the first in, first out (FIFO) and interrupts. Data is
available directly from data registers or from the 128-byte
FIFO in Register 0x60, Bits [15:0].
4. The data in the four output channels of the ADPD1080
calculates the angle of incident light. After the xL, xR, yT,
and yB data are collected, calculate the angles and intensity
with the following equations:
Horizontal angle: x = (xL – xR)/(xL + xR)
Vertical angle: y = (yT – yB)/(yT + yB)
Intensity: L = xL + xR + yT + yB
5. Prior to gesture event detection, offsets of the ADPD1080
must be digitally subtracted from each channel. These offsets
are not due to photodiode dark current and are set by the
ADPD1080 on-chip analog-to-digital converter (ADC).
Register 0x18, Register 0x19, Register 0x1A, and
Register 0x1B contain the ADC offsets for Timeslot A,
while Register 0x1A, Register 0x1B, Register 0x1E, and
Register 0x1F contain the ADC offsets for Timeslot B. The
nominal value for all offsets is 0x2000. To modify these offsets,
measure the 16-bit output of each channel, in ADC codes,
and add it to the existing 16-bit number in the ADC offset
register, SLOTx_CHx_OFFSET (nominally 0x2000). Then,
write to the ADC offset register with this result. When the
offsets are correctly subtracted, the intensity reading L is
close to zero codes with no objects in the sensor field of view.
6. The start of a gesture event can be defined as occurring
when intensity data crosses a preset threshold. Nominally,
this threshold must be set to 1000 codes. However, the
threshold can be adjusted to suit the application.
7. The end of a gesture event can then be defined as the number
of samples after which the intensity drops back below the
preset threshold, past a certain minimum number of samples
(nominally five samples).
8. Use the start and stop points of the gesture event to
determine whether the gesture was up, right, left, down, or
a click. For more detail on this process, see the following
pseudocode:
event = False
intensityThreshold = 1000 (should be
adjustable by the user)
clickThreshold = 0.07 (should be adjustable
by the user)
if event = True:
i += 1
if i >= 5 and L < intensityThreshold:
event = False
gestureStopX = x
gestureStopY = y
m = (gestureStartY –
gestureStopY)/(gestureStartX – gestureStopX
+ 1e-6)
d = sqrt((gestureStartX – gestureStopX)^2 +
(gestureStartY – gestureStopY)^2)
if d < clickThreshold:
gesture = ‘CLICK’
else:
if abs(m) > 1:
if gestureStartY >
gestureStopY:
gesture = ‘UP’
else:
gesture = ‘DOWN’
elif abs(m) < 1:
if gestureStartX >
gestureStopX:
gesture = ‘LEFT’
else:
gesture = ‘RIGHT’
else:
if L > intensityThreshold:
i = 0
event = True
gestureStartX = x
gestureStartY = y



Html Pages

1 2 3 4 5 6 7 8 9 10


数据表 下载

Go To PDF Page


链接网址



ALLDATASHEET是否为您带来帮助?  [ DONATE ] 

关于 Alldatasheet   |   广告服务   |   联系我们   |   隐私政策   |   数据表链接    |   链接交换   |   制造商名单
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com