Go Down

Topic: Señal Digital Arduino y Visual Basic (Read 511 times) previous topic - next topic

FernandoValdez

Hola, estoy intentando llevar a cabo un proyecto que muestre en Visual Basic el estado de uno de los pines digitales de la Arduino.

Es decir nececito que cuando se me active una señal digital de arduino pueda pasarla a Visual Basic en alguna forma ya sea en imagen o en texto , alguien me puede ayudar ya tengo la conexion ya puedo encender y apagar el led pero ahora quiero leer informacion, espero no molestar y estar en la parte correcta, saludos!

surbyte

FernandoValdez, bienvenido al foro.

Te invito a que leas las normas del foro y siempre antes de postear en un foro intenta ver sus normas y como se usa. Siempre hay secciones para cada cosa.
Tu consulta no es para el foro proyectos, sino para Software, asi que tu hilo será movido cuando algun Administrador lo haga.



Leer información de un pin digital es saber si esta ON u OFF.
El ejemplo mas simple de como leer un pin digital con el IDE y un pulsador te dirá justamente lo que quieres.


FernandoValdez

Ok lo siento mucho , soy nuevo en FOROS es la primera vez que me subscribo disculpa mi ignorancia :(

Asi es lo que tu dices es lo que quiero hacer

FernandoValdez

#3
Apr 08, 2017, 12:48 am Last Edit: May 09, 2017, 03:24 pm by CrossRoads
El problema es el siguiente en mi codigo de ARDUINO tengo todo perfectamente bien al parecer, ya que puedo ver mi monitor serie y me lanza correctamente mi informacion, pero al momento de pasarla a VISUAL BASIC lo puedo LEER pero la informacion me sale en un MensajeBox , anexo imagenes lo que quiero hacer es que cada señal que tengo en mi arduino poderla utilizar para activar imagenes o algo parecido solo quiero saber como direccionar o como entrar a esa informacion no solo leerla, si no poder utilizarla

.

ARDUINO:
Code: [Select]


int estadoF1=0; // Guardara el estado de la maquina F1
int estadoF2=0; // Guardara el estado de la maquina F2
int estadoF3=0; // Guardara el estado de la maquina F3
int estadoF4=0; // Guardara el estado de la maquina F4
int estadoF5=0; // Guardara el estado de la maquina F5

char caracter;
String comando;

void setup()
{
pinMode(13,OUTPUT); // Donde está el Led F1.
pinMode(2,INPUT); // Entrada digital donde está la señal de f1
pinMode(12,OUTPUT); // Donde está el Led F2.
pinMode(3,INPUT); // Entrada digital donde está la señal de f2
pinMode(11,OUTPUT); // Donde está el Led F3.
pinMode(4,INPUT); // Entrada digital donde está la señal de f3
pinMode(10,OUTPUT);// Donde esta el led de F4
pinMode(5,INPUT);// Entrada digital donde esta la señal de f4
pinMode(9,OUTPUT); // Donde esta el led de F5
pinMode(6,INPUT); // Entrada digital donde esta la señal de F5



Serial.begin(115200);
}

void loop()


{
  estadoF1=digitalRead(2); // Leer entrada digital número 8.
  // Si el pulsador está pulsado, se enciende el Led 13 y
  // envía comando HIGH por el puerto serie.
if (estadoF1 == HIGH )
  {
    digitalWrite(13,HIGH);
    Serial.println("F1 ACTIVA");
    delay(1000);
  }
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
else
  {
    digitalWrite(13,LOW);
    Serial.println("F1 DESACTIVADA");
     delay(1000);
  }

  {
  estadoF2=digitalRead(3); // Leer entrada digital número 8.
  // Si el pulsador está pulsado, se enciende el Led 13 y
  // envía comando HIGH por el puerto serie.

 
if (estadoF2 == HIGH)
  {
    digitalWrite(12,HIGH);
    Serial.println("F2 ACTIVA");
    delay(1000);
  }
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
else
  {
    digitalWrite(12,LOW);
    Serial.println("F2 DESACTIVADA");
     delay(1000);
  }
  }
  {
  estadoF3=digitalRead(4); // Leer entrada digital número 8.
  // Si el pulsador está pulsado, se enciende el Led 13 y
  // envía comando HIGH por el puerto serie.


if (estadoF3 == HIGH)
  {
    digitalWrite(11,HIGH);
    Serial.println("F3 ACTIVA");
    delay(1000);
  }
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
else
  {
    digitalWrite(11,LOW);
    Serial.println("F3 DESACTIVADA");
     delay(1000);
  }

  }  
  {
  estadoF4=digitalRead(5); // Leer entrada digital número 8.
  // Si el pulsador está pulsado, se enciende el Led 13 y
  // envía comando HIGH por el puerto serie.
if (estadoF4 == HIGH)
  {
    digitalWrite(10,HIGH);
    Serial.println("F4 ACTIVA");
    delay(1000);
  }
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
else
  {
    digitalWrite(10,LOW);
    Serial.println("F4 DESACTIVADA");
     delay(1000);
  }    }
  {
  estadoF5=digitalRead(6); // Leer entrada digital número 8.
  // Si el pulsador está pulsado, se enciende el Led 13 y
  // envía comando HIGH por el puerto serie.
if (estadoF5 == HIGH)
  {
    digitalWrite(9,HIGH);
    Serial.println("F5 ACTIVA");
    delay(1000);
  }
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
else
  {
    digitalWrite(9,LOW);
    Serial.println("F5 DESACTIVADA");
     delay(1000);
  }
  }   }

Este es mi codigo de Visual

Public Class PrincipalConexion
   Dim StrbufferEntrada As String
   Dim StrbufferSalida As String
   Private this As Object

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       StrbufferEntrada = ""
       StrbufferSalida = ""
       BtnConectar.Enabled = False
       BtnEnviarDatos.Enabled = False


   End Sub

   Private Sub BtnBuscarPuertos_Click(sender As Object, e As EventArgs) Handles BtnBuscarPuertos.Click
       CboPuertos.Items.Clear()
       For Each PuertoDisponible As String In My.Computer.Ports.SerialPortNames
           CboPuertos.Items.Add(PuertoDisponible)

       Next
       If CboPuertos.Items.Count > 0 Then
           CboPuertos.Text = CboPuertos.Items(0)
           MessageBox.Show("Seleccionar  el puerto del arduino")
           BtnConectar.Enabled = True
       Else
           MessageBox.Show("Ningun Arduino detectado")
           BtnConectar.Enabled = False
           BtnEnviarDatos.Enabled = False
           CboPuertos.Items.Clear()

       End If
   End Sub

   Private Sub BtnConectar_Click(sender As Object, e As EventArgs) Handles BtnConectar.Click
       If BtnConectar.Text = "Conectar" Then
           Try
               With SpPuertos
                   .BaudRate = 115200
                   .DataBits = 8
                   .Parity = IO.Ports.Parity.None
                   .PortName = CboPuertos.Text
                   .Open()
               End With
               BtnConectar.Text = "Desconectar"
               BtnEnviarDatos.Enabled = True
               BtnBuscarPuertos.Visible = False
               CboPuertos.Visible = False
               BtnEnviarDatos.Visible = False
               TxtEnviarDatos.Visible = False

               LblDatosrecibidos.Visible = False
               BtnConectar.Visible = False
               PictureBox1.Visible = False

               Me.Hide()
               Menu2.Show()

           Catch ex As Exception
               MsgBox(ex.Message, MsgBoxStyle.Critical)



           End Try
       ElseIf BtnConectar.Text = "Desconectar" Then
           BtnConectar.Text = "Conectar"
           BtnEnviarDatos.Enabled = False
           SpPuertos.Close()
       End If
  End Sub

   Private Sub BtnEnviarDatos_Click(sender As Object, e As EventArgs) Handles BtnEnviarDatos.Click
       SpPuertos.DiscardOutBuffer()
       StrbufferSalida = TxtEnviarDatos.Text
       SpPuertos.Write(StrbufferSalida)

   End Sub

   Private Sub DatoRecibido(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles SpPuertos.DataReceived
       StrbufferEntrada = SpPuertos.ReadExisting
       MessageBox.Show(StrbufferEntrada)

   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs)
       Me.Hide()
       F1.Show()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs)
       Me.Hide()
       F2.Show()
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs)
       Me.Hide()
       F3.Show()
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs)
       Me.Hide()
       F4.Show()

   End Sub

   Private Sub Button6_Click(sender As Object, e As EventArgs)
       Me.Hide()
       F5.Show()

   End Sub

   Private Sub TxtDatosRecibidos_TextChanged(sender As Object, e As EventArgs) Handles TxtDatosRecibidos.TextChanged
       SpPuertos.ReadExisting()
   End Sub
End Class

 

 

surbyte

erwinjara.22, crea tu propio hilo en la sección General o Software.
No respondas con una pregunta en un hilo que ya tiene su propio desarrollo.

Go Up