Код для поиска

Датчик жестов APDS-9960 с Arduino

Датчик жестов APDS-9960 с Arduino

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

APDS-9960 gesture sensor module -1

Аппаратное обеспечение объяснено

APDS-9960 — это универсальный сенсор, который сочетает в себе возможности RGB-цветового sensing, определения уровня окружающего света, определения близости и распознавания жестов. Он совместим с Arduino через I2C, что обеспечивает легкую интеграцию с минимальным количеством проводов. Сенсор работает только на 3,3 В, поэтому важно обеспечить правильные уровни напряжения, чтобы избежать повреждения устройства. В этой сборке мы будем использовать Arduino для считывания данных жестов. Сенсор передает информацию о жестах через прерывания, что позволяет Arduino быстро реагировать на движения рук. Интеграция APDS-9960 с Arduino открывает множество возможностей для интерактивных проектов, включая устройства с управлением жестами.

Технические характеристики

ПроизводительБродком
Номер деталиAPDS-9960
Логическое/входное напряжение2.7 - 3.6 В
Напряжение питания3,3 В
Выходной ток (на канал)1 мА
Пиковый ток (на канал)10 мА
Рекомендации по частоте PWM100 Гц
Входные логические пороги0.3 x VDD(низкий), 0.7 x VДД(высокий)
Падение напряжения / RДС(включено)/ насыщение0.5 В макс
Термические ограничения-40 до +85 °C
пакет6-pin LGA
Заметки / вариантыПоддерживает I2C-связь

  • Убедитесь, что напряжение питания не превышает 3,6 В, чтобы избежать повреждений.
  • Используйте подтягивающие резисторы на линиях I2C для надежной связи.
  • Держите датчик подальше от прямых солнечных лучей для точных показаний.
  • Убедитесь, что датчик правильно инициализирован в коде.
  • Проверьте соединения проводки, чтобы избежать "плавающих" входов.

Инструкции по проводке

Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor

Для подключения 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...
    }
  }
}

В этой функции считывается жест, и в зависимости от обнаруженного направления выполняется соответствующее действие. Это позволяет осуществлять интерактивное управление на основе движений рук. Для полного понимания кода, пожалуйста, обратитесь к полной программе, загруженной ниже статьи.

APDS-9960 gesture sensor -3

Демонстрация / Что ожидать

Когда настройка завершена, вы можете ожидать, что Arduino будет считывать жесты и отображать распознанное направление на последовательном мониторе. Простые тесты включают в себя движения вашей рукой вверх, вниз, влево или вправо перед сенсором. Если все соединено правильно, вы должны увидеть соответствующий вывод на последовательном мониторе, подтверждающий распознавание жестов. Будьте осторожны с плавающими входами, так как они могут привести к непоследовательным измерениям (в видео на 05:20).

Временные метки видео

  • 00:00- Введение
  • 01:15- Обзор аппаратного обеспечения
  • 03:00- Инструкции по проводке
  • 04:30- Прогулка по коду
  • 06:15- Демонстрация

Изображения

APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor -3
APDS-9960 gesture sensor -3
Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor
1-Code for an APDS-9960 gesture sensor for Arduino
Язык: C++
This code has not been parsed yet. Please return to the admin panel to parse it.
2-Source code for controlling a servo with your hand
Язык: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Ресурсы и ссылки

Ресурсов пока нет.

Файлы📁

Другие файлы