Pages: [1]   Go Down
Author Topic: Arduino & Comunicacion Serial  (Read 517 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-wink
Logged

Mirabel
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

¿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
Logged

Madrid - Spain
Offline Offline
Full Member
***
Karma: 5
Posts: 180
'arduinomaníaco'
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Saludos.
Logged

Consejos para hacer un correcto uso de los foros.

http://arduino.cc/playground/Es/Consejos

Pages: [1]   Go Up
Jump to: