Componentes eletrônicos, Eletrônica analógica, Hobby, Microcontroladores, Projetos

Tutorial de Arduino (Parte 13, joystick)

Neste tutorial, é mostrado como usar o módulo joystick no Arduino para fazer projetos. Este módulo é parecido com o modelo encontrado nos controles de Playstation.

Como funciona o joystick?

O shield tem dois potenciômetros, estes dão a informação da posição do joystick.

Também tem um botão, para ser pressionado deve apertar o topo do joystick sem estar inclinado.

Tirando o pino. Repare que um potenciômetro é ligado à haste branca, esta fica no meio de dois arcos ligados à outro potenciômetro. Este é o mecanismo gimbal de 2 eixos, que permite os dois potenciômetros se movimentarem ao mesmo tempo.

Os pinos VRx e VRy são as saídas analógicas dos potenciômetros e SW é a saída do botão.

Teste com o modulo joystick

A ligação do módulo com o Arduino.

Este é o código, ao mexer o joystick os valores analógicos “xValue” e “yValue” devem mudar na janela Serial.

Os valores “xValue” e “yValue” mudam de 0 a 1023 dependendo da posição do joystick, representam os eixos x e y. Estas são as coordenadas x e y que aparecem na tela Serial em relação à posição. Na prática, tem alguma variação.

Controlando LEDs e servomotores

Neste projeto, o joystick controla 4 LEDs de cores diferentes e um servomotor. Cada direção para o qual é inclinado, um LED acende e o servomotor gira um passo, para cada direção diagonal, 2 LEDs acendem.

Para encurtar o código, os pinos dos LEDs não têm nomes, foram chamados simplesmente de 5, 7, 8 e 11. Repare nas declarações como “pinMode(11,OUTPUT);” e nos comandos como “digitalWrite(7,HIGH);”.

Usando bibliotecas

Este é um exemplo de programa usando uma biblioteca para o módulo, aqui está o link. Este exemplo veio da fonte para mostrar o funcionamento desta biblioteca.

Esta declaração define os pinos dos eixos x, y e do botão respectivamente. Aqui foram definidos como pinos analógicas 0 e 1, a entrada do botão é a digital 4.

Este comando imprime os valores dos eixos x e y. O valor de z mostra se o botão está pressionado, no meu caso, false quando pressionado o botão e true o contrário. O 0 e o 100 são os valores mínimos e máximos das coordenadas dos eixos.

 

Print Friendly, PDF & Email

About Pedro Ney Stroski

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *