
Модуль датчика распознавания 9 жестов PAJ7620U2 / CJMCU-7620 (I2C, 3.3 В)
# Модуль датчика распознавания 9 жестов PAJ7620U2 / CJMCU-7620 (I²C, 3.3 В) Модуль на базе специализированной микросхемы PAJ7620U2 от PixArt Imaging представляет собой высокоточный оптический сенсор д
- Артикул:
- 2365
# Модуль датчика распознавания 9 жестов PAJ7620U2 / CJMCU-7620 (I²C, 3.3 В)
Модуль на базе специализированной микросхемы PAJ7620U2 от PixArt Imaging представляет собой высокоточный оптический сенсор для распознавания бесконтактных жестов и определения приближения объектов (Proximity Detection). Датчик способен распознавать 9 различных типов движений и передавать данные в микроконтроллер по стандартному интерфейсу I²C.
Благодаря встроенному алгоритму шумоподавления и устойчивости к внешнему освещению (до 100 000 Люкс), модуль надежно работает даже при ярком дневном свете. Компактные габариты, встроенный генератор прерываний (вывод `INT`) и поддержка сверхбыстрого игрового режима (Gaming Mode со скоростью отслеживания жестов до 1200°/с) делают PAJ7620U2 отличной альтернативой базовым сенсорам жестов.
---
### Технические характеристики
| Параметр | Значение |
| --- | --- |
| Микросхема | PixArt PAJ7620U2 (модуль CJMCU-7620) |
| Количество распознаваемых жестов | 9 (Вверх, Вниз, Влево, Вправо, Вперед, Назад, По часовой, Против часовой, Взмах) |
| Интерфейс связи | I²C (до 400 кбит/с, адрес по умолчанию `0x73`) |
| Напряжение питания (VCC) | 2.8 – 3.3 В DC (поддержка модулей с регулятором до 5 В) |
| Логический уровень I/O (SDA, SCL, INT) | 1.8 – 3.3 В DC |
| Рабочий ток | 3 – 10 мА (низкое энергопотребление в режиме сна) |
| Скорость распознавания жестов | 60°/с – 600°/с (Normal Mode) / 60°/с – 1200°/с (Gaming Mode) |
| Устойчивость к фоновому свету |
#include "paj7620.h"
void setup() {
Serial.begin(115200);
Serial.println(F("\n--- Инициализация PAJ7620U2 ---"));
uint8_t error = paj7620Init();
if (error) {
Serial.print(F("Ошибка инициализации датчика! Код: "));
Serial.println(error);
while (1); // Остановка программы при ошибке
}
Serial.println(F("PAJ7620U2 готов к работе. Покажите жест..."));
}
void loop() {
uint8_t data = 0;
uint8_t error = paj7620ReadReg(0x43, 1, &data); // Чтение регистра жестов
if (!error && data) {
switch (data) {
case GES_UP:
Serial.println(F("Жест: ВВЕРХ (UP)"));
break;
case GES_DOWN:
Serial.println(F("Жест: ВНИЗ (DOWN)"));
break;
case GES_LEFT:
Serial.println(F("Жест: ВЛЕВО (LEFT)"));
break;
case GES_RIGHT:
Serial.println(F("Жест: ВПРАВО (RIGHT)"));
break;
case GES_FORWARD:
Serial.println(F("Жест: ВПЕРЕД / ПРИБЛИЖЕНИЕ (PUSH)"));
break;
case GES_BACKWARD:
Serial.println(F("Жест: НАЗАД / ОДОЛЕНИЕ (PULL)"));
break;
case GES_CLOCKWISE:
Serial.println(F("Жест: ПО ЧАСОВОЙ СТРЕЛКЕ (CW)"));
break;
case GES_COUNT_CLOCKWISE:
Serial.println(F("Жест: ПРОТИВ ЧАСОВОЙ СТРЕЛКИ (CCW)"));
break;
case GES_WAVE:
Serial.println(F("Жест: ВЗМАХ (WAVE)"));
break;
}
}
delay(50); // Небольшая задержка между опросами
}



