- Módulo Raspberry Pi e Joystick:
- Componentes necessários:
- Diagrama de circuito:
- Explicação de trabalho:
Nesta sessão, vamos fazer a interface de um joystick com o Raspberry Pi. O joystick é usado principalmente para jogar vários jogos. Embora joysticks do tipo USB sejam fáceis de conectar, mas hoje vamos conectar Joystick por meio de pinos GPIO Raspberry Pi, isso será útil em muitos casos.
Módulo Raspberry Pi e Joystick:
Os joysticks estão disponíveis em diferentes formas e tamanhos. Um módulo Joystick típico é mostrado na figura abaixo. Este módulo de Joystick normalmente fornece saídas analógicas e as tensões de saída fornecidas por este módulo mudam de acordo com a direção em que o movemos. E podemos obter a direção do movimento interpretando essas mudanças de voltagem usando algum microcontrolador. Anteriormente, usamos o Microcontrolador AVR com Joystick.
Este módulo de joystick possui dois eixos, como você pode ver. Eles são o eixo X e o eixo Y. Cada eixo do JOY STICK é montado em um potenciômetro ou potenciômetro. Os pontos intermediários desses potes são eliminados como Rx e Ry. Portanto, Rx e Ry são pontos variáveis para esses potes. Quando o Joystick está em espera, Rx e Ry atuam como divisores de tensão.
Quando o joystick é movido ao longo do eixo horizontal, a tensão no pino Rx muda. Da mesma forma, quando ele é movido ao longo do eixo vertical, a voltagem no pino Ry muda. Portanto , temos quatro direções de Joystick em duas saídas ADC. Quando o stick é movido, a tensão em cada pino fica alta ou baixa dependendo da direção.
Como sabemos, o Raspberry Pi não possui um mecanismo ADC (Conversor Analógico para Digital) interno. Portanto, este módulo não pode ser conectado diretamente ao Pi. Usaremos comparadores baseados em Op-amp para verificar as saídas de tensão. Esses OP-Amps fornecem sinais para Raspberry Pi e Pi alterna os LEDs para dependendo dos sinais. Aqui, usamos quatro LEDs para indicar o movimento do Joystick nas quatro direções. Confira o vídeo de demonstração no final.
Cada um dos 17 pinos GPIO não pode ter voltagem superior a + 3,3 V, portanto, as saídas do Op-amp não podem ser superiores a 3,3 V. Portanto, escolhemos o amplificador operacional LM324, este IC tem um amplificador operacional quádruplo que pode trabalhar a 3V. Com este IC, temos saídas adequadas para saídas para nossos pinos GPIO Raspberry pi. Saiba mais sobre GPIO Pins of Raspberry Pi aqui. Verifique também nossa série de tutoriais do Raspberry Pi junto com alguns bons projetos de IoT.
Componentes necessários:
Aqui, estamos usando o Raspberry Pi 2 Model B com o Raspbian Jessie OS. Todos os requisitos básicos de hardware e software foram discutidos anteriormente. Você pode consultá-los na introdução do Raspberry Pi e no LED Raspberry PI piscando para começar, exceto pelo que precisamos:
- Capacitor 1000µF
- Módulo Joystick
- LM324 Op-amp IC
- Resistor de 1KΩ (12 peças)
- LED (4 peças)
- Resistor de 2,2 KΩ (4 peças)
Diagrama de circuito:
Existem quatro comparadores OP-AMP dentro do LM324 IC para detectar quatro direções do Joystick. Abaixo está o diagrama do LM324 IC de sua folha de dados.
As conexões feitas para a interface do módulo Joystick com Raspberry Pi são mostradas no diagrama de circuito abaixo. U1: A, U1: B, U1: C, U1: D indica os quatro comparadores dentro de LM324. Mostramos cada comparador no diagrama de circuito com o pino correspondente no. de LM324 IC.
Explicação de trabalho:
Para detectar o movimento do Joystick ao longo do eixo Y, temos OP-AMP1 ou U1: A e OP-AMP2 ou U1: B, e para detectar o movimento do Joystick ao longo do eixo X, temos OP-AMP3 ou U1: C e OP-AMP4 ou U1: D.
OP-AMP1 detecta o movimento negativo do joystick ao longo do eixo Y:
O terminal negativo do comparador U1: A é fornecido com 2,3 V (usando o circuito divisor de tensão por 1K e 2,2K) e o terminal positivo é conectado ao Ry. Ao mover o joystick para baixo ao longo de seu eixo Y, a tensão Ry aumenta. Uma vez que esta tensão for superior a 2,3 V, OP-AMP fornece saída de + 3,3 V em seu pino de saída. Esta saída lógica ALTA do OP-AMP será detectada pelo Raspberry Pi e Pi responde alternando um LED.
OP-AMP2 detecta o movimento de cabeça do joystick ao longo do eixo Y:
O terminal negativo do comparador U1: B é fornecido com 1,0 V (usando o circuito divisor de tensão por 2,2 K e 1 K) e o terminal positivo é conectado ao Ry. Ao mover o joystick para cima ao longo de seu eixo Y, a voltagem Ry diminui. Assim que a tensão cair abaixo de 1,0 V, a saída OP-AMP fica baixa. Esta saída lógica BAIXA do OP-AMP será detectada pelo Raspberry Pi e Pi responde alternando um LED.
OP-AMP3 detecta o movimento do lado esquerdo do joystick ao longo do eixo X:
O terminal negativo do comparador U1: C é fornecido com 2,3 V (usando o circuito divisor de tensão por 1K e 2,2K) e o terminal positivo é conectado ao Rx. Ao mover o joystick para a esquerda ao longo de seu eixo x, a voltagem Rx aumenta. Uma vez que esta tensão for superior a 2,3 V, OP-AMP fornece saída de + 3,3 V em seu pino de saída. Esta saída lógica ALTA do OP-AMP será detectada pelo Raspberry Pi e Pi responde alternando um LED.
OP-AMP4 detecta o movimento do lado direito do joystick ao longo do eixo X:
O terminal negativo do comparador U1: 4 é fornecido com 1,0 V (usando o circuito divisor de tensão por 2,2 K e 1 K) e o terminal positivo é conectado a Rx. Ao mover o joystick para a direita ao longo de seu eixo x, a tensão Rx diminui. Assim que a tensão cair abaixo de 1,0 V, a saída OP-AMP fica baixa. Esta saída lógica BAIXA do OP-AMP será detectada pelo Raspberry Pi e Pi responde alternando um LED.
Dessa forma, todas as quatro lógicas, que determinam as quatro direções do Joystick, se conectam ao Raspberry Pi. O Raspberry Pi usa as saídas desses comparadores como entradas e responde de acordo alternando os LEDs. Abaixo estão os resultados mostrados no terminal do Raspberry Pi, pois também imprimimos a direção do Joystick no terminal usando nosso código Python.
O código Python e o vídeo são fornecidos abaixo. O código é fácil e pode ser entendido pelos comentários fornecidos no código.