el arduino
El Arduino es una pequeña computadora. Y económico . Y un niño cercano a usted debería tener uno para las próximas vacaciones, pero usted debe sacarlo de la caja y jugar con él primero. Hay mucho soporte en línea para el hardware y el sistema de desarrollo.
Este proyecto conectará un Arduino a JMP y realizará un registro de datos en tiempo real. Necesitará la descarga del IDE de Arduino ; Aquí hay una imagen del IDE que contiene el programa. 

Este pequeño programa hace dos cosas: inicializa las comunicaciones en serie cuando se enciende la alimentación y luego pasa el resto de su vida leyendo una señal analógica e imprimiendo el valor en el puerto serie.
El circuito
El sensor para este proyecto es una fotorresistencia CdS . Aquí hay una imagen del circuito de la placa de pruebas.

la fotorresistor (redonda con una línea ondulada, en el centro de la parte trasera) y la resistencia de 43 K ohmios (amarillo-naranja-naranja-dorado) al lado forman un divisor de voltaje entre el cable negro (tierra) y el cable rojo (5 voltios) de la fuente de alimentación. . El cable blanco en el grifo central del divisor va a A0 en la placa azul Arduino UNO. A0 es la entrada analógica que está leyendo el programa anterior. Cuando el fotorresistor está oscuro, su resistencia es muy alta (en comparación con el resistor de 43 K ohmios, y el voltaje del cable blanco estará cerca de tierra (0 voltios). Cuando está muy iluminado, la resistencia del fotorresistor es muy baja y el blanco El cable estará cerca de 5 voltios.
Utilizó el cable USB como puerto serie para cargar el programa en el Arduino. Podría ser com3 o com4 o quizás otra opción. JMP escuchará en esa misma conexión serie USB. Se trata de un cable USB azul que podría venir con el Arduino, según el proveedor.

El JSL
Haga una tabla de datos con dos columnas; la columna de tiempo se completará con la cantidad de segundos desde que comenzó la captura. La columna de detección se completará con los datos del Arduino.
dt = New Table( "capture",
Add Rows( 0 ),
New Column( "time", Numeric, Continuous, Format( ":day:hr:m:s", 21, 3 ) ),
New Column( "sense", Numeric( 2 ) ) // the analog sensor is 0..1023
);
recuerda la hora de inicio
start = Tick Seconds();
Abra la fuente de datos de JMP, configure los parámetros y proporcione un script para procesar cada línea de datos del Arduino. Probablemente COM3 no sea a lo que está conectado su Arduino.
feed = Open Datafeed(
Connect( Port( "com3" ), Baud rate( 9600 ), Parity( even ), DataBits( 7 ) ),
Set Script(
x = feed << getLine;
dt << addrows( 1 );
dt:time = Tick Seconds() - start;
dt:sense = Num( x );
)
);
Ejecute un gráfico de control (o un script de creación de gráficos) para ver la recopilación de datos en acción.
dt << Control Chart( Sample Size( 1 ), KSigma( 3 ), Chart Col( :sense, Run Chart() ) );
Acción
En este clip de 5 minutos verá el gráfico de control actualizándose a medida que llegan los datos; los valores de los datos cambian dependiendo de la luz que llega al sensor. También verá el eje desplazado para mostrar más datos y notará un retraso en el tiempo de respuesta mientras JMP se pone al día con los datos. No hay apretón de manos; es muy posible que se pierdan datos. La pausa de 200 ms en el código Arduino (muy arriba) está diseñada para darle tiempo a JMP para procesar los datos y actualizar la pantalla.
Arduino-YouTube

Gracias Craige. En JMP 15 aparece un error. "No se puede establecer el valor para la columna 'hora' porque el número de fila (0) no es válido". El Sensor está operativo en Arduino IDE enviando valores a Com7.
¿Quién diría que un sensor de luz podría ser tan divertido?
Gracias. Hay muchas posibilidades de sensores; Las entradas digitales de Arduino también se pueden utilizar con interruptores físicos. A mí también me gusta el PI; JMP (Windows o Mac) puede usar sockets con PI, lo que puede hacer que una conexión remota sea más fácil que un Arduino.
Estoy haciendo algo muy similar para medir la distancia. Estoy usando un sensor de ping ultrasónico conectado a un Arduino Uno. Funciona muy bien excepto que requiere una computadora con JMP. Para otros proyectos, escribo los datos en un archivo en el protector de una tarjeta SD, pero es bueno ver los datos en tiempo real.
Sería útil si hubiera una manera de ejecutar JMP en Raspberry Pi y conectar el arduino a Raspberry Pi. Con una Raspberry Pi, podrías conectarte directamente al GPIO de la Pi y no necesitarías el arduino.