Arduinolyzer.js: Convertir tu Arduino en un analizador lógico (3 / 8 paso)

Paso 3: HTML5 y JavaScript

El archivo index.html , el servidor node.js en http://localhost: 8080 muestra un panel de control. En el panel, un menú de configuración aparece en el lado izquierdo lado y la pantalla de la lona en el lado derecho, con una línea Resumen debajo de la configuración. La lona auto-se adapta a la pantalla y +-botones de zoom le permite explotar la forma de onda y desplazarse a través de él. La línea de Resumen proporciona una breve traducción de lo que sucederá al pulsar iniciar. El menú de configuración es una combinación 1:1 de la funcionalidad de sketch de Arduino: cada control corresponde a un comando de Configuración TTY a la que responde el Arduino. Hablaremos más acerca de los controles más adelante durante el sketch de Arduino. Por ahora, es importante recordar que los controles de entrada son convertidos en una cadena de comando y enviados a Arduino al pulsar el botón Start .

El JavaScript que se encuentra en controls.js se comunica en cuatro direcciones:

  1. HTML5 para cliente/JS: clics en la pantalla son gestionados por varios controladores de .on('click') jQuery
  2. Cliente/JS a HTML5: cliente/JS actualiza el cuadro de Resumen, el estado de la tecla de arranque/espera y el lienzo
  3. Cliente/JS al servidor: cliente/JS envía peticiones AJAX al servidor para iniciar la toma de muestras
  4. Servidor a cliente: el servidor envía datos hacia el cliente/JS via push asincrónica socket.io

Cada vez que presione un control, las actualizaciones de la barra de estado con una descripción de lo que va a pasar, y si procede, estimar un tiempo. Presionar iniciar causa el JS a compilar los controles de entrada en una cadena de comando y envíelo al servidor y cambia el botón Inicio que esperar. (Actualmente es no hay manera de detener la ejecución desde el Arduino ignora el puerto serie al mismo tiempo de muestreo).

Cuando termina la toma de muestras, el servidor envía los datos al cliente JS usando un push de socket.io asincrónico. El último paso en el controlador de presión hace que los datos a la lona y cambie el botón de espera volver a empezar.

Un objeto de JavaScript de singleton denominado ventanilla gestiona el lienzo y procesa datos de los canales. Durante render(), el objeto viewport escala los datos para ajustarse a la pantalla, ya que la lona puede manejar coordenadas de subpíxeles muy bien. Esto significa que si el Arduino recoge más muestras que el ancho de la pantalla, las formas de onda pueden aparecer como bloques sólidos. Para resolver este problema, agregué botones de zoom para ampliar los datos.

Nota:

Originalmente había cifrado un ejes de tiempo y marcadores, pero quité porque el código estaba soplando hacia arriba. Quería que el código sea tan pequeño como sea posible. Te lo dejo al lector para hacer modificaciones estéticas. Sin embargo, tener un eje de tiempo mejorar usabilidad al utilizar el zoom: no perderá su lugar como fácil. En cambio, he añadido algunos simples rectángulos grises que rodean las formas de onda del canal, haciéndolo más fácil identificar alto y bajo las señales que no cambian.

Artículos Relacionados

Convertir tu Arduino Uno en una USB-HID-Mididevice

Convertir tu Arduino Uno en una USB-HID-Mididevice

mientras que un Arduino Uno basa controlador Midi para Ableton Live, me encontré con el proyecto HIDUINO (http://code.google.com/p/hiduino/). Le permite convertir su Arduino Uno (o cualquier otro dispositivo utilizando un chipset USB AVR como el 8u2)
Cómo se prueba fácilmente un microcontrolador con un analizador lógico

Cómo se prueba fácilmente un microcontrolador con un analizador lógico

Algunos de mis proyectos en el pasado han tenido problemas debido a un mala pin digital. Si esto ha pasado a usted, entonces usted sabe lo frustrante que puede ser. La primera reacción de la mayoría de la gente es que hay algo mal con el código. Uste
Analizador lógico barato

Analizador lógico barato

Si quieres hacer circuitos digitales quizás necesita un analizador lógico para registrar datos y analizarlos en PC que es muy útil para la depuración. Estas herramientas no son tan caras y se puede comprar uno simplemente. Un día que me di cuenta de
Arduino / procesamiento de analizador de espectro Audio

Arduino / procesamiento de analizador de espectro Audio

En este Instructable voy a mostrar cómo hacer un programa en el proceso que analiza el sonido en su computadora y envía los datos a un Arduino que controla una matriz de LED para mostrar el análisis de espectro.Yo se explicar donde conseguir material
ArrDrownHo! -Fácilmente convertir AVR Arduino

ArrDrownHo! -Fácilmente convertir AVR Arduino

Cap ArrDrownHo! es el josepbesolillucia de Ardweeny y Boarduino y él está aquí para comandar sus buques AVR. ArrDrownHo! hereda los pros de ambos y las desventajas de ninguno. Recoger un chip AVR e iniciar prototipos al instante en un protoboard! ¿De
Convertir tu Arduino en un sintetizador de tabla de ondas de 4 voz con sólo unos pocos componentes...

Convertir tu Arduino en un sintetizador de tabla de ondas de 4 voz con sólo unos pocos componentes...

Se han realizado múltiples proyectos de sintetizador para el Arduino, pero pocos han sido capaces de utilizar toda la potencia del procesador Arduino. DZL de GeekPhysical escribió un sintetizador de tabla de ondas de 4 voz que es uno de los más avanz
Arduino RC circuito: PWM analógico DC

Arduino RC circuito: PWM analógico DC

Arduino es una plataforma que puede ser utilizada para desarrollar objetos interactivos. Para este proyecto vamos a utilizar el el Arduino Mega 2560. Tiene 54 pines de entrada/salida digitales, que 15 puede utilizarse como salidas de modulación de an
Arduino: Lectura de voltaje analógico

Arduino: Lectura de voltaje analógico

En esta lección usarás dos resistores - una resistencia estática y una resistencia variable - para crear un divisor de tensión que le permite comprender efectivamente la intensidad de luz detectada por el fotoresistor - esencialmente un medidor de lu
256 Bit analizador lógico de bolsillo

256 Bit analizador lógico de bolsillo

esto es un bolsillo 256 bits ocho entrada digital analizador de tamaño de para la comprobación de funciones de circuito digital que he construido para mi uso en casa. Cuesta menos de veinte dólares para construir y me permite probar funciones conmuta
Analizador de clonación mi amplificador IR remoto (y otros) utilizando una lógica y Arduino

Analizador de clonación mi amplificador IR remoto (y otros) utilizando una lógica y Arduino

este tutorial (el primero) está aquí para resumir algunos trabajos que hice para clonar un control remoto. Esto es parte de un proyecto más global sobre el ahorro de energía apagando sistemas inactivos (hifi, tv,...) cuando no esté en uso nominal.Si
3020 CNC, CNC + Arduino + GRBL escudo V3

3020 CNC, CNC + Arduino + GRBL escudo V3

Vamos a convertir una máquina de CNC chinos barata de puerto paralelo a Arduino y GRBL.Bueno chicos, esto es la culminación de semanas de lectura, investigación y determinación. Es mi primer instructable para esperanza esto ayuda a llegar a donde nec
Bot - un inteligente arduino bluetooth robot la pipa

Bot - un inteligente arduino bluetooth robot la pipa

Este es mi primer instructables. Aquí estoy mostrando cómo hacer un dos ruedas arduino bluetooth robot barato, utilizando tubos de PVC y sus articulaciones (para hacer el cuerpo). Es sencillo de hacer y fácil de programar. Tienen un montón de diversi
Arduino básico: Hacer sonido

Arduino básico: Hacer sonido

el arduino es sin duda el pequeño micro controlador que podría. Usted puede hacer mucho con ella! En instructables hemos estado teniendo tan divertido con los arduinos, Queríamos mostrar a la comunidad de hacer algunos de los conceptos básicos.Este p
Guía de iniciación a Arduino

Guía de iniciación a Arduino

Después de algunos años de experimentar con Arduino, he decidido que ha llegado el momento de compartir el conocimiento que he adquirido. Así aquí va, una guía de Arduino, con los fundamentos desnudos para principiantes y algunas explicaciones más av