本教程是的一部分: 伺服电机
这里列出了所有与伺服电机相关的视频。其他视频的链接在本文下方。
通过手势控制Arduino的伺服位置
在本教程中,我们将学习如何使用手势控制伺服电机。通过将手向左或向右移动,您可以使伺服电机做出相应的反应。该项目利用APDS-9960手势传感器来检测手部动作并将其转换为伺服位置。有关详细的视觉说明,请务必查看视频(视频在00:30)。

我们将使用的核心组件包括伺服电机和APDS-9960手势传感器。伺服电机将根据检测到的手势旋转到特定角度,而APDS-9960传感器将解读手部动作。这个设置允许以直观的方式控制伺服电机,而无需物理接触。
硬件解析
伺服电机是一种小型设备,可以旋转到特定角度,非常适合需要精确定位的应用。它通常有三根线:电源(红色)、接地(黑色)和信号(橙色)。信号线接收命令以将伺服电机移动到指定角度。
APDS-9960 是一种多功能传感器,可以检测手势、环境光和颜色。它通过 I2C 与 Arduino 进行通信,并需要几个引脚用于电源和数据传输。该传感器可以检测上下左右的运动,我们将利用这些运动来控制伺服电机。
数据表详细信息
| 制造商 | 博通 |
|---|---|
| 零件编号 | APDS-9960 |
| 逻辑/IO电压 | 2.4 - 3.6 伏 |
| 供电电压 | 2.4 - 3.6 伏 |
| 每个通道的输出电流 | 最大20毫安 |
| PWM频率指导 | 不适用 |
| 输入逻辑阈值 | 0.3 伏 (低), 0.7 伏 (高) |
| 电压降 / RDS(开)/ 饱和度 | 不适用 |
| 热限制 | -40 到 85 °C |
| 包裹 | 6.0 x 3.0 毫米 |
| 备注 / 变体 | 手势感应,RGB光感应 |
- 确保伺服电机的电源电压足够(通常为5V)。
- 将APDS-9960通过I2C通信连接到Arduino。
- 请注意手势传感器的中断引脚。
- 如有必要,请使用上拉电阻以确保信号检测稳定。
- 确保在不同的光照条件下校准传感器,以提高准确性。

要连接组件,首先从伺服电机开始。将红线连接到Arduino的5V引脚,将黑线连接到地(GND),将橙色信号线连接到引脚。9这将使Arduino能够控制伺服电机的位置。
接下来,连接APDS-9960手势传感器。连接V_N连接到Arduino的3.3V,和GND接地。该INT引脚应连接到引脚2在Arduino上,当SDA和SCL引脚连接到引脚A4和A5,分别。此配置允许传感器与Arduino有效通信。
代码示例与演练
在设置函数中,我们初始化伺服电机和手势传感器。myservo.attach(9);将伺服电机绑定到我们之前连接的9号引脚。这使得伺服电机能够接收来自Arduino的指令。

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
// Set interrupt pin as input
pinMode(APDS9960_INT, INPUT);
// Initialize Serial port
Serial.begin(9600);
}接下来,我们定义系统在循环函数中如何处理手势。该方法handleGesture();检查可用的手势并执行相应的动作。例如,如果检测到的手势是左侧,伺服电机将移动到180度。
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_LEFT:
myservo.write(180); // added by RoboJax
break;
case DIR_RIGHT:
myservo.write(0); // added by RoboJax
break;
}
}
}最后,循环不断检查手势,并根据检测到的手势更新伺服位置。确保在不同的光照条件下测试设置,以获得准确的手势识别。
演示 / 期待什么
一旦所有连接完成并且代码上传,您应该能够通过向左或向右移动手来控制伺服电机。伺服电机会在左侧手势时旋转到180度,并在右侧手势时返回到0度。如果未检测到手势,请检查传感器的位置和周围的光照条件(视频中在05:30)。
章节
- 介绍 - 00:00
- 硬件概述 - 01:30
- 接线说明 - 03:00
- 代码说明 - 04:30
- 演示 - 06:00
本教程是……的一部分: 伺服电机
- Controlling a Servo with Push Buttons Using Arduino
- Control a Servo Motor with a Push Button: Move Servo and Return SPB-1
- Control a Servo Motor with a Push Button: Move Servo in One Direction SPB-2
- Controlling a Servo Motor with a Push Button: Move Servo While Button Is Pressed (SPB-3)
- Controlling a Servo with a Potentiometer Using Arduino
- Controlling a Servo with Potentiometer and LCD1602 using Arduino
- 使用红外遥控器和Arduino控制伺服电机
- 使用电位器控制Arduino伺服电机
- Controlling Two or More Servos with Potentiometers Using an Arduino
- How to Control a 360° Servo with Three Push-Button Switches
- How to Use Continuous 360° Servo with Arduino
- PCA9685 16通道12位伺服控制器V1的Arduino代码和视频
- Build an Arduino Servo Toggle Switch with a Push Button
This code has not been parsed yet. Please return to the admin panel to parse it.
资源与参考
尚无可用资源。
文件📁
没有可用的文件。