PAJ7620U2 integra função de reconhecimento de gestos com interface I2C geral em um único chip formando um sistema de sensor analítico de imagem.
O Sensor PAJ7620U2 pode reconhecer 9 gestos manuais como mover para cima, para baixo, para a esquerda, para a direita, para frente, para trás, círculo no sentido horário, círculo anti-horário e aceno.
O pacote PAJ7620U2 é em forma de módulo embutido com LED IR e lente óptica como uma solução completa de sensor.
Especificações do Módulo PAJ7620U2
-
- Tensão de alimentação: 2,8 V a 3,3 V;
- A velocidade do gesto é de 60~600°/s no modo Normal e 60~1200°/s no modo de jogo;
- Esquema flexível de economia de energia;
- I2C (para modo Gesto/Cursor);
- Interface I2C até 400 Kbit/s;
- Alcance de detecção: 5 a 15cm;
- Ângulo de visão (diagonal): 60 graus;
- Imunidade à luz ambiente;
- Cancelamento de ruído de luz ambiente;
- Temperatura de operação: -40 ° C a + 85 ° C;
- Dimensões: 20x15x2mm;
- Peso: 1,5g.
Projeto para o Sensor PAJ7620U2
O projeto consiste simplesmente em testar o reconhecimento de 9 gestos manuais através do sensor.
Montagem
As conexões do sensor ao microcontrolador Arduino são bem simples, basta conectar o pino Vcc na porta 3,3V, o pino GND na porta GND, o pino SDA na porta analógica A4 e o pino SCL na porta analógica A5, conforme o esquema abaixo.Código de funcionamento
Primeiramente, devemos incluir uma Biblioteca na IDE Arduino para poder operar o Sensor de Gestos PAJ7620U2.
Estão, siga os passos a seguir para a instalação da Biblioteca RevEngPAJ7620:
I. Vá em Ferramentas e clique em Gerenciador de bibliotecas;
II. Em seguida, digite no campo busca a palavra PAJ7620U2. Depois disso, aparecerá algumas bibliotecas do sensor, mas escolha somente a Biblioteca RevEngPAJ7620 e clique em instalar e aguarde o término da instalação.
III. Agora, vá em Arquivos, Exemplos, procure a Biblioteca RevEngPAJ7620 e escolha o exemplo paj7620_9_gestures;
IV. Para finalizar, faça o upload do código.
/* Example Script: paj7620_9_gestures.ino Package: RevEng_PAJ7620 Copyright (c) 2020 Aaron S. Crandall Author : Aaron S. Crandall <crandall@gonzaga.edu> Modified Time : December 2020 Description: This demo can recognize 9 gestures and output the result, including move up, move down, move left, move right, move forward, move backward, circle-clockwise, circle-counter clockwise, and wave. License: Same as package under MIT License (MIT) */ // Includes enum definition of GES_* return values from readGesture() #include "RevEng_PAJ7620.h" // Create gesture sensor driver object RevEng_PAJ7620 sensor = RevEng_PAJ7620(); // ********************************************************************* void setup() { Serial.begin(115200); Serial.println("PAJ7620 sensor demo: Recognizing all 9 gestures."); if( !sensor.begin() ) // return value of 0 == success { Serial.print("PAJ7620 I2C error - halting"); while(true) { } } Serial.println("PAJ7620 init: OK"); Serial.println("Please input your gestures:"); } // ********************************************************************* void loop() { Gesture gesture; // Gesture is an enum type from RevEng_PAJ7620.h gesture = sensor.readGesture(); // Read back current gesture (if any) of type Gesture switch (gesture) { case GES_FORWARD: { Serial.print("GES_FORWARD"); break; } case GES_BACKWARD: { Serial.print("GES_BACKWARD"); break; } case GES_LEFT: { Serial.print("GES_LEFT"); break; } case GES_RIGHT: { Serial.print("GES_RIGHT"); break; } case GES_UP: { Serial.print("GES_UP"); break; } case GES_DOWN: { Serial.print("GES_DOWN"); break; } case GES_CLOCKWISE: { Serial.print("GES_CLOCKWISE"); break; } case GES_ANTICLOCKWISE: { Serial.print("GES_ANTICLOCKWISE"); break; } case GES_WAVE: { Serial.print("GES_WAVE"); break; } case GES_NONE: { break; } } if( gesture != GES_NONE ) { Serial.print(", Code: "); Serial.println(gesture); } delay(100); }
Teste dos Gestos no Módulo Sensor PAJ7620U2
O Módulo Sensor Reconhecimento de Gestos PAJ7620U2 é capaz de reconhecer nove gestos manuais de maneira rápida e simples com boa precisão.
Então, sabendo-se disso, vamos para o teste:
-
- Gesto para cima – passagem com a mão sobre o sensor movimentado para cima;
- Gesto para baixo – passagem com a mão sobre o sensor movimentado para baixo;
- Gesto para esquerda – passagem com a mão sobre o sensor movimentado para a esquerda;
- Gesto para direita – passagem com a mão sobre o sensor movimentado para a direita;
- Gesto para frente – movimento da mão aproximando do sensor;
- Gesto para trás – movimento da mão afastando do sensor;
- Gesto sentido horário – nesse movimento, para uma melhor captação, deve-se juntar os cinco dedos da mão como se estivessem convergindo para um único ponto. Com esses dedos unidos, faz-se o movimento circular no sentido horário;
- Gesto sentido anti horário – mesmo procedimento do item anterior, mas com o movimento circular no sentido anti horário;
- Gesto aceno – movimento com a mão do aceno tchau.