Guion de video @stan_koprowski

Craige Hales de JMP escribió una forma innovadora de leer datos en tiempo real con un Arduino. Quería probar esto por mí mismo, y con la ayuda de mi colega Stan hicimos algunos ajustes con la versión actual de JMP, me alegra decir que fue exitoso. Fue sinceramente divertido experimentar y aprendí un montón más de JSL. El script JMP y el código Arduino están vinculados a continuación para que pueda experimentar.
Por lo tanto, un Arduino es una microcomputadora económica que se conecta a través de USB y puede cargar su código personalizado para que se ejecute. Puede funcionar con una batería o usar la energía de un USB. El Arduino viene sin una caja y este conecté un Sensor de luz al Pin 0.
Este no es un tutorial completo sobre cómo codificar en Arduino ni JSL, sino simplemente una introducción a esta conexión de un sensor con JMP utilizando un script JMP.
Primero, déjame mostrarte cómo funciona, luego explicaré rápidamente cómo se logra. Con JMP y los programas Arduino IDE en funcionamiento, seleccionaré el ícono Ejecutar script en el banner de la cinta superior. Eso creará primero una tabla de datos con 2 columnas. Hay 2 Scripts esperando en nuestro panel de mesa para comenzar. Seleccionaré ejecutar Connect y se abrirá el puerto de comunicaciones en el que se encuentra el Arduino e iniciará el script principal. Por cierto, prácticamente estoy ejecutando Windows en un Mac Book Pro y mi Arduino está en Com3 porque eso es lo que ha indicado el menú desplegable del software Arduino.
Como puede ver, rápidamente comienza a poblar nuestra primera columna con los datos de luz del sensor IR conectado a mi Arduino. La segunda columna es una marca de tiempo creada por JMP. También lanza un generador de gráficos de control para que visualicemos los datos en tiempo real.
Así es como funciona.


El Arduino está encendido y recopila activamente información del sensor utilizando el código cargado vinculado a este video.
En JMP, el script JSL crea una tabla de datos con 2 columnas, sentido y tiempo. La velocidad en baudios es bastante alta, pero es una forma de no perderse ningún dato que se lea desde el feed de Arduino.
El script JSL crea el script Connect, que se conecta y escucha el puerto que Arduino está utilizando. Comenzamos el tiempo, tomamos la línea del feed, finalizamos el tiempo y luego llenamos la fila de la tabla de datos para detectar el sentido y el tiempo.
A continuación, lanzamos un Gráfico de control para visualizar los datos entrantes.
Esta parte se repite hasta que ejecutamos el Script para desconectar.
Potencialmente, podría agregar cualquier sensor al Arduino que desee, incluida la lectura de los pines digitales.
Si tiene alguna pregunta o idea, comente a continuación.
Hola Ryan, buen trabajo 
Tengo algunas ideas para hacer esto más robusto e incluso más aplicable:
- Realice algunas comprobaciones para el uso de RAM de vez en cuando, solo para asegurarse de que no se encuentre con problemas de memoria y, por lo tanto, un error de tiempo de ejecución. Si queda poca RAM, deténgase automáticamente, reinicie JMP y ejecute el script nuevamente, agregando una línea a los ejes x del gráfico de control que indique que hubo un nuevo comienzo
- Publique resultados en JMP Live en lugar del cuadro de control local para que otros vean lo que sucede
¿Qué piensas?
Martín
Gracias Martin, buena idea en el cheque Ram. Mi próximo proyecto es mirar múltiples sensores a la vez. Para el caso de uso de JMP Live, quizás una buena aplicación sea una comprobación del sensor a intervalos más largos.
Algunos experimentos (obvios) que podríamos probar.
- Aplicación de fabricación de un dispositivo abierto o cerrado. (0 o 1)
- Presión
- PH
- Temperatura