Neste artigo veremos:
O que você vai precisar
1 Modulo Joystick de 2 eixos – KY-023.
1 resistor de 10K (opcional
Fios (jumpers)
A Conexão
Este modelo possui 2 eixos e um push button (botão táctil), neste caso você deverá ligar da seguinte forma:
Vcc – 5v do Arduino
Gnd – Gns do Arduino
VRX (eixo X) – em algum pino Analógico (para se ter a leitura de 0 – 1023)
VRY (eixo Y) – em algum pino Analógico (para se ter a leitura de 0 – 1023)
SW (switch) – em algum pino digital (em pull up ou pull down – com resistores de 10K) ou usar a função INPUT_PULLUP
do Arduino.
A programação
/* Examplo criado para o modelo KY-023 (com 2 eixos e um push button) Created: by Edson Sidnei Sobreira for HackEduca, 2017. ASCII table: http://www.ascii-code.net/ */ //Pinos do Arduino #define joystick_button_pino 6 #define joystick_x_pino A0 #define joystick_y_pino A1 void setup() { Serial.begin(9600); pinMode(joystick_button_pino, INPUT_PULLUP); // Se houver resistor não declarar como Input_Pullup } void loop() { int Eixo_X = analogRead(joystick_x_pino); int Eixo_Y = analogRead(joystick_y_pino); Eixo_Y = map(Eixo_Y, 0, 1023, 1023, 0); // inverte o lado do botão para X e Y marcarem 0 e 1023 na mesma direção. int ValorButton = digitalRead(joystick_button_pino); ValorButton = map(ValorButton, 0, 1, 1, 0); // inverte o valor recebido para que fique 1 quando pressionado Serial.print("Bot"); Serial.write(227); Serial.print("o: "); Serial.print(ValorButton); Serial.print(" Eixo_X: "); Serial.print(Eixo_X); Serial.print(" Eixo_Y: "); Serial.println(Eixo_Y); delay(100); // atraso entre uma leitura e outra }
Mixly
No Comments