Hola gente, muy buen día tengan todos, tengo el siguiente problema en el cual espero me puedan ayudar a resolverlo.
Tengo varios ARDUINO UNO (ORIGINAL) la cual recibe pulsos (PIEZAS PRODUCIDAS), una ves llega al arduino lo único que hago es mandar una salida serial, misma que, mediante un programa en .NET en el cual pongo el "com" asignado y usando un procedimiento almacenado agrego registros a una base de datos.
El proble es que por momentos el programa deja de recibir datos y tengo que desconectar el USB y reconectarlo, posiblemente no sea problema del ARDUINO o posiblemente si, alguien a tenido ese tipo de problemas.
DATO: Cuando esto sucede en panel de control > dispositivos e impresoras me aparece conectado el arduino.
Imposible diría yo que se pueda responder a tu consulta con los pocos datos que das.
No sabemos si tu aplicación .NET esta permanentemente enviando datos al Arduino. Si es así ese es el problema.
Arduino tiene un buffer que puede incrementarse pero sigue siendo finito de todos modos. Si lo empachas de datos, el cuando no puede recibirlos comienza a tener perderlos.
Asi que la solución es que seas metódico y enviés datos a una tasa razonable.
Como no dices de que trata tus aplicaciones mas no se puede aconsejar.
Ok lo primero es que no mando dato al arduino, recibo datos del arduino y con una aplicación en .NET la envió a la base de datos en sql.
Explico mas a detalle:
El arduino recibe un pulso de X maquina y envio una salida serial con el numero de la maquina ejemplo:
MaquinaX, eso lo recibo en mi programa en .NET y lo que hace es mediante un procedimiento almacenado tomar el numero de la maquina y enviarlo a SQL.
Este es el codigo del arduino
Function SEND_DATA_SQL(ByVal MAQUINA As String, ByVal CICLO_REAL As Decimal, ByVal NUMERO_OPCION As Integer, ByVal FECHA_REG As String) As Boolean
Try
cnConn.ConnectionString = ConeccionBoris
cmdBuscar.Connection = cnConn
cnConn.Open()
Catch ex As Exception
'NO SE PUDO ABRIR LA CONEXION
End Try
'ENVIAMOS LOS VALORES AL PROCEDIMIENTO ALMACENADO
cmdBuscar.CommandText = "exec PROC_INYECCIONES_NUEVO @MAQUINA= '" & MAQUINA & "', @OPCION= '" & NUMERO_OPCION & "', @FECHA='" & FECHA_REG & "', @CICLO=" & CICLO_REAL & ""
Dim RowsAffected As Integer
Try
RowsAffected = cmdBuscar.ExecuteNonQuery
Catch ex As Exception
'SI ENCONTRO UN ERROR REGRESAMOS EL VALOR FALSE
cnConn.Close()
Return False
End Try
'SI TODO SALIO BIEN REGRESAMOS TRUE
Return True
End Function
Entonces el problema es muy dificil de replicar, hay dias que trabaja todo en orden y en otros el puerto se "duerme" demasiadas veces.
Repito el sintoma es que: en dispositivos e impresoras me aparece el arduino conectado, pero la aplicacion .NET ya no recibe nada de info.
La solución es desconectar el usb y volverlo a conectar.
Espero haber explicado mas el problema, muchas gracias a todos de antemano.