hola intento hacer esto con un solo joystic, me ha ido bien, ya leo los movmientos y se imprimen en el puerto para la comunicacion.
ahora biene un detalle
en el receptor como interpreto esa eso que lee para que encienda una salida dejo el cod que usare para el emisor.
joyPin1 = 0; // variable del eje x
int joyPin2 = 1; // VAriable de eje Y
int value1 = 0;
int value2 = 0;
void setup() {
pinMode(ledPin, OUTPUT); //Inicia las salidas digitales
Serial.begin(9600);
}
int treatValue(int data) {
return (data * 9 / 1024) + 48;
}
void loop() { // Leer los valores del pot 1.
value1 = analogRead(joyPin1);
delay(100);
value2 = analogRead(joyPin2); // potenciometro 2
digitalWrite(ledPin, HIGH);
delay(value1);
digitalWrite(ledPin, LOW);
delay(value2);
Serial.write('J');
Serial.write(treatValue(value1));
Serial.write(treatValue(value2));
Serial.write(10);
Serial.write(13);
}
otra como cambiar para que por cada eje imprima solo una letra ejemplo:
atras: "B" frente:"F" izq;"L" der: " R" que reprensenta los cuatro ejes.
en esto todo aprente bien dejo lectura del puerto
J44
J64
J84
J04
J40
J40
J40
J48
J48
J40
J48
J44
J44
J44
el 44 es el centro de la palanca
enotnces ahora vien lo bueno cuando intento leer esto en el puerto del arduino, como uso esto valores para encender una salida digital.
intente con esto
const int ledPin = 13; // the pin that the LED is attached to
int incomingByte; // a variable to read incoming serial data into
void setup() {
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
}
void loop() {
// see if there's incoming serial data:
if (Serial.available() > 0) {
// read the oldest byte in the serial buffer:
incomingByte = Serial.read();
// if it's a capital H (ASCII 72), turn on the LED:
if (incomingByte == 'H') {
digitalWrite(ledPin, HIGH);
}
// if it's an L (ASCII 76) turn off the LED:
if (incomingByte == 'L') {
digitalWrite(ledPin, LOW);
}
}
}
pero solo acepta la h solo la intente cambiar por el J40 o cualquiera de los que imprime pero naa. asi que aqui aver si me pueden ayudar.