Arduino & Comunicacion Serial

Saludos,

Soy un humilde novato, ke actualmente trabaja en un proyecto de comunicacion con arduino. Sucede lo siguiente, he probado los ejemplos ke trae Arduino co Processing, muy bien hasta ahi.

Luego probe con VB6 y el mscomm, fue un exito pero aun hay cosas ke me gustaria aclarar. Utilize el sigte condigo en Arduino para responder a VB6:

int outputPin = 13;
int val;

void setup()
{
Serial.begin(9600);
pinMode(outputPin, OUTPUT);
}

void loop()
{
if (Serial.available()) {
val = Serial.read();
if (val == 'H') {
digitalWrite(outputPin, HIGH);

printString("H");

}
if (val == 'L') {
digitalWrite(outputPin, LOW);

printString("L");

}
}
delay(100);
}

Codigo VB6

Private Sub Command1_Click()
Dim c As String, CADENA As String

MSComm1.Output = "o" 'Chr$(111)
Do
DoEvents
c = MSComm1.Input
CADENA = CADENA + c
Loop Until InStr(c, "") 'vbCr)
Text2.Text = Text2.Text & " -- " & CADENA

End Sub

Funciona excelente, el problema es ke desde visual basic para encender el pin 13, lo ke le envio es 'o' (minuscula) y como ven Arduino espera 'H'; por otro lado para apagarlo Arduino espera 'L' y para apagarlo envio 'g', cuando tengo el puerto serial configurado "9600,n,8,1" y apaga tambien en esta configuracion "9600,o,8,1" con el caracter 206 ([ch9580]).

Estoy confundio en ke tipo de ASCII utiliza Arduino. Pero funciona nitido encide lo ke no puedo intepretar los string enviados desde Arduino.

Cualkier ayuda o discucion del tema seria de mucha ayuda para todos.

Gracias por su atencion :wink:

¿Tienes configurado tambien en vb el puerto a 9600,n,8,1?
Ojo, que si en el arduino no tienes la paridad activada (la 'n') y en vb tienes paridad impar (la 'o'), la transferencia de caracteres entre el arduino y vb serán interpretados de manera distinta.
Si tienes configurado ambos programas con los mismos parametros el juego de caracteres ASCII debería ser el mismo.

Ray

¿La variable 'val' podría ser tipo 'byte' en lugar de 'int'?

Saludos.