Датчик жестов APDS-9960 с Arduino
Датчик жестов APDS-9960 позволяет обнаруживать жесты рук, такие как свайпы и близость. В этом руководстве мы покажем, как подключить APDS-9960 к Arduino и запрограммировать его для распознавания жестов. Результатом будет простая установка, которая может обнаруживать движения и передавать их через последовательный монитор. Этот гайд поможет вам понять проводку и код, необходимые для начала работы с датчиком жестов. (в видео на 00:30)

Аппаратное обеспечение объяснено
APDS-9960 — это универсальный сенсор, который сочетает в себе возможности RGB-цветового sensing, определения уровня окружающего света, определения близости и распознавания жестов. Он совместим с Arduino через I2C, что обеспечивает легкую интеграцию с минимальным количеством проводов. Сенсор работает только на 3,3 В, поэтому важно обеспечить правильные уровни напряжения, чтобы избежать повреждения устройства. В этой сборке мы будем использовать Arduino для считывания данных жестов. Сенсор передает информацию о жестах через прерывания, что позволяет Arduino быстро реагировать на движения рук. Интеграция APDS-9960 с Arduino открывает множество возможностей для интерактивных проектов, включая устройства с управлением жестами.
Технические характеристики
| Производитель | Бродком |
|---|---|
| Номер детали | APDS-9960 |
| Логическое/входное напряжение | 2.7 - 3.6 В |
| Напряжение питания | 3,3 В |
| Выходной ток (на канал) | 1 мА |
| Пиковый ток (на канал) | 10 мА |
| Рекомендации по частоте PWM | 100 Гц |
| Входные логические пороги | 0.3 x VDD(низкий), 0.7 x VДД(высокий) |
| Падение напряжения / RДС(включено)/ насыщение | 0.5 В макс |
| Термические ограничения | -40 до +85 °C |
| пакет | 6-pin LGA |
| Заметки / варианты | Поддерживает I2C-связь |
- Убедитесь, что напряжение питания не превышает 3,6 В, чтобы избежать повреждений.
- Используйте подтягивающие резисторы на линиях I2C для надежной связи.
- Держите датчик подальше от прямых солнечных лучей для точных показаний.
- Убедитесь, что датчик правильно инициализирован в коде.
- Проверьте соединения проводки, чтобы избежать "плавающих" входов.
Инструкции по проводке

Для подключения APDS-9960 к Arduino начните с подключения питания. Используйте красный провод, чтобы соединить вывод VCC APDS-9960 с выводом 3.3В на Arduino. Далее подключите вывод GND сенсора к заземляющему выводу на Arduino с помощью черного провода. Теперь, для связи по I2C, подключите вывод SDA APDS-9960 к выводу A4 на Arduino. Аналогично, подключите вывод SCL к выводу A5 на Arduino. Наконец, подключите вывод INT сенсора к выводу 2 на Arduino. Это позволит Arduino реагировать на прерывания, сгенерированные сенсором.
Примеры кода и пошаговая инструкция
Предоставленный код инициализирует датчик APDS-9960 и настраивает Arduino для считывания жестов. Вот краткий фрагмент функции настройки:
void setup() {
pinMode(APDS9960_INT, INPUT);
Serial.begin(9600);
attachInterrupt(0, interruptRoutine, FALLING);
if ( apds.init() ) {
Serial.println(F("APDS-9960 initialization complete"));
}
}В этом фрагменте мы инициализируем последовательный монитор и устанавливаем контакт прерывания. Датчик инициализируется, и на консоль выводится сообщение с подтверждением. Затем мы проверяем жесты в функции цикла:
void loop() {
if( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}Здесь цикл непрерывно проверяет жесты. Когда жест обнаружен, прерывание отключается, и вызывается функция `handleGesture` для обработки жеста. Наконец, функция `handleGesture` обрабатывает обнаруженные жесты:
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
Serial.println("UP");
break;
case DIR_DOWN:
Serial.println("DOWN");
break;
// Additional cases...
}
}
}В этой функции считывается жест, и в зависимости от обнаруженного направления выполняется соответствующее действие. Это позволяет осуществлять интерактивное управление на основе движений рук. Для полного понимания кода, пожалуйста, обратитесь к полной программе, загруженной ниже статьи.

Демонстрация / Что ожидать
Когда настройка завершена, вы можете ожидать, что Arduino будет считывать жесты и отображать распознанное направление на последовательном мониторе. Простые тесты включают в себя движения вашей рукой вверх, вниз, влево или вправо перед сенсором. Если все соединено правильно, вы должны увидеть соответствующий вывод на последовательном мониторе, подтверждающий распознавание жестов. Будьте осторожны с плавающими входами, так как они могут привести к непоследовательным измерениям (в видео на 05:20).
Временные метки видео
- 00:00- Введение
- 01:15- Обзор аппаратного обеспечения
- 03:00- Инструкции по проводке
- 04:30- Прогулка по коду
- 06:15- Демонстрация
This code has not been parsed yet. Please return to the admin panel to parse it.
This code has not been parsed yet. Please return to the admin panel to parse it.
Ресурсы и ссылки
Ресурсов пока нет.