Go Down

Topic: Xbee comunicacion (Read 743 times) previous topic - next topic

Ghotenk

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.
Se quien quieras ser, pero se autentico

chiva

Ghotenk, no dupliques las preguntas ;):
http://arduino.cc/forum/index.php/topic,56424.0.html
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Ghotenk

Se quien quieras ser, pero se autentico

Go Up