Como utilizaremos apenas um joystick, so vamos precisar de 2 entradas analogicas (pot1,pot2).
Material:
- Arduino
- 2 servos
- Potenciometro de 2 eixos ou 2 potenciometros
- Display LCD
- Potenciometro para ajustar o brilho do lcd
- fios jumpers
- Resistores
Codigo:
#include <Servo.h>
#include <LiquidCrystal.h> // inclui a biblioteca LCD
Servo servo1; // Cria um objeto servo
Servo servo2; // Cria um segundo objeto servo
int pot1, pot2;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
servo1.attach(7); // Anexa o servo, no pino 5, ao objeto servo1
servo2.attach(8); // Anexa o servo, no pino 6, ao objeto servo2
servo1.write(90); // Coloca o servo1 na posição inicial
servo2.write(90); // Coloca o servo2 na posição inicial
}
void loop() {
lcd.begin(16,2);
int angle=analogRead(3);
int angle1=analogRead(4);
pot1 = analogRead(3); // Lê o eixo X
pot2 = analogRead(4); // Lê o eixo Y
pot1 = map(pot1,0,1023,0,179);
pot2= ma;p(pot2,0,1023,0,179)
servo1.write(pot1);
servo2.write(pot2);
angle=map(pot1, 0, 1023, 0, 179);
angle1=map(pot2, 0, 1023, 0, 179);
lcd.setCursor(0,0); /* define a posição do cursor */
lcd.print("Eixo x: "); // printa Angulo
lcd.setCursor(10,0);
lcd.print(pot1); /* printa a leitura do angulo de 0 a 180 */
if(pot1 < 10) { // se for menor que 10 apaga os digitos "sobrando"
lcd.setCursor(11,0);
lcd.print(" ");
}
if(pot1 < 100){
lcd.setCursor(12,0);
lcd.print(" ");
}
lcd.setCursor(0,1); /* define a posição do cursor */
lcd.print("Eixo y: "); // printa Angulo
lcd.setCursor(10,1);
lcd.print(pot2); /* printa a leitura do angulo de 0 a 180 */
if(pot2 < 10) { // se for menor que 10 apaga os digitos "sobrando"
lcd.setCursor(11,1);
lcd.print(" ");
}
if(pot2 < 100){
lcd.setCursor(12,1);
lcd.print(" ");
}
delay(15);
}
Em breve postarei um video, um exemplo de utilização: controlar uma camera.
Parabens!!
ResponderExcluirComo é o esquema de ligação dos botoes analogicos do ps2?
Obrigado amigo, na primeira foto mostra +- como e, aquele primeiro fio e do potenciometro de um eixo, o segundo de outro eixo q estão na mesma alavanca, os 2 ultimos fios são positivo e GND, os fios sem ligações, são dos botões e dos potenciometros da outra alavanca.
Excluir