Hola, necesito de su ayuda!!!...estoy intentando enviar los datos desde C# a arduino pero no lo consigo, intento enviar un float que tiene valores entre 0 a 0.5 y para generar pruebas cuando el valor sea mayor a 0.3 encender un led y cuando sea menor apagarlo, pero lo unico que hace es prender el led a penas genero la comunicacion y no se paga nunca...Ayuda!!!
Este es el codigo de arduino
int val;
float xVal;
void setup(){
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop(){
if(Serial.available() > 1){
val = Serial.read();
if(val=='s'){
xVal=Serial.read();
Serial.print(xVal);
if(xVal > 0.3){
digitalWrite(13, HIGH);
}else{
digitalWrite(13, LOW);
}
delay(500);
}
}
}
Este el parte de C# solo la comunicacion
Joint manoD = esqueleto.Joints[JointType.HandRight];
Joint codoD = esqueleto.Joints[JointType.ElbowRight];
SkeletonPoint posicionMano = manoD.Position;
float angX = posicionMano.X;
string a = angX.ToString();
port.Write("s");
port.Write(a);
mensaje = string.Format("X{0}",posicionMano.X);
en la parte de mensaje muetro el valor de posicionMano.X que es el float que intento enviar y en pantalla me muestra bien los valores pero arduino no los lee bien :S