Comunicación serial con Visual Basic 2008

Meta tienes razon pero con tantas cosas por hacer, trabajo, familia, aveces me queda poco tiempo apara esudia, pero tocara hacerlo para no quedarme atrasado....

Pepes vamos investigando sobre la marcha y vemos..


Saludos
 
Hola Willyfv, Por supuesto los reloges tienen que ir en el VB yo habia pensado que debajo de los pulsadores poner 2 textbox ò 2comboBox donde pode poner la hora de encendido y apagado.Aunque el encendido y apagado manden el mismo caracter no importa porque a los sitios donde va dirigido ese dato
no dispone de pulsador propio.Tendria que se que al coincidir la hora de encendido por ejem mande "A" y a la hora de apagado mande "A".antes te he dicho que te bajes el vb2010 porque asi todo lo que se balla haciendo te lo mando.cualquier duda pregunta saludos pepe
 
Saludos,


Meta ya baje VB EXPRESS 2010 lo estoy estudiando y tengo un problema para ver si me ayudas, quiero abrir un archivo excel desde VB pero me da estos errores:

El tipo `Excel.application´no esta definido
El tipo `Excel.worhbook´no esta definido

El codigo que estoy usando es el siguiente:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objExcel As Excel.Application
Dim xLibro As Excel.Workbook
objExcel = New Excel.Application
xLibro = objExcel.Workbooks.Open("c:\libro1.xls")
objExcel.Visible = True
End Sub
End Class

He buscado por la red y la informacion que encuentro es que hay que agregar una referencia
Microsoft Excel 11.0 Object library en mi caso es la Microsoft Excel 12.0 Object library la activo y sigue el mismo error

Este codigo lo he probado en VB.6 y funciona
 
Con la edición Express no te deja, jejeje. Si las de pago ya que etán preparados.

Puedes hacer trucos bajándote librerías de terceros.

Si te dice que no está definido, prueba con agregar referencias.

Deja investigar........


Hola de nuevo:

Prueba a trabajar como se detalla en el siguiente enlace:
http://visualbasic.about.com/b/2007/10/30/reading-excel-2007-xlsx-in-vbnet.htm

Dim oExcel As Application = _ CreateObject("Excel.Application") Dim oBook As Workbook = _ oExcel.Workbooks.Open( _ "C:\Users\ThisUser\Documents\Data.xlsx", , False)

estas usando un alias para el import de Excel, deberías utilizar algo como esto Import Excel = Microsoft.Office.Interop.Excel

Saludos

 
Última edición:
meta

Solucionado como abrir el archivo de excel desde visual basic, la aplicacion que te pase esta bien solo que
en Dim objExcel As Excel.Application le das clip y te aparece la opcion de Imports Microsoft.Office.Interop y listo se abre como si nada....


ahora estoy escribiendo de vb a excel y funciona bien solo que todavia no doy como hacer para que pase de una fila a la otra

tengo dos textbox y cada una escribe en una celda perfectamente

textbox1. me escribe en la FILA 1 CELDA A
textbox2. me escribe en la FILA 1 CELDA B


pero cuando ingreso otro dato lo escribe alli mimo y quero que lo pase a la FILA 2 CELDA A...

estamos investigando alli vamos..


pepes

qu has investigado con lo del reloj por alli tengo algo listo....
 
Hola amigos ,
soy nuevo en este foro.

saben tengo un serio problema , quizás falta de conocimientos para poder lograr lo que me he planteado.

resulta que tengo mi Arduino uno y he desarrollado un contador de pulsos lo cual quiero guardar la información en una base de datos específicamente mysql, investigando , desde el arduino no puedo agregarlo directamente, se que visual studio 2008 tiene la comunicacion serial. y es a través de visual me gustaría guardas esto en la base de datos.

solo la variable que quiero almacenar es el "conta"
por favor me pueden ayudar se lo agradecería mucho.


Código:
/*
 --------------------------------------------- 
  Contador de pulsos
 ---------------------------------------------
 
  Programa que muestra por pantalla (consola serial) el número 
   de veces que el pulsador ha sido presionado, se realiza un 
   proceso que de acuerdo al número de pulsaciones se enciende 
   un LED,
 

*/
 
//--------------------------------------------------
//Declara puertos de entradas y salidas y variables
//--------------------------------------------------
int conta = 0;  //Variable para guardar el conteo de los pulsos
int num = 3;
 
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
  Serial.begin(9600);   //Inicia comunicación serial
  pinMode(2,INPUT);     //Configura el pin 2 como una entrada, pulsador
  pinMode(13,OUTPUT);   //Configura el pin 13 como una salida, LED
pinMode(3,INPUT);
}
 
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{           //  cuando este energizado el Arduino

if (digitalRead(3) == LOW)
  {
    digitalWrite(13,HIGH);  //Enciende el LED Verde
    digitalWrite(14,LOW); //Rojo Apagado
    
    num = 0;
  }
 
  // Si el valor del contador es 8
  if (digitalRead(3) == HIGH)
  {
    digitalWrite(13,LOW);  // Apaga el LED Verde
    digitalWrite(14,HIGH);// Enciende led rojo
    num = 1;
  }
 
  // Si el pulsador esta oprimido
  if ( digitalRead(2) == HIGH ) 
  {
      // Si el pulsador no esta oprimido, flanco de bajada
      if ( digitalRead(2) == LOW )
      {
       
  if(num == 1)
      {
        Serial.println("Posible Fuga");
        
      }
      else
      {
         conta++;               //Incrementa el contador
         Serial.println(conta); //Imprime el valor por consola
         delay (100); 
         // Retardo
      }
      }
     
      
  }
 

  
 
}
 
//Fin programa


graciass..
 
hols soy nuevo en el foro
paso por este pork el tema de comuniacion me interesa
y tambien estoy haciendo un proyecto con una bascula
con la cual necesito capturar el peso de esta .
entonces pues muchas graxias al k me pueda colaborar con eso
puede ser en vb 8 o c#
 
hols soy nuevo en el foro
paso por este pork el tema de comuniacion me interesa
y tambien estoy haciendo un proyecto con una bascula
con la cual necesito capturar el peso de esta .
entonces pues muchas graxias al k me pueda colaborar con eso
puede ser en vb 8 o c#

Hi jhon...

Obtener el peso de una bascula por el puerto serial es algo sencillo,
ya tienes la configuración del puerto de la bascula y los caracteres de control?

:)
 
Hola meta mira haber si sacas algo en claro,segun el que me lo puso funciona,a mi no





Option Strict Off

Public Class Form1
Private WithEvents PUERTO As New System.IO.Ports.SerialPort

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each PUERTO As String In My.Computer.Ports.SerialPortNames
ComboBox1.Items.Add(PUERTO)
Next

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

PUERTO = My.Computer.Ports.OpenSerialPort(ComboBox1.Text)
PUERTO.BaudRate = 9600 ' 115200
PUERTO.Parity = IO.Ports.Parity.None
PUERTO.DataBits = 8
PUERTO.StopBits = IO.Ports.StopBits.Two
If PUERTO.IsOpen Then
TextBox5.Text = "EL PUERTO IS OPEN"
End If
Me.Refresh()


If PUERTO.ReadExisting.Contains("41") Then '("41")
TextBox1.BackColor = Color.Red
ElseIf PUERTO.ReadExisting.Contains("B") Then
TextBox2.BackColor = Color.Red
ElseIf PUERTO.ReadExisting.Contains("") Then
TextBox3.BackColor = Color.Red
ElseIf PUERTO.ReadExisting.Contains("D") Then
TextBox4.BackColor = Color.Red
ElseIf PUERTO.ReadExisting.Contains("a") Then
TextBox1.BackColor = Color.Beige
ElseIf PUERTO.ReadExisting.Contains("b") Then
TextBox2.BackColor = Color.Beige
ElseIf PUERTO.ReadExisting.Contains("c") Then
TextBox3.BackColor = Color.Beige
ElseIf PUERTO.ReadExisting.Contains("d") Then
TextBox4.BackColor = Color.Beige

End If

' PUERTO.Close()
' TextBox5.Text = "EL PUERTO IS CLOSED "



End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim A() As Byte = {&H41}
PUERTO.Write(A, 0, A.Length)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim B() As Byte = {&H42}
PUERTO.Write(B, 0, B.Length)


End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


Dim C() As Byte = {&H43}

PUERTO.Write(C, 0, C.Length)



End Sub


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


Dim D() As Byte = {&H44}

PUERTO.Write(D, 0, D.Length)


End Sub

End Class

dETECTAR

Hola que tal?, bueno les cuento un poquito, hace unos días en mi instituto realice un proyecto para controlar una casa mediante wifi, para ello utilice 2 computadoras conectadas en red, 1 pic que controlaba todas las funciones de la casa por serie, bueno el asunto es que el programa lo compile en el añejo VB6 pero funcionaba a la perfección, ahora decidí usar VB2008 para que su estética visual sea mas atractiva, bueno, todo bien, aprendí las modificaciones etc, el problema me surgio a lo mismo que le ocurrió a depepe, no puedo hacer que el programa que hago en VB2008 me haga cambiar de estado un objeto de formulario, bueno me gustaría saber si lo han logrado para que me puedan ayudar, estaría muy agradecido, bueno me despido cordialmente de ustedes, y espero su respuesta, muchas gracias de antemano.
 
Hola que tal?, bueno les cuento un poquito, hace unos días en mi instituto realice un proyecto para controlar una casa mediante wifi, para ello utilice 2 computadoras conectadas en red, 1 pic que controlaba todas las funciones de la casa por serie, bueno el asunto es que el programa lo compile en el añejo VB6 pero funcionaba a la perfección, ahora decidí usar VB2008 para que su estética visual sea mas atractiva, bueno, todo bien, aprendí las modificaciones etc, el problema me surgio a lo mismo que le ocurrió a depepe, no puedo hacer que el programa que hago en VB2008 me haga cambiar de estado un objeto de formulario, bueno me gustaría saber si lo han logrado para que me puedan ayudar, estaría muy agradecido, bueno me despido cordialmente de ustedes, y espero su respuesta, muchas gracias de antemano.

Hi Mega,
A que te refieres con cambiar el estado, el "enabled"?

:)
 
Hola, nop, me refiero a que cambie el estado de algún objeto del formulario, por ejemplo el PIC envié un dato y el la form cambie por ejemplo el color de un textbox, a eso me refiero, espero que me puedan ayudar, saludos y gracias!!!

No te entiendo muy bien, cambiar el color es algo sencillo.

Public[/SIZE] Class[/SIZE] Form1
Private Sub Button1_Click(ByVal[/SIZE] sender As[/SIZE] System.Object, ByVal[/SIZE] e As[/SIZE] System.EventArgs) Handles Button1.Click
Me.TextBox1.BackColor = Color.Red
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.TextBox1.BackColor = Color.Green
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.TextBox1.BackColor = Color.Blue
End Sub

End
Class

No se si es lo que quieres?
podrías ser mas especifico, si puedo te ayudo.

:)
 

Adjuntos

  • BackColor.JPG
    BackColor.JPG
    8 KB · Visitas: 6
No te entiendo muy bien, cambiar el color es algo sencillo.



No se si es lo que quieres?
podrías ser mas especifico, si puedo te ayudo.

:)

Sip, muchas gracias por la respuesta, el problema esta en que quiero que el PIC (un dispositivo que se conecta el el puerto serie), me controle el color del textbox, en pocas palabras, desde un dispositivo externo "decirle" al textbox el color que debe tomar, esa es mi duda, gracias!!! :)
 
Si conozco los PIC;
Comentaste que ya lo habias hecho con VB6;
pero que con la nueva version VB ya no funciona.
Algunos controles y propiedades cambian de nombre y por eso
no puedes convertir los proyectos sin algun cotratiempo,
pero en general tiene el mismo funcionamiento.
Como recibias los datos en VB6 con un timer y el mscomm?
:)
 
Si conozco los PIC;
Comentaste que ya lo habias hecho con VB6;
pero que con la nueva version VB ya no funciona.
Algunos controles y propiedades cambian de nombre y por eso
no puedes convertir los proyectos sin algun cotratiempo,
pero en general tiene el mismo funcionamiento.
Como recibias los datos en VB6 con un timer y el mscomm?
:)

correcto, recibía los datos con un timer ajustado a 1ms, pero ahora no me recibe nada, y no hace nada :(,
PD: el programa lo escribí completamente denuevo, por las modificaciones previamente mencionadas pero sin ningún estado positivo.
 
Postea el programa para poder revisarlo.
:)

Código:
    Private Sub Recepcion(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
        ' Acumular los carácteres recibidos al 'buffer' (string)
        Recibidos += serialPort1.ReadExisting()
        ' Invocar o llamar al proceso de tramas
        Me.Invoke(New EventHandler(AddressOf Actualizar))
    End Sub

    ' Procesar los datos recibidos en el buffer y extraer tramas completas
    Private Sub Actualizar(ByVal s As Object, ByVal e As EventArgs)
        ' Asignar el valor de la trama al textBox
        TextBox_visualizar_mensaje.Text = Recibidos
        If Recibidos = "b" Then
            Button_t.Text = "activado"
        End If
    End Sub
El problema esta en que al enviar el carácter no hace nada, espero que me puedas ayudar, y muchas gracias por la preocupación :).
 
Última edición por un moderador:
]
El problema esta en que al enviar el carácter no hace nada, espero que me puedas ayudar, y muchas gracias por la preocupación :).

Hi Mega,
Me parece que faltan algunas rutinas de inicializacion.
Te paso este codigo de ejemplo para que tomes una idea.
Espero te sirva, a mi me funciona.

:)
 

Adjuntos

  • SerialComm-VB.zip
    154.1 KB · Visitas: 62
Atrás
Arriba