
Модуль датчика жестов, расстояния и цвета APDS-9960 (RGB, Proximity, Gesture)
# Модуль датчика жестов, расстояния и цвета APDS-9960 (RGB, Proximity, Gesture) Модуль на базе датчика APDS-9960 представляет собой многофункциональное устройство «4-в-1», объединяющее в себе сенсор р
- Артикул:
- 2360
# Модуль датчика жестов, расстояния и цвета APDS-9960 (RGB, Proximity, Gesture)
Модуль на базе датчика APDS-9960 представляет собой многофункциональное устройство «4-в-1», объединяющее в себе сенсор распознавания бесконтактных жестов (Gesture Sensing), датчик приближения (Proximity), а также сенсоры уровня внешней освещенности (Ambient Light) и цвета (RGB). Имена именно этой микросхемы использовались в флагманском смартфоне Samsung Galaxy S5, что делает данный модуль одним из лучших решений на рынке по соотношению цены и возможностей.
Модуль оснащен четырьмя направленными инфракрасными фотодиодами, встроенными фильтрами блокировки УФ- и ИК-излучения, а также удобным интерфейсом передачи данных I²C. Сенсор способен распознавать жесты свайпа (вверх, вниз, влево, вправо) и приближение предметов на расстоянии от 10 до 20 см.
---
### Технические характеристики
| Параметр | Значение |
| --- | --- |
| Микросхема | Broadcom / Avago APDS-9960 |
| Функции | Распознавание жестов, определение цвета (RGB), освещенность, приближение |
| Рабочее напряжение (VCC) | 3.3 В DC (внимание: логика 3.3 В) |
| Интерфейс связи | I²C (Standard / Fast mode) |
| Дистанция обнаружения (Gesture/Proximity) | 10 – 20 см (4 – 8 дюймов) |
| Фильтрация | Встроенные фильтры блокировки УФ (UV) и ИК (IR) излучения |
| Выход прерывания | Есть (пин INT с открытым стоком) |
| Использование светодиода | Встроенный ИК-светодиод для подсветки жестов и приближения |
---
### Назначение контактов (Pinout)
- VCC: Питание модуля (строго 3.3 В DC).
- GND: Общий провод (земля).
- SDA: Линия данных шины I²C (логический уровень 3.3 В).
- SCL: Линия тактирования шины I²C (логический уровень 3.3 В).
- INT: Выход прерывания (Interrupt, активный низкий уровень — используется для отслеживания жестов без постоянного опроса МК).
- VL: Дополнительное питание для встроенного ИК-светодиода (опционально, если требуется увеличить мощность ИК-излучателя; обычно закорочено с VCC).
---
### Пример скетча для Arduino (Распознавание жестов)
Для работы с модулем рекомендуется использовать библиотеку SparkFun APDS9960.
*Примечание: Если вы используете Arduino Uno / Nano (5В), подключайте линии SDA и SCL через конвертер логических уровней (3.3V ↔ 5V).*
```cpp
#include
#include
// Создаем объект датчика
SparkFun_APDS9960 apds = SparkFun_APDS9960();
void setup() {
Serial.begin(9600);
Serial.println();
Serial.println(F("--- Инициализация APDS-9960 ---"));
// Инициализация датчика
if (apds.init()) {
Serial.println(F("APDS-9960 успешно подключен!"));
} else {
Serial.println(F("Ошибка подключения APDS-9960. Проверьте контакты!"));
}
// Включаем режим распознавания жестов
if (apds.enableGestureSensor(true)) {
Serial.println(F("Датчик жестов активирован"));
} else {
Serial.println(F("Ошибка запуска датчика жестов"));
}
}
void loop() {
// Проверяем наличие зафиксированного жеста
if (apds.isGestureAvailable()) {
switch (apds.readGesture()) {
case DIR_UP:
Serial.println("ЖЕСТ: ВВЕРХ (UP)");
break;
case DIR_DOWN:
Serial.println("ЖЕСТ: ВНИЗ (DOWN)");
break;
case DIR_LEFT:
Serial.println("ЖЕСТ: ВЛЕВО (LEFT)");
break;
case DIR_RIGHT:
Serial.println("ЖЕСТ: ВПРАВО (RIGHT)");
break;
case DIR_NEAR:
Serial.println("ЖЕСТ: ПРИБЛИЖЕНИЕ (NEAR)");
break;
case DIR_FAR:
Serial.println("ЖЕСТ: ОДАЛЕНИЕ (FAR)");
break;
default:
Serial.println("НЕОПРЕДЕЛЕННЫЙ ЖЕСТ");
}
}
}



