Hola:
He hecho una aplicación con Visual C# Express 2013. Hay tres variables llamadas Vida, Balas y Maná.
Dicha variable son int pero está transformada en String para enviarlo al puerto serie. Cuando envío un número 100 de la variable Vida que es int, lo paso a String y lo envío a Arduino. Arduino debe interpretarlo en la ventana del serial. (Más adelante lo muestro en el LCD 16x2).
De las tres variables que quiero enviar, me centraré en una, la variable Vida, que así se llama en C# y en Arduino IDE 1.0.5. Por ahora he hecho este código.
int Vida = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Vida = Serial.available();
Serial.println("Vida: ");
Serial.println(Vida);
delay(1000);
}
Su resultado es que cuenta los bytes recibidos, no el valor de la variable que debe ser en este caso 100 como ejemplo, si lo envío desde el PC con C#.
Con este código de abajo me sale otra cosa como resultado.
int Vida = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Vida = Serial.read();
Serial.println("Vida: ");
Serial.println(Vida);
delay(10000);
}
Resultado.
Vida:
49
Vida:
48
Vida:
48
¿Qué hay que hacer para que me muestre en pantalla un valor en el terminal de Arduino IDE tal como quiero?
Si en el C# en su ventana muestra 100, envío 100 al puerto serie y me sale cosas raras como indica arriba.
¿Hay una solcuión?
Un cordial saludo.