Этот учебник является частью: Servo Motors
All videos related to servo motors that are related, listed here.
Управление положением сервопривода с помощью жестов рук для Arduino
В этом уроке мы научимся управлять сервомотором с помощью жестов рук. Двигая рукой влево или вправо, вы можете заставить сервомотор реагировать соответствующим образом. Этот проект использует датчик жестов APDS-9960 для обнаружения движений рук и их преобразования в позиции сервомотора. Для подробного визуального объяснения обязательно посмотрите видео (в видео на 00:30).

Основные компоненты, которые мы будем использовать, включают сервомотор и датчик жестов APDS-9960. Сервомотор будет вращаться под определенными углами в зависимости от обнаруженных жестов, в то время как датчик APDS-9960 будет интерпретировать движения рук. Эта конфигурация позволяет интуитивно управлять сервомотором без физического контакта.
Объяснение аппаратного обеспечения
Сервомотор — это небольшое устройство, которое может вращаться на определенные углы, что делает его идеальным для приложений, требующих точного позиционирования. Обычно у него три провода: питание (красный), земля (черный) и сигнал (оранжевый). Сигнальный провод получает команды на перемещение сервомотора в заданный угол.
APDS-9960 — это универсальный датчик, который может обнаруживать жесты, окружающий свет и цвет. Он общается с Arduino через I2C и требует несколько контактов для питания и передачи данных. Датчик может обнаруживать движения, такие как вверх, вниз, влево и вправо, которые мы будем использовать для управления сервоприводом.
Технические характеристики
| Производитель | Бродком |
|---|---|
| Номер детали | APDS-9960 |
| Логическое/входное напряжение | 2.4 - 3.6 В |
| Напряжение питания | 2.4 - 3.6 В |
| Выходной ток (на канал) | 20 мА макс |
| Руководство по частоте ШИМ | Не применимо |
| Входные логические пороги | 0.3 В (низкое), 0.7 В (высокое) |
| Падение напряжения / RДС(включено)/ насыщение | Не применимо |
| Термические пределы | -40 до 85 °C |
| Пакет | 6,0 x 3,0 мм |
| Заметки / варианты | Датчик жестов, датчик RGB света |
- Убедитесь, что сервопривод питается от достаточного напряжения (обычно 5В).
- Подключите APDS-9960 к Arduino с использованием I2C-связи.
- Обратите внимание на вывод прерывания для сенсора жестов.
- Используйте подтягивающие резисторы, если это необходимо для стабильного обнаружения сигнала.
- Убедитесь, что вы откалибровали сенсор в различных условиях освещения для большей точности.

Чтобы подключить компоненты, начните с сервомотора. Подключите красный провод к 5V пину Arduino, черный провод к земле (GND), а оранжевый сигнальный провод к пину.9Это позволит Arduino управлять положением сервопривода.
Далее подключите датчик жестов APDS-9960. ПодключитеV_Nподключите к 3.3V Arduino, и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
Этот учебник является частью: Servo Motors
- 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
- Arduino Code and Video for PCA9685 16-Channel 12-Bit Servo Controller V1
- Build an Arduino Servo Toggle Switch with a Push Button
Ресурсы и ссылки
Ресурсов пока нет.
Файлы📁
Нет доступных файлов.