一板网电子技术论坛

风筝
发表于: 2022-4-19 09:45:20 | 显示全部楼层

在本篇文章中,我们将学习将APDS9960手势、RGB和接近传感器与Arduino开发板连接的方法。APDS9960传感器提供环境光和颜色(如透明、红色、绿色和蓝色)测量以及接近检测和手势感应的功能。


非接触式手势是人机交互世界的新前沿科技。通过在传感器上滑动您的手掌,您可以控制计算机、微控制器、机器人等。在之前的帖子中,我们了解了使用TCS3200颜色传感器进行RGB颜色检测。接近传感器也可用于距离感应。


在本文中,我们将简单介绍APDS9960传感器,然后将其与Arduino UNO开发板连接。首先,我们将介绍分线板模块上的每个引脚及其功能,通过I2C引脚连接传感器。我们将测量手势方向,如左、右、上、下、近和远。然后,我们将使用该传感器作为RGB颜色检测器和接近感应测试。


所需的组件

●    Arduino UNO开发板

●    0.96寸I2C OLED显示屏

●    APDS9960手势、光线、接近和颜色传感器

●    连接跳线

●    面包板


APDS9960接近、光线、RGB颜色和手势传感器

APDS-9960是一款多功能传感器,可以检测手势、环境光、RGB颜色和光线值。

APDS9960-Sensor.jpg


该传感器由四个光电二极管组成。这些光电二极管检测由板载LED传输的反射红外能量。因此,无论何时执行任何手势,此IR能量都会被阻挡并反射回传感器,传感器检测速度和方向信息并将其转换为数字信息。APDS-9960的检测范围在10到20厘米之间。


该传感器采用I2C通信协议。工作电流大约为1µA,由3.3V供电,因此不要将其与5V引脚连接。这里的INT管脚是中断管脚,用来驱动I2C通信。

APDS9960-Architecture.jpg


手势引擎的架构具有自动激活(基于Proximity引擎结果)、环境光减法、串扰消除、双8位数据转换器、省电转换延迟、32位数据集FIFO和中断驱动I2C通信。通过可调节的IR LED时序将功耗和噪声降至最低。


APDS9960 传感器有6个引脚。以下是各个引脚的功能。

APDS9960-Pinout.jpg


将APDS9960传感器与Arduino连接

本文使用Arduino UNO开发板来连接APDS9960传感器。使用3.3V为传感器供电。

Interfacing-APDS9960-Arduino.jpg


将传感器的SDA引脚连接到Arduino开发板的A4引脚,将SCL连接到A5引脚,将INT连接到D2引脚。传感器分线板上的VL处于未连接状态。

Gesture-Sensor-Arduino.jpg


在Arduino IDE上安装APDS9960库

APDS9960传感器的Arduino库由Sparkfun创建。该库使APDS-9960易于使用。


要安装库,请转到Arduino IDE中的库管理器并安装以下Sparkfun库,如下图所示。

Arduino-Library-Installation.jpg


手势感应示例

以下是使用APDS9960传感器感应手势的代码: Gesture Sensing.rar (701 Bytes, 下载次数: 12)


上传代码后,向左、向右、向前、向后滑动您的手掌。 每当检测到中断时,串口监视器将显示手势数据。

1.jpg


感应颜色示例

以下是使用APDS9960传感器检测不同颜色的代码: Color Sensing.rar (678 Bytes, 下载次数: 5)


现在为了查看颜色频率的变化,将不同颜色的物体放在传感器前面。 串口监视器将显示红色、绿色、蓝色的值以及环境颜色值。

2.jpg


接近感应示例

现在您也可以将传感器用作接近距离检测。以下是使用APDS9960传感器检测距离的代码: Proximity Sensing.rar (603 Bytes, 下载次数: 2)


将您的手靠近和远离传感器并与传感器保持特定距离,该距离将显示在串口监视器上。

3.jpg


APDS9960手势传感器与Arduino和OLED显示屏的连接

现在让我们在电路中添加一个I2C OLED显示屏,以便可以在OLED显示屏上查看手势数据。所以如下图所示进行连接。

APDS9960-Gesture-Sensor-with-Arduino-OLED-Display.jpg


在上传代码之前,为OLED显示屏添加这两个库。

●    Adafruit GFX库

●    SSD1306库


以下是APDS9960手势传感器与Arduino和OLED显示屏的连接的完整代码: Arduino OLED Display.rar (2.6 KB, 下载次数: 14)


上传代码后,将在OLED显示屏上显示以下消息。

111111.jpg


现在试着向左、右、上、下、远、近方向移动你的手。OLED显示屏使用一些箭头符号指示方向。 例如,对于向左的手势,它会显示向左箭头。

225465.jpg


以上就是APDS9960传感器与Arduino开发板连接的方法,如果有任何疑问,请随时在本贴下面回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 685 | 回复: 1421



手机版|

GMT+8, 2023-2-6 10:03 , Processed in 0.021376 second(s), 4 queries , Gzip On, MemCache On. Powered by Discuz! X3.4

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表