Go Down

Topic: Arduino se congela con una interfaz de Visual Basic  (Read 31 times) previous topic - next topic

Nelceran10

Hola a todos,

Soy nuevo en este tema de arduino y comunicación con una interfaz grafica. En este caso estoy utilizando VB.net 2017, el tema es el siguiente estoy monitoreando una entrada analogicas y digitales. Cuando activo la interfaz grafica el arduino (Arduino Mega) este no siempre se conecta y realiza un loop y seguidamente este queda congelado.

El código que tengo en el arduino es el siguiente:

int jqz[]={8,9,10,11,12,13};           
int ent[]={2,3,4,5,6,7};               
int cont=6;                    

void setup() {
  
Serial.begin(9600);

for(int conta=0;conta<cont;conta++)
  {pinMode(jqz[conta],OUTPUT);}

for(int conta=0;conta<cont;conta++)
  {pinMode(ent[conta],INPUT_PULLUP);}
}

void loop() {


String jacu = Serial.readStringUntil('\n');

   if (jacu.equals("081")){          
     digitalWrite(jqz[0],HIGH);
   } 
   else if (jacu.equals("080")){
     digitalWrite(jqz[0],LOW);
   }


   if (digitalRead(ent[0])){            
     digitalWrite(ent[0],true);
     Serial.write("pin021");}
   else{
     digitalWrite(ent[0],false);
     Serial.write("pin020");
  }
}

Para el VB utilizo lo siguiente

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Timer1.Start()
        Inicializa(hab1, 1)

        arduino.PortName = "COM8"
        arduino.BaudRate = 9600
        arduino.DataBits = 8
        arduino.Parity = IO.Ports.Parity.None
        arduino.StopBits = IO.Ports.StopBits.One

        If Not arduino.IsOpen Then
            arduino.Open()
        End If

  End Sub

Private Sub arduino_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles arduino.DataReceived

        Dim string1 As String = arduino.ReadExisting()

        If string1.Equals("pin020") Then
            hab1.bgcolor = Color.Blue
        End If

        Invoke(subrotinaSTR, string1)

    End Sub

    Sub tratamentoSTR(ByVal meustring As String)
        TextBox2.Text = meustring
    End Sub

Les agradezco cualquier ayuda
Saludos

Go Up