Controlando a Posição do Servo com Gestos de Mão para Arduino
Neste tutorial, aprenderemos como controlar um motor servo usando gestos das mãos. Ao mover sua mão para a esquerda ou para a direita, você pode fazer o motor servo responder de acordo. Este projeto utiliza o sensor de gestos APDS-9960 para detectar movimentos das mãos e traduzi-los em posições do servo. Para uma explicação visual detalhada, não deixe de conferir o vídeo (no vídeo em 00:30).

Os componentes principais que usaremos incluem um motor servo e o sensor de gestos APDS-9960. O motor servo irá girar para ângulos específicos com base nos gestos detectados, enquanto o sensor APDS-9960 interpretará os movimentos das mãos. Essa configuração permite uma maneira intuitiva de controlar o servo sem toque físico.
Hardware Explicado
O motor servo é um pequeno dispositivo que pode girar em ângulos específicos, tornando-o ideal para aplicações que requerem posicionamento preciso. Ele geralmente possui três fios: alimentação (vermelho), terra (preto) e sinal (laranja). O fio de sinal recebe comandos para mover o servo para um ângulo especificado.
O APDS-9960 é um sensor versátil que pode detectar gestos, luz ambiente e cor. Ele se comunica com o Arduino via I2C e requer alguns pinos para alimentação e transferência de dados. O sensor pode detectar movimentos como para cima, para baixo, para a esquerda e para a direita, que usaremos para controlar o servo.
Detalhes da Ficha Técnica
| Fabricante | Broadcom |
|---|---|
| Número da peça | APDS-9960 |
| Tensão de lógica/IO | 2,4 - 3,6 V |
| Tensão de alimentação | 2,4 - 3,6 V |
| Corrente de saída (por canal) | 20 mA máximo |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0,3 V (baixo), 0,7 V (alto) |
| Queda de tensão / RDS(on)/ saturação | Não aplicável |
| Limites térmicos | -40 a 85 °C |
| Pacote | 6,0 x 3,0 mm |
| Notas / variantes | Detecção de gestos, detecção de luz RGB |
- Certifique-se de que o servo está alimentado com uma voltagem adequada (tipicamente 5V).
- Conecte o APDS-9960 ao Arduino usando comunicação I2C.
- Preste atenção ao pino de interrupção do sensor de gestos.
- Use resistores de pull-up se necessário para uma detecção de sinal estável.
- Certifique-se de calibrar o sensor em diferentes condições de iluminação para melhor precisão.

Para conectar os componentes, comece com o motor servo. Conecte o fio vermelho ao pino de 5V do Arduino, o fio preto ao terra (GND) e o fio de sinal laranja ao pino.9. Isso permitirá que o Arduino controle a posição do servo.
Em seguida, conecte o sensor de gestos APDS-9960. Conecte oV_Npino para o 3,3V do Arduino, e oGNDpino ao chão. OINTo pino deve ser conectado ao pino2no Arduino, enquanto oSDAeSCLpinos vão para pinosA4eA5, respectivamente. Esta configuração permite que o sensor se comunique efetivamente com o Arduino.
Exemplos de Código e Passo a Passo
Na função de configuração, inicializamos o servo e o sensor de gestos. A linhamyservo.attach(9);vincula o servo ao pino 9, que conectamos anteriormente. Isso permite que o servo receba comandos do Arduino.

void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
// Set interrupt pin as input
pinMode(APDS9960_INT, INPUT);
// Initialize Serial port
Serial.begin(9600);
}Em seguida, definimos como o sistema lida com gestos na função de loop. O métodohandleGesture();verifica gestos disponíveis e executa ações correspondentes. Por exemplo, se o gesto detectado for à esquerda, o servo se moverá para 180 graus.
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_LEFT:
myservo.write(180); // added by RoboJax
break;
case DIR_RIGHT:
myservo.write(0); // added by RoboJax
break;
}
}
}Finalmente, o loop verifica continuamente os gestos e atualiza a posição do servo com base no gesto detectado. Certifique-se de testar a configuração em várias condições de iluminação para obter um reconhecimento de gestos preciso.
Demonstração / O que Esperar
Uma vez que tudo esteja conectado e o código esteja carregado, você deve ser capaz de controlar o servo movendo sua mão para a esquerda ou para a direita. O servo irá girar para 180 graus para um gesto à esquerda e retornar a 0 graus para um gesto à direita. Se os gestos não forem detectados, verifique a posição do sensor e as condições de luz ao redor (no vídeo às 05:30).
Capítulos
- Introdução - 00:00
- Visão Geral do Hardware - 01:30
- Instruções de Fiação - 03:00
- Explicação do Código - 04:30
- Demonstração - 06:00
Recursos e referências
Ainda não há recursos.
Arquivos📁
Nenhum arquivo disponível.