在本篇文章中,我们将学习将APDS9960手势、RGB和接近传感器与Arduino开发板连接的方法。APDS9960传感器提供环境光和颜色(如透明、红色、绿色和蓝色)测量以及接近检测和手势感应的功能。
非接触式手势是人机交互世界的新前沿科技。通过在传感器上滑动您的手掌,您可以控制计算机、微控制器、机器人等。在之前的帖子中,我们了解了使用TCS3200颜色传感器进行RGB颜色检测。接近传感器也可用于距离感应。
在本文中,我们将简单介绍APDS9960传感器,然后将其与Arduino UNO开发板连接。首先,我们将介绍分线板模块上的每个引脚及其功能,通过I2C引脚连接传感器。我们将测量手势方向,如左、右、上、下、近和远。然后,我们将使用该传感器作为RGB颜色检测器和接近感应测试。
所需的组件 ● Arduino UNO开发板 ● 0.96寸I2C OLED显示屏 ● APDS9960手势、光线、接近和颜色传感器 ● 连接跳线 ● 面包板
APDS9960接近、光线、RGB颜色和手势传感器 APDS-9960是一款多功能传感器,可以检测手势、环境光、RGB颜色和光线值。
该传感器由四个光电二极管组成。这些光电二极管检测由板载LED传输的反射红外能量。因此,无论何时执行任何手势,此IR能量都会被阻挡并反射回传感器,传感器检测速度和方向信息并将其转换为数字信息。APDS-9960的检测范围在10到20厘米之间。
该传感器采用I2C通信协议。工作电流大约为1µA,由3.3V供电,因此不要将其与5V引脚连接。这里的INT管脚是中断管脚,用来驱动I2C通信。
手势引擎的架构具有自动激活(基于Proximity引擎结果)、环境光减法、串扰消除、双8位数据转换器、省电转换延迟、32位数据集FIFO和中断驱动I2C通信。通过可调节的IR LED时序将功耗和噪声降至最低。
APDS9960 传感器有6个引脚。以下是各个引脚的功能。
将APDS9960传感器与Arduino连接 本文使用Arduino UNO开发板来连接APDS9960传感器。使用3.3V为传感器供电。
将传感器的SDA引脚连接到Arduino开发板的A4引脚,将SCL连接到A5引脚,将INT连接到D2引脚。传感器分线板上的VL处于未连接状态。
在Arduino IDE上安装APDS9960库 APDS9960传感器的Arduino库由Sparkfun创建。该库使APDS-9960易于使用。
要安装库,请转到Arduino IDE中的库管理器并安装以下Sparkfun库,如下图所示。
手势感应示例 以下是使用APDS9960传感器感应手势的代码:
Gesture Sensing.rar
(701 Bytes, 下载次数: 12)
上传代码后,向左、向右、向前、向后滑动您的手掌。 每当检测到中断时,串口监视器将显示手势数据。
感应颜色示例 以下是使用APDS9960传感器检测不同颜色的代码:
Color Sensing.rar
(678 Bytes, 下载次数: 5)
现在为了查看颜色频率的变化,将不同颜色的物体放在传感器前面。 串口监视器将显示红色、绿色、蓝色的值以及环境颜色值。
接近感应示例 现在您也可以将传感器用作接近距离检测。以下是使用APDS9960传感器检测距离的代码:
Proximity Sensing.rar
(603 Bytes, 下载次数: 2)
将您的手靠近和远离传感器并与传感器保持特定距离,该距离将显示在串口监视器上。
APDS9960手势传感器与Arduino和OLED显示屏的连接 现在让我们在电路中添加一个I2C OLED显示屏,以便可以在OLED显示屏上查看手势数据。所以如下图所示进行连接。
在上传代码之前,为OLED显示屏添加这两个库。 ● Adafruit GFX库 ● SSD1306库
以下是APDS9960手势传感器与Arduino和OLED显示屏的连接的完整代码:
Arduino OLED Display.rar
(2.6 KB, 下载次数: 14)
上传代码后,将在OLED显示屏上显示以下消息。
现在试着向左、右、上、下、远、近方向移动你的手。OLED显示屏使用一些箭头符号指示方向。 例如,对于向左的手势,它会显示向左箭头。
以上就是APDS9960传感器与Arduino开发板连接的方法,如果有任何疑问,请随时在本贴下面回复。 |