ARDUINO

 06- Captura de Sensor de Proximidad (PING) con Visual Basic (VB.NET).Arduino

Se trata de una pequeña aplicacion que permite capturar las mediciones de un Sensor de Proximidad (PING), a traves de una placa Arduino, conectada al ordenador.

 
Codigo:

 VB.NET

Form1

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            Button1.Visible = False
            SerialPort1.PortName = TextBox3.Text
            SerialPort1.Open()
            Timer1.Start()
        Catch ex As Exception
            MsgBox(ex.Message)
            Button1.Visible = True
        End Try
      
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Dim VALOR As String = SerialPort1.ReadLine
        If VALOR < 15 Then
            Label1.ForeColor = Color.Red
        ElseIf VALOR <= 30 Then
            Label1.ForeColor = Color.Yellow
        ElseIf VALOR > 30 Then
            Label1.ForeColor = Color.Lime
        End If
        Label1.Text = VALOR
    End Sub
 
End Class


ARDUINO

 */

// this constant won't change.  It's the pin number
// of the sensor's output:
const int pingPin = 7;

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
}

void loop()
{
  // establish variables for duration of the ping,
  // and the distance result in inches and centimeters:
  long duration, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance

  cm = microsecondsToCentimeters(duration);
 
 
  Serial.print(cm);
  Serial.println();
 
  delay(1000);
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}




05- LED Encendido mientras se presiona un Boton con Visual Basic (VB.NET)

 Se trata de una pequeña aplicacion que mantiene encendido un LED solo mientras se presiona un boton.



Codigo:

VB.NET

Form1:

Public Class Form1

    Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
        Button1.BackColor = Color.Red
        Button1.Text = "ENCENDIDO"
        SerialPort1.Write("1")
    End Sub

    Private Sub Button1_MouseUp(sender As Object, e As MouseEventArgs) Handles Button1.MouseUp
        Button1.BackColor = Color.Black
        Button1.Text = "APAGADO"
        SerialPort1.Write("0")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Button1.Visible = True
        Button2.Visible = False

        Try
            SerialPort1.PortName = TextBox1.Text
            SerialPort1.Open()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        SerialPort1.Close()
    End Sub
End Class


ARDUINO:


void setup ()
{
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
void loop()
{
  int recibido;
  recibido=Serial.read();
  if(recibido== '1')
  {
  digitalWrite(13,HIGH);
  }
  else if (recibido=='0')
  {
    digitalWrite(13,LOW);
  }
}




04- Control de 4 Servomotores con Visual Basic (VB.NET)

Se trata de una pequeña aplicación que permite controlar un servomotor con Visual Basic a través de una placa Arduino.



NOTA IMPORTANTE:

En el codigo para Arduino se ha escrito servoX.write(0),  servoX.write(90),servoX.write(180), por necesidades de la simulacion en Proteus, cuando segun la documentacion de Arduino se debe escribir:
servoX.write(-90),  servoX.write(0),servoX.write(+90). Tenedlo en cuenta.
Codigo:

 VB.NET
Form1

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        SerialPort1.Close()
        SerialPort1.PortName = TextBoxPUERTO.Text
    End Sub

    Private Sub ButtonCONECTAR_Click(sender As Object, e As EventArgs) Handles ButtonCONECTAR.Click
        Try

            SerialPort1.PortName = TextBoxPUERTO.Text
            SerialPort1.Open()
            ButtonCONECTAR.Enabled = False

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll


        Try

            If ButtonCONECTAR.Enabled = False Then
                If TrackBar1.Value >= -90 And TrackBar1.Value <= -45 Then
                    SerialPort1.Write("0") '-90
                ElseIf TrackBar1.Value > -45 And TrackBar1.Value <= 45 Then
                    SerialPort1.Write("1") '0
                ElseIf TrackBar1.Value > 45 And TrackBar1.Value <= 90 Then
                    SerialPort1.Write("2") '90
                End If
                Label1.Text = TrackBar1.Value
            Else
                MsgBox("DEBES CONECTAR EL PUERTO")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub TrackBar2_Scroll(sender As Object, e As EventArgs) Handles TrackBar2.Scroll
        Try
            If ButtonCONECTAR.Enabled = False Then
                If TrackBar2.Value >= -90 And TrackBar2.Value <= -45 Then
                    SerialPort1.Write("A") '-90
                ElseIf TrackBar2.Value > -45 And TrackBar2.Value <= 45 Then
                    SerialPort1.Write("B") '0
                ElseIf TrackBar2.Value > 45 And TrackBar2.Value <= 90 Then
                    SerialPort1.Write("C") '90
                End If
                Label2.Text = TrackBar2.Value
            Else
                MsgBox("DEBES CONECTAR EL PUERTO")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub TrackBar3_Scroll(sender As Object, e As EventArgs) Handles TrackBar3.Scroll
        Try
            If ButtonCONECTAR.Enabled = False Then
                If TrackBar3.Value >= -90 And TrackBar3.Value <= -45 Then
                    SerialPort1.Write("a") '-90
                ElseIf TrackBar3.Value > -45 And TrackBar3.Value <= 45 Then
                    SerialPort1.Write("b") '0
                ElseIf TrackBar3.Value > 45 And TrackBar3.Value <= 90 Then
                    SerialPort1.Write("c") '90
                End If
                Label6.Text = TrackBar3.Value
            Else
                MsgBox("DEBES CONECTAR EL PUERTO")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub TrackBar4_Scroll(sender As Object, e As EventArgs) Handles TrackBar4.Scroll
        Try
            If ButtonCONECTAR.Enabled = False Then
                If TrackBar4.Value >= -90 And TrackBar4.Value <= -45 Then
                    SerialPort1.Write("X") '-90
                ElseIf TrackBar4.Value > -45 And TrackBar4.Value <= 45 Then
                    SerialPort1.Write("Y") '0
                ElseIf TrackBar4.Value > 45 And TrackBar4.Value <= 90 Then
                    SerialPort1.Write("Z") '90
                End If
                Label8.Text = TrackBar4.Value
            Else
                MsgBox("DEBES CONECTAR EL PUERTO")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

ARDUINO:

#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;

int recibido ;
void setup()
{
  Serial.begin(9600);
  servo1.attach(10);
  servo2.attach(11);
  servo3.attach(6);
  servo4.attach(5);
 
  servo1.write (90);
  servo2.write (90);
  servo3.write (90);
  servo4.write (90);
 
}

void loop()
{
 
  if (Serial.available() > 0) {
  // lee el byte entrante:
  recibido = Serial.read();

switch (recibido)
{
 
  case '0':servo1.write (0); break;
  case '1':servo1.write (90);break;
  case '2':servo1.write (180);break;
 
  case 'A':servo2.write (0);break;
  case 'B':servo2.write (90);break;
  case 'C':servo2.write (180);break;
 
  case 'a':servo3.write (0); break;
  case 'b':servo3.write (90);break;
  case 'c':servo3.write (180);break;
 
  case 'X':servo4.write (0);break;
  case 'Y':servo4.write (90);break;
  case 'Z':servo4.write (180);break;
 
 
}


  }
}

 




 



03- Control de Servomotor con Visual Basic (VB.NET) y también con Potenciómetro. Arduino

Se trata de una pequeña aplicación que permite controlar un servomotor con Visual Basic a través de una placa Arduino. Se añade el código para el mismo control pero con potenciómetro en lugar de VB.NET.


NOTA IMPORTANTE:

En el codigo para Arduino se ha escrito servoX.write(0),  servoX.write(90),servoX.write(180), por necesidades de la simulacion en Proteus, cuando segun la documentacion de Arduino debe escribir:
servoX.write(-90),  servoX.write(0),servoX.write(+90). Tenedlo en cuenta.


Codigos:

VB.NET

Form1

Public Class Form1
    Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
      

        Try
            If ButtonCONECTAR.Enabled = False Then
                If TrackBar1.Value >= -180 And TrackBar1.Value <= -90 Then
                    SerialPort1.Write("0") '-180

                ElseIf TrackBar1.Value > -90 And TrackBar1.Value <= 90 Then
                    SerialPort1.Write("1") '0

                ElseIf TrackBar1.Value > 90 And TrackBar1.Value <= 180 Then
                    SerialPort1.Write("2") '180

              
                End If

                Label1.Text = TrackBar1.Value
            Else
                MsgBox("DEBES CONECTAR EL PUERTO")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try


    End Sub

    Private Sub ButtonCONECTAR_Click(sender As Object, e As EventArgs) Handles ButtonCONECTAR.Click
        Try
            SerialPort1.PortName = TextBoxPUERTO.Text
            SerialPort1.Open()
            ButtonCONECTAR.Enabled = False
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        SerialPort1.Close()
        SerialPort1.PortName = TextBoxPUERTO.Text
    End Sub
End Class

ARDUINO: (VB.NET)

#include <Servo.h>
Servo servo1;
int angulo ;
int recibido ;

void setup()
{
 
  servo1.attach(9);
 
  Serial.begin(9600);
}

void loop()
{
 
  if (Serial.available() > 0) {
  // lee el byte entrante:
  recibido = Serial.read();

switch (recibido)
{
 
  case '0':angulo = 0; break;
  case '1':angulo = 90;break;
  case '2':angulo = 180;break;
}
servo1.write (angulo);

  }
}


ARDUINO: (POTENCIOMETRO )

#include <Servo.h>
Servo servo1;
int pot1=0;
int valor;
int valoranterior=0;
int diferencia;
int threshold=30;

void setup()
{
 
servo1.attach(9);
}
void loop()
{
  valor=analogRead(pot1);
  diferencia=valor-valoranterior;
  if(diferencia <-threshold ||diferencia > threshold)
  {
    valoranterior=valor;
    valor= map (valor,0,1023,0,179);
    servo1.write(valor);
  }

delay (10);
}




02-Control de Luminosidad de un LED con Visual Basic (VB.NET).Arduino

Se trata de una pequeña aplicacion que permite controlar la luminosidad de un LED desde el ordenador. (No es PWM)



Codigo:

Form1

Public Class Form1


    Private Sub ButtonCONECTAR_Click(sender As Object, e As EventArgs) Handles ButtonCONECTAR.Click
        Try

            SerialPort1.PortName = TextBoxPUERTO.Text
            SerialPort1.Open()

            ButtonCONECTAR.Enabled = False
            Timer1.Enabled = True
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        SerialPort1.Close()
    End Sub

   

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        SerialPort1.Close()
    End Sub

   
    Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll

        If TrackBar1.Value <= 50 Then
            SerialPort1.Write("0")
        ElseIf TrackBar1.Value > 50 And TrackBar1.Value <= 100 Then
            SerialPort1.Write("1")
        ElseIf TrackBar1.Value > 100 And TrackBar1.Value <= 150 Then
            SerialPort1.Write("2")
        ElseIf TrackBar1.Value > 150 And TrackBar1.Value <= 200 Then
            SerialPort1.Write("3")
        ElseIf TrackBar1.Value > 200 And TrackBar1.Value <= 235 Then
            SerialPort1.Write("4")
        Else
            SerialPort1.Write("5")

        End If




        Label1.Text = TrackBar1.Value
    End Sub
End Class








ARDUINO




int led = 9;           // the pin that the LED is attached to
int brillo = 0;    // how bright the LED is
int recibido = 0;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup()  {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
 
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop()  {
 // envia datos solamente cuando recibe datos
    if (Serial.available() > 0) {
        // lee el byte entrante:
        recibido = Serial.read();


switch (recibido)
{
  case '0':brillo = 0;break;
  case '1':brillo = 50;break;
  case '2':brillo = 100;break;
  case '3':brillo = 150;break;
  case '4':brillo = 200;break;
  case '5':brillo = 255;break;
}
  analogWrite(led, brillo);
}
}





01- Encender y apagar un LED con Visual Basic (VB.NET).Arduino

Primer video de una serie dedicada al control de Arduino con Visual Basic.
Esta es la típica aplicación que permite encender y apagar un LED desde VB.NET.
En el video se utiliza la aplicación Webcam como Videocámara Remota, disponible en este Blog.

Codigo:

Form1:

 Public Class Form1
    Private Sub ButtonCONECTAR_Click(sender As Object, e As EventArgs) Handles ButtonCONECTAR.Click
        Try
            SerialPort1.PortName = TextBoxPUERTO.Text
            SerialPort1.Open()
            ButtonENCENDER.Enabled = True
            ButtonAPAGAR.Enabled = True
            ButtonCONECTAR.Enabled = False
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
       
    End Sub

    Private Sub ButtonENCENDER_Click(sender As Object, e As EventArgs) Handles ButtonENCENDER.Click
        SerialPort1.Write("1")
    End Sub

    Private Sub ButtonAPAGAR_Click(sender As Object, e As EventArgs) Handles ButtonAPAGAR.Click
        SerialPort1.Write("0")
    End Sub

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        SerialPort1.Close()
    End Sub
End Class


ARDUINO

void setup ()
{
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
void loop()
{
  int recibido;
  recibido=Serial.read();
  if(recibido== '1')
  {
  digitalWrite(13,HIGH); 
  }
  else if (recibido=='0')
  {
    digitalWrite(13,LOW);
  }
}




34 comentarios:

  1. hola estimado amigo, gracias por tu enseñanza, podrias cuando puedas crear un pequeño ejemplo para arduino rv3 con un joystick. muy antenta mente j.p

    ResponderEliminar
    Respuestas
    1. Hola: Lo lamento pero no tengo Joystick y no puedo hacer lo que pides. Si puedo ayudarte en alguna otra cosa quedo a tu disposición. Saludos.

      Eliminar
  2. Hola, que version de visual basic utilizas?

    ResponderEliminar
    Respuestas
    1. Hola: Actualmente utilizo VB2010Expres. Muchos proyectos están hechos con versiones posteriores pero algunos usuarios no pueden utilizar esas versiones y por eso he vuelto a VB2010. ¿Te da incompatibilidad algún proyecto?. Saludos

      Eliminar
  3. Hola, loq ue pasa que yo tengo visual basic 6 y queria saber si no habia pobrema en utilizar otra version,,, tambien queria saber si tenias el programa ya echo y si podias compartirlo con migo (davidescalante2010@hotmail.com),,, y aparte de visual y arduino necesitas otro programa para hacer la comunicacion?

    ResponderEliminar
    Respuestas
    1. Hola: Lo lamento pero estos programas no son compatibles con VB6. Casi todos mis programas se pueden descargar (a no ser que sea muy antiguo) pero no estas en la pagina apropiada para ello. Te sugiero que entres en la pagina principal. A la derecha encontraras una serie de etiquetas (Arduino, Android,...etc) clicas en la que te interese. Te mostrara todos los programas que he hecho sobre el tema. Clicas en el titulo del que te interese y te mostrara una pagina para ese programa. Normalmente hay un video y debajo del video el enlace para la descarga.
      Si tienes alguna dificultad deja un comentario. Saludos.

      Eliminar

  4. Hola, muchas gracias por todo,,, y que bueno que hagas estos tutoriales para tontillos como yo jajajaja,, sigue asiii exito

    ResponderEliminar
  5. Ante todo feliz año, hola estimado amigo. Me podrías ayudar con un pequeño ejemplo
    Esquer no soy capaz de hacerlo.
    Sería lo siguiente, que yo pudiera dibujar una línea en un formulario, y esa línea fuese una trayectoria. X,y Para controlar el recorrido con un motor con arduino.
    Pudiendo variarle la velocidad del mismo.
    Y poder cargar y salvar en un archivo.txt dicho recorrido. Muchas gracias por toda tu atención.juanpe, un cordialsaludo

    ResponderEliminar
    Respuestas
    1. Hola: Me temo que vas a tener que darme mas detalles. Vamos por partes:

      -"que yo pudiera dibujar una línea en un formulario". ¿Dibujar?. ¿Como?.

      -" y esa línea fuese una trayectoria. X,(y) Para controlar el recorrido con un motor con arduino". ¿Esa (y) es una coordenada o hay algún error en la frase?.
      Normalmente (es un convenio NO rigido) una coordenada X representa derecha-izquierda. Una coordenada Y representa arriba-abajo y una coordenada Z representa adelante-atrás.

      - "Pudiendo variarle la velocidad del mismo".¿La variación de velocidad la quieres incluir en el "dibujo"?. ¿Como?

      -"poder cargar y salvar en un archivo.txt dicho recorrido". Supongo que quieres guardar las coordenadas (relativas) del movimiento con o sin variación de velocidad.

      En resumen:
      ¿Lo que quieres es dibujar en el ordenador con el mouse o equivalente una trayectoria X-Z (la Y seria para volar) añadir valores de velocidad, pasarle esa información a un Arduino con motor y ruedas para que lo ejecute y poder guardar esos datos en un .txt para poder utilizarlos de nuevo?.
      Lo de dibujar, obtener coordenadas y guardarlas lo puedo hacer. Pero no tengo motores, ni ruedas para Arduino y no podría hacer pruebas. Asi que la parte de Arduino no la puedo hacer.
      ¿He entendido lo que necesitas?.

      Saludos.

      Eliminar
  6. Mira te comento, tengo tres motores servos vale. Cada uno sirve para una cosa. Es decir
    El primero sube y baja el segundo rota y el tercero avanza y retrocede en z. es decir como una excavadora para que me entiendas mejor. Lo que quiero si no es mucha molestia por supuesto seria lo siguiente.
    Con la cámara web. Visualizo un plano en el formulario vale y por encima de la imagen que veo trazo mi recorrido pudiéndolo modificar en cualquier momento.
    Y cuando tengo el trayecto lo envió a arduino.
    Poder cambiar la velocidad por separado de cada servo motor
    Y poder tanto salvar como cargar las trayectorias. Para poder tener diferentes trayectos almacenados cada uno en archivos diferentes.
    Y así poder cargar el que quiera en cualquier momento.
    Con un pequeño ejemplo como como el del servo simulado con proteus me bastaría y me sería de gran ayuda.
    Un cordial saludo.juanpe muchas gracias

    ResponderEliminar
  7. mil disculpas, se me olvido.
    cada linea dibujada con el mouse, con el boton derecho por ejemplo, le doy el valor de velocidad. si se puede hacer claro. estimado amigo. muchas gracias por tu interes y atención ante my.cordial saludo.juanpe

    ResponderEliminar
  8. Hola: Ahora, con los detalles, lo entiendo mucho mejor. Solo me falta por entender lo de "Con la cámara web. Visualizo un plano en el formulario vale y por encima de la imagen que veo trazo mi recorrido". ¿Como "ves" el plano en el formulario?. ¿Utilizas reconocimiento de imagenes o como?.
    Creo que ese proyecto es muy interesante. A ver si lo entiendo bien y puedo ayudarte.
    Saludos.

    ResponderEliminar
    Respuestas
    1. Hola estimado amigo, ante todo muchas gracias por tu atención.
      Te comento.
      Si la verdad, es muy interesante., se me ocurrió. Pero por desgracia, no se meda muy bien la programación. Me cuesta bastante comprender ciertas cosas. Por eso te doy las gracias.
      Lo que quiero es poder ver mi cámara de video en el formulario, lo que visualizo en ese momento, con la cámara quieta, me da una referencia de una imagen. Y con esa imagen o plano que visualizo en ese momento trazo el recorrido a seguir por encima del rectángulo que me muestra la imagen del video. Con las coordenadas. Como te comente anterior mente, x,y,z. seria bueno si se pudiera poder cambiar el tamaño del rectángulo donde se visualiza la cámara, como 1024, 768 a varias resoluciones.
      Para poder identificar las coordenadas x,y,z cada trayecto seria de un color coordenada x en color azul, y en color rojo y z en color amarillo. A si Cada línea dibujada será identificada según su eje.expero haverte , explicado con claridad el ejemplo. Muy atentamente.juanpe

      Eliminar
  9. Mil disculpas se me olvidaba, a poder ser que cuando se envié al arduino las coordenadas. En el mismo trayecto aparezca un círculo por ejemplo que valla siguiendo el recorrido para saber por donde va en ese momento. Y si pudiera ser que se pudiera detener en cual quier momento y reanudar desde la misma posición donde se detuvo antes, como un reproductor de video por ejemplo que tiene pausa, inicio y continuar. Muy atentamente. juanpe gracias

    ResponderEliminar
    Respuestas
    1. Hola: No lo entiendo del todo. Vamos por partes:
      1- Como te dije tu proyecto es muy interesante (prefijar los movimientos de los 3 servos de un Arduino). Pero muy complejo (por eso me gusta :-D).
      2- Seria mejor que nos comunicásemos por mail. Si no vamos a llenar esta pagina solo con nuestra conversacion. El mio es :
      vb.tutoriales.abc@gmail.com
      3- Para lo de ver tu webcam en un formulario con diferentes resoluciones no hay problema. Aquí tengo muchos proyectos donde se utiliza la webcam y dispones del código. O si lo prefieres hago una aplicación con un formulario en el que puedas ver tu webcam y adaptarla al tamaño que desees.
      4- Una vez hecho eso me explicas el siguiente paso que quieres dar. Asi lo entenderé mejor y tu podras ver los resultados paso a paso.
      5- Esa aplicación la hare en Visual Basic 2010 Express.

      Quedo a la espera de tu mail para enviarte el enlace a la aplicación webcam. Y a partir de ahí seguimos.
      Saludos.

      Eliminar
  10. hola yo intento graficar la señal analogica en visual alguna ayuda

    ResponderEliminar
  11. Hola: ¿Podrias dar mas detalles de lo que quieres hacer?. ¿Algun ejemplo? Saludos.

    ResponderEliminar
  12. Hola ¿tendras un ejemplo en visual basic para un contador de objetos con arduino? saludos

    ResponderEliminar
    Respuestas
    1. Hola: ¿Un contador de objetos? ¿Qué es eso?. ¿Puedes darme mas detalles?.
      Saludos.

      Eliminar
    2. creo que se llama contador fotoelectronico

      Eliminar
  13. que el sensor en lugar de mostrar los metros de proximidad pueda llevar un conteo de lo que pase por el

    ResponderEliminar
    Respuestas
    1. Hola: Ya entiendo. Te refieres a un efecto fotoelecctrico. Un emisor de luz envía una luz (visible o no) a una celula fotoeléctrica. Cuando un objeto pasa entre los dos se produce un cambio de tension en la celula fotoeléctrica y esa variación sirve para establecer un contador (las veces que se ha interrumpido el haz de luz).
      No. La verdad es que no tengo ningún proyecto sobre eso. No dispongo de los componentes y no lo podría probar.
      También se podría hacer con un PING (ultrasonidos) o un PIR (infrarrojos) pero podrían producirse errores (falsos positivos, etc).
      Lo lógico es hacerlo con la celula fotoeléctrica ( fotoresistencia, fototransistor, etc).
      Saludos.

      Eliminar
  14. buenas tardes estoy realizando un proyecto con sensor de fuerza ardruino, mi intención es que esa medición se visualice con una interfaz ya sea en vb o otro lenguaje es posible?, tendrás algún proyecto parecido, muchas gracias de antemano, saludos

    ResponderEliminar
    Respuestas
    1. Hola: No. No dispongo de ningún proyecto en concreto para un sensor de fuerza con Arduino. Tampoco dispongo de ese sensor y no podría hacer pruebas. Pero el sistema siempre es el mismo leer desde Arduino a través del componente SerialPort y hacer lo que necesites en la interfaz de Visual Basic (ProgressBar, Grafico, etc.). A ver si te sirve esto:
      http://visualbasictutoriales.blogspot.com.es/2014/09/arduino-captura-y-grafico-de-valores.html

      Saludos.

      Eliminar
    2. amigo EGODISTONICO tendrás un mail o un face para poder realizar una consultas sobre un proyecto que estoy realizando, asi poder mandarte fotos y códigos

      Eliminar
    3. Hola: Mi mail es vb.tutoriales.abc@gmail.com. No utilizo Facebook. Saludos.

      Eliminar
  15. Gracias por la informacion hermano, me ayudo mucho ... buena suerte hermano

    ResponderEliminar
  16. Hola.

    Les dejo enlace de tutorial sobre encender y apagar un Led desde Visual Basic .net, Visual C# y Visual C++.

    http://electronica-pic.blogspot.com.es/2015/11/encender-y-apagar-un-led-con-arduino-y.html

    http://electronica-pic.blogspot.com.es/2015/12/entrada-digital-con-arduino-y-visual.html

    Saludos.

    ResponderEliminar
  17. BUENOS APORTES GRACIAS.

    ResponderEliminar
  18. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  19. Hola, quisiera saber como se podría hacer un semáforo con crucero y tres botones para elegir el intervalo de tiempo

    ResponderEliminar
  20. Hola muy bueno todo, tendras algo de lector de barra con arduino y VB, gracias

    ResponderEliminar
  21. hola que tal, crees que me puedas ayudar a realizar un semáforo de crucero en basic y arduino

    ResponderEliminar