Sensor de Gestos APDS-9960 com Arduino
O sensor de gestos APDS-9960 permite detectar gestos com a mão, como deslizamentos, e também proximidade. Neste tutorial, demonstraremos como conectar o APDS-9960 a um Arduino e programá-lo para reconhecer gestos. O resultado será uma configuração simples que pode detectar movimentos e relatá-los pelo monitor serial. Este guia ajudará você a entender a fiação e o código necessários para começar a usar o sensor de gestos. (no vídeo em 00:30)

Hardware Explicado
O APDS-9960 é um sensor versátil que combina detecção de cor RGB, medição de luz ambiente, detecção de proximidade e capacidades de detecção de gestos. Ele se comunica com o Arduino via I2C, o que permite integração fácil com fiação mínima. O sensor opera somente a 3.3V, tornando essencial garantir níveis de tensão adequados para evitar danificar o dispositivo. Nesta montagem, usaremos o Arduino para ler os dados de gestos. O sensor envia informações de gesto por meio de interrupções, o que permite que o Arduino responda prontamente aos movimentos da mão. A integração do APDS-9960 com o Arduino abre muitas possibilidades para projetos interativos, incluindo dispositivos controlados por gestos.
Detalhes da ficha técnica
| Fabricante | Broadcom |
|---|---|
| Número da peça | APDS-9960 |
| Tensão lógica/E/S | 2.7 - 3.6 V |
| Tensão de alimentação | 3.3 V |
| Corrente de saída (por canal) | 1 mA |
| Corrente de pico (por canal) | 10 mA |
| Orientação sobre a frequência PWM | 100 Hz |
| Limiares de lógica de entrada | 0.3 x VDD(baixo), 0.7 x VDD(alto) |
| Queda de tensão / RDS(on)/ saturação | 0,5 V máx |
| Limites térmicos | -40 a +85 °C |
| Pacote | LGA de 6 pinos |
| Notas / variantes | Suporta comunicação I2C |
- Certifique-se de que a tensão de alimentação não exceda 3.6 V para evitar danos.
- Use resistores pull-up nas linhas I2C para uma comunicação confiável.
- Mantenha o sensor afastado da luz solar direta para leituras precisas.
- Certifique-se de inicializar o sensor corretamente no código.
- Verifique as conexões de fiação para evitar entradas flutuantes.
Instruções de fiação

Para ligar o APDS-9960 ao Arduino, comece conectando a alimentação. Use um fio vermelho para conectar o pino VCC do APDS-9960 ao pino 3.3V do Arduino. Em seguida, conecte o pino GND do sensor a um pino GND do Arduino usando um fio preto. Agora, para a comunicação I2C, conecte o pino SDA do APDS-9960 ao pino A4 do Arduino. Da mesma forma, conecte o pino SCL ao pino A5 do Arduino. Por fim, conecte o pino INT do sensor ao pino 2 do Arduino. Isso permitirá que o Arduino responda às interrupções geradas pelo sensor.
Exemplos de Código e Guia Passo a Passo
O código fornecido inicializa o sensor APDS-9960 e configura o Arduino para ler gestos. Aqui está um breve trecho da função setup:
void setup() {
pinMode(APDS9960_INT, INPUT);
Serial.begin(9600);
attachInterrupt(0, interruptRoutine, FALLING);
if ( apds.init() ) {
Serial.println(F("APDS-9960 initialization complete"));
}
}Neste trecho, inicializamos o monitor serial e definimos o pino de interrupção. O sensor é inicializado e uma mensagem de confirmação é impressa no console. Em seguida, verificamos gestos na função loop:
void loop() {
if( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}Aqui, o loop verifica continuamente a presença de gestos. Quando um gesto é detectado, a interrupção é desativada e a função handleGesture é chamada para processar o gesto. Finalmente, a função handleGesture processa os gestos detectados:
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
Serial.println("UP");
break;
case DIR_DOWN:
Serial.println("DOWN");
break;
// Additional cases...
}
}
}Nesta função, o gesto é lido e a ação correspondente é executada com base na direção detectada. Isso permite um controle interativo com base nos movimentos da mão. Para uma compreensão completa do código, consulte o programa completo incluído abaixo do artigo.

Demonstração / O que Esperar
Quando a configuração estiver completa, você pode esperar que o Arduino leia gestos e exiba a direção detectada no monitor serial. Testes simples incluem mover a mão para cima, para baixo, para a esquerda ou para a direita em frente ao sensor. Se tudo estiver ligado corretamente, você deverá ver a saída correspondente no monitor serial, confirmando o reconhecimento do gesto. Tenha cuidado com entradas flutuantes, pois elas podem levar a leituras inconsistentes (no vídeo em 05:20).
Marcas de tempo do vídeo
- 00:00- Introdução
- 01:15- Visão geral do hardware
- 03:00- Instruções de fiação
- 04:30- Revisão do código
- 06:15- Demonstração
Recursos e referências
Ainda não há recursos.