DHT22 Arduino UNO y LabVIEW

Hola, estoy trabajando en una Estación Meteorológica, tengo que mostrar en el panel frontal de LabVIEW las mediciones de los sensores, para medir temperatura y humedad estoy usando el sensor DHT22, pero en el toolkit de LabVIEW para Arduino, no incluye ese sensor, y la verdad no se cómo hacer para leer las mediciones que me da, puesto que su salida es digital.

Usando el IDE de Arduino, el sensor funciona perfectamente, tengo la librería y todo lo que se necesita, pero para trabajar con LabVIEW como sabrán es diferente, pues todo es con diagrama de bloques, y la programación se hace desde el LabVIEW.

Los demás sensores que tengo son analógicos, considero que son más sencillos de utilizar, puesto que puedo leer su voltaje y usar una ecuación para convertir ese voltaje a la unidad de medida del sensor.

Necesito de su ayuda, un saludo!! XD XD

En realidad tienes dos maneras de trabajar con LABVIEW. Una es usando el módulo ARDUINO y otra usando VISA o sea via USB (serie) con lo cual te puede resultar mas facil todo lo concerniente a la programación en el Arduino pero requerirá mas trabajo en LABVIEW interpretar las secuencias de datos serie provenientes del ARDUINO via USB.

Es correcto, yo se que hay dos maneras, en cuál de los dos métodos hay más información es lo relevante en realidad, cuál de los dos métodos me recomendarían?

Un saludo!!!

Mejor que sugerir por donde ir entre las dos opciones es darte una buena guia

van dos

  1. un hilo simil al tuyo en inglés
    Labview DHT22 Digital sensor read - Interfacing w/ Software on the Computer - Arduino Forum

  2. la solucion
    RoboticLabVIEW: Arduino + DHT11 + LabVIEW + Envio de Email

Gracias por tu ayuda! Los links que me referiste ya los había revisado anteriormente, aún no me convencen de que sean una buena opción utilizarlos, tendré que revisar si el DHT11 es igual al DHT22, sino, no me serviría de mucho.

Saludos! :smiley:

No te convence? Solo adapta todo al DTH22 y asunto terminado.
Que es lo que no te convence.

Por otro lado, si ya los habias visto porque no indicaste la referencia.
Tu mensaje decia que no sabias como hacerlo. Ahi tienes un buen punto de partida.
Si lo probaras y luego chocas con algun problema ya la cosa es mas simple de responder que ahora que lucias como que no sabias por donde encararlo.
Se entiende lo que digo?

Con calma amigo, la información a la que haces referencia la estuve revisando por la mañana, antes de revisar el foro, y lo de adaptar al DHT22 lo correspondiente al DHT11 es fácil decirlo, el problema es hacerlo, pero de todas maneras; gracias por tu ayuda.

Voy a irme usando VISA mejor, pues tengo otros sensores que se tornaría bastante larga la programación si lo hiciera en LabVIEW, mejor voy a trabajar en la forma en que LabVIEW interprete los datos que le voy a mandar vía USB desde el Arduino.

Muchas gracias por tu atención y por tu ayuda, recibe un cordial saludo de mi parte.

Yo tengo toda la calma del mundo.
Si mal recuerdas, este es creo tu tercer post sobre el tema meteorológico y yo te respondi en los tres aportando ideas.

Entonces no se porque dices " con calma amigo"??? Solo digo que es bueno que si alguien tiene un problema aporte toda la información de la que dispone. Solo eso. Además siempre digo lo mismo, si tu sabes como transmitir emociones en un texto salvo que sea uno perfectamente ofensivo lo demás es completamente subjetivo.

Si me lees verás que siempre pido a todos que expongan de la mejor manera su problema aportando toda la información. Al leer los post de la mayoría todos hacen incapié en el problema puntual dejando de lado el contexto, es decir, diagrama de conexiones, codigo completo, información en la que se basaron, dandole a quien va a brindar una ayuda un panorama mas preciso para opinar correctamente.
Gracias por el abrazo y lo mismo digo. Mal entendidos tenemos todos.

Ahora al punto LABVIEW - ARDUINO.
Yo creo que VISA es tu mejor enfoque. Me gusta tu proyecto porque aunque no trabajo en una estación meteorológica estoy con muchos sensores que debo comunicar con ARDUINO DUE y LABVIEW 2013.
Aun no comencé pero lo que te respondí es la información que habia investigado.
Solo hice un par de pruebas siemples y claro, todas funcionaron, pero tu problema requería especial cuidado.
Vi tambien pero no puedo encontrarlo como alguien modificó lo que ahora sería el LIFA que se debe cargar en ARDUINO para interpretar el código generado por LABVIEW.
Basicamente si miras el codigo LIFA verás que hay una serie de comandos recibidos por ARDUINO visa USB e interpretados por su puerto SERIE para luego ejecutar funciones AD, PWM, IO, etc. Puedes ahi crear la tuya, simplemente agregando un nuevo comando, sumando la función a la libreria ARDUINO-LABVIEW y luego creando el sub vi.
Buscaré esto que te digo para ver si puedo arrojar mas luz.
Se entiende lo que digo?

Se entiende perfectamente; así es, este es el tercer post que hago sobre este proyecto, inicialmente no estaba en planes la conexión con LabVIEW pero, uno de los profesores, la puso como requisito y ni modo, tuve que entrar en este mundo, a trabajar con LabVIEW desde cero, y luego a trabajar Arduino-LabVIEW desde cero también. Este proyecto me está sirviendo para dos asignaturas.

Agradezco tu ayuda con toda sinceridad!! Gracias por todos tus aportes, tengo a uno de mis compañeros investigando más sobre este tema, pues yo estoy estoy terminando la parte sin LabVIEW, ya tengo lista toda la programación y el acondicionamiento de las señales provenientes de los sensores. Solo faltaría almacenarlas en la SD, ya tengo el shield, falta empezar a trabajar en el código.

Voy a remitirle a mi compañero toda la información que me brindes! :slight_smile:

Saludos,
Jorge Vallejos

No puedo encontrar lo que te comente sobre modificar LIFA pero busca el codigo que subiste al arduino (creo que esta en el directorio labview) y mira específicamente donde estan los comandos. Es facil agregar otro comando para que haga algo nuevo no implementado, luego tendras que recompilar y volver a subirlo.

De acuerdo, voy a buscarlo entonces, así es, en ese directorio se encuentra.
Saludos!

Jorge, a esto me refería.

Alguien tiene el mismo problema que tu, entonces Nathan_B. sugiere que para generar una nueva función LIFA adecuada a tu uso, necesitas modificar firmware y la nueva función LABVIEW.
Sugiere que comiences dupliando una función existente y de ahi partes. Otrotruco, no uses la función print cuando uses funciones propias. Debes enviar el número de regreso a LABVIEW como entero y luego converitirlo al valor buscado en LABVIEW.

You need to create a custom LIFA function (requires both modification in the firmware and a new function in LabVIEW). You can start by duplicating an existing function and go from there. Another tip, never use the print function when making custom functions. You should sent the number back to LabVIEW as an integer and then convert it to the relevant value in LabVIEW.

bueno encontre como hacerlo. Olvida LIFA ya no existe mas, fue reemplazado por LINX aca el enlace

agregaron sensores, rtc y LCDs. ademas de interface Ethernet, WIFI y Serial.

Vamos a lo nuestro , si ves el codigo
https://github.com/labviewhacker/LVH-LINX/blob/master/LabVIEW/vi.lib/LabVIEW%20Hacker/LINX/Firmware/Source/Arduino/LINX_Arduino_Base_Firmware/LINX.ino

en la línea 524 tienes la funcion
void processCommand(unsigned char* commandPacketBuffer, unsigned char* responsePacketBuffer)
verás a continuacion cosas como esta
linea 706
case 0x0064: //Analog Read
linxAnalogRead(commandPacketBuffer, responsePacketBuffer);
break;

Obviamente es el comando que lee una señal analogica

termina en la funcion 107 asi que desde ahi via libre. 108 en adelante.

agregas
case 0x0108: //mi función LINX
linxMiSensor(commandPacketBuffer, responsePacketBuffer);
break;

luego deberás escribir linkMiSensor(commandPacketBuffer, responsePacketBuffer) {

}

Luego incluirlo en el header .h.

cuentame si esto te sirve?

Mira este link, aunque el autor tenia problemas con el LCD al menos tenia conectado el sensor DTH 22

Aca como modificar los comandos en LINX.
https://www.labviewhacker.com/doku.php?id=learn:libraries:linx:tutorials:adding_custom_command.

Otro topico del tema DTH 22
https://www.labviewhacker.com/forums/viewtopic.php?f=12&t=94

Hola surbyte, muchas gracias por toda la información que me has brindado, la guardaré para futuros trabajos; mi compañero que está trabajando específicamente en esto usó el video que posteaste anteriormente:

usando VISA, en ese se basó y logró enviar datos del arduino a labview; además también logró enviar las mediciones del DHT22 y almacenarlas en una tabla, a continuación el video:

https://www.dropbox.com/s/8vnh3vb92wiqrf1/DHT22%20y%20LabVIEW.wmv

Faltaría conectar los demás sensores y enviar los datos al labview, pero creo que ya entendiendo esto, resultaría más fácil!!! :smiley:

Cuanto me alegro Jorge que se hayan encaminado.
Estaré atento a las inquietudes que se presenten, buen trabajo!!!
Que bien luce la interfaz en Labview con las tablas. Tomaré nota de lo que realizaron.

Hola, soy nuevo trabajando con arduino. Tengo una placa ARDUINO DUE y necesito realizar la adquisicion de datos con esta tarjeta y labview, pero no he podido encontrar la forma de hacer esto. Segun lo que he leido hay que cargar la libreria linx en la tarjeta, pero esta libreria no es compatible con la tarjeta. Me podria ayudar.... gracias

Como bien dices DUE no es compatible, salvo que cargues los datos via VISA que no es mas que leerlos via RS232. Entonces en DUE escribes datos para ser enviados por el puerto SERIE y en LABVIEW debes interpretarlos (hay muchos ejemplos) y desde ahi continuar con la visualización de los mismos.