Cómo controlar tu Arduino usando JavaScript

Cómo controlar tu Arduino usando JavaScript / Programación

Los tableros Arduino son una de las formas más fáciles de acceder a la piratería de hardware para programadores. Hay una gran variedad de proyectos para principiantes 15 Grandes proyectos de Arduino para principiantes 15 Grandes proyectos de Arduino para principiantes ¿Está interesado en Arduino pero no está seguro por dónde empezar? ¡Aquí están algunos de nuestros mejores proyectos de Arduino para que comiencen los principiantes! Lea más para adaptarse a casi cualquier persona con experiencia en programación. Aun así, comenzar puede parecer desalentador para los que tienen poco tiempo..

Aprendiendo un lenguaje totalmente nuevo. ¿Qué lenguaje de programación debería aprender para el futuro? ¿Qué lenguaje de programación debería aprender para el futuro? ¿Cuál es el mejor lenguaje de programación para aprender para el futuro? Si solo pudieras elegir un idioma para aprender y dominar para el futuro, no hay concurso: debe ser JavaScript. Leer más solo para probar un microcontrolador puede parecer mucho trabajo. ¿Qué sucede si desea comenzar a jugar con la electrónica casera en un lenguaje de programa con el que ya está familiarizado? Buenas noticias: puedes!

Ya le mostramos cómo controlar una placa Arduino con Python Cómo programar y controlar un Arduino con Python Cómo programar y controlar un Arduino con Python Lamentablemente, es imposible programar directamente un Arduino en Python, pero puede controlarlo a través de USB utilizando un programa Python. Así es cómo. Lee más y hoy te mostraremos cómo hacer lo mismo con JavaScript. En lugar de ser el tutorial de LED parpadeante más básico, hoy usaremos el marco Johnny-Five para controlar un servo con el teclado de la computadora, todo programado en JavaScript. ¿Qué es JavaScript y cómo funciona? ¿Qué es Javascript? Es un lenguaje de programación utilizado para mejorar las páginas web. Incluye actualizaciones dinámicas de páginas web, interfaces de usuario y más. Vamos a sumergirnos en lo que significa Javascript. Lee mas .

Lista de hardware

Para este proyecto necesitarás:

  • Arduino Uno (o guía compatible de Arduino para la compra de la placa: ¿Qué placa debería obtener? Arduino Guía de compra: la que debería obtener la placa? Hay tantos tipos diferentes de tablas de Arduino por ahí que se le perdonará por estar confundido. Compre para su proyecto. ¡Déjenos ayudarlo con esta guía de compras de Arduino! Lea más): $ 22 en la tienda oficial, aunque puede obtenerlos más económicos 5 razones para no usar un Arduino genuino en su próximo proyecto 5 razones para no usar un genuino Arduino en su próximo proyecto ¿Ha ido demasiado lejos la fundación Arduino? ¿Por qué debería gastar su dinero en productos Genuinos Arduino? Te explicamos todo lo que necesitas saber. Lea más, los tableros de clonación están disponibles por tan solo $ 3.20 en AliExpress.
  • Servidor de pasatiempos: cualquier servo compatible con Arduino de una tienda de pasatiempos funcionará, estoy usando un servo de $ 1.60 de AliExpress.
  • Un par de piezas de enganche de alambre.
  • Cable USB: para conectar el Arduino a su computadora

El tutorial de hoy utilizará un tablero Arduino Uno. El marco Johnny-Five que usaremos más adelante en este proyecto es compatible con la mayoría de los microcontroladores compatibles con Arduino, aunque su placa tendrá que tener capacidad PWM para mantener al servo feliz.

Configuración del circuito

Conecte su servo a su Arduino de esta manera:

En definitiva, la línea VCC (ROJO) se conecta al pin 5v del Arduino, la línea GND (NEGRO o MARRÓN) se conecta al pin GND del Arduino y la línea de Pulso (Amarillo o naranja) Conectar al pin 10 del Arduino. Tenga en cuenta que, si bien no tiene que conectarlo específicamente al pin 10, debe conectarse a un pin PWM, generalmente indicado con una ~.

Verifique que no haya mezclado ningún cable y conecte el Arduino a su computadora. Usaremos Windows 10 para este proyecto. Todos los elementos de este proyecto también están disponibles para Mac y Linux, aunque algunas instrucciones de instalación pueden diferir ligeramente..

Si aún no lo has hecho, descarga el IDE de Arduino y elige tu Tablero y Puerto desde el Herramientas menú. Si esta es la primera vez que haces esto y todo es un misterio, nuestra Guía para principiantes de Arduino Introducción a Arduino: una guía para principiantes Introducción a Arduino: Guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en Fácil de usar hardware y software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Leer más podría ayudarte a través de estos pasos.

Una vez que lo tengas conectado, sube el EstándarFirmataPlus Ejemplo de boceto al tablero. Puedes encontrar este boceto en el Expediente menú bajo Ejemplos> Firmata> StandardFirmataPlus. No es necesario que modifique el boceto en absoluto, simplemente configura el Arduino para que espere las instrucciones externas, que se proporcionarán más adelante..

Robótica JavaScript Con Johnny-Five

El marco que usaremos para controlar nuestro Arduino con Javascript se llama Johnny-Five. Como era de esperar, dado su nombre de la película, el proyecto está orientado a trabajar con robótica.

Crédito de la imagen: johnny-five.io

Para instalar Johnny-Five, primero debemos instalar Node.js ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] JavaScript es solo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad? Ya no. Node.js es una forma de ejecutar JavaScript en el servidor; Pero también es mucho más. Si ... Leer más. Puede descargar su última versión desde el sitio web Node.js. Estamos utilizando la versión recomendada, que en el momento de la redacción es 8.9.4 LTS.

Abre el .msi archivo y siga las instrucciones de instalación, asegurándose de que se agregue a su CAMINO. El instalador actual de Node.js agrega PATH como estándar, aunque vale la pena comprobarlo durante la instalación, ya que es necesario para nuestro próximo paso.

Una vez que se complete la instalación, tendremos acceso a la Gestor de paquetes del nodo (NPM) gestor de paquetes desde la línea de comandos de Windows (CMD). Hacer clic comienzo y escriba CMD. Antes de continuar, debemos inicializar el NPM para evitar posibles errores de instalación. No requiere ningún conocimiento especializado, simplemente escriba:

npm init

Siga las indicaciones en pantalla. Para el proyecto de hoy no necesita cambiar nada, solo presione Entrar hasta que vuelva al símbolo del sistema, luego escriba:

npm instalar johnny-five

Esto instalará todos los paquetes importantes, que hablarán con nuestro Arduino. Necesitamos una cosa más para hacer que este proyecto funcione, y esa es la Pulsar teclas paquete, que nos permitirá leer las pulsaciones del teclado.

Instálalo ingresando:

npm instalar keypress

Una vez que todos estos paquetes están instalados, estamos listos para codificar!

Si tiene algún problema durante la instalación, intente ejecutar la instalación de johnny-five nuevamente después La instalación de pulsación de tecla. Puede que solo sea una peculiaridad de la versión de NPM que se usa aquí, pero hacer esto ahora evita un problema con el que probablemente se encontrará más tarde, como hice yo..

El código

Utilizaremos un fragmento de código de ejemplo provisto en la documentación de johnny-five hoy, que permite controlar nuestro servo utilizando las teclas de flecha del teclado. El código completo está disponible en johnny-five.io, pero lo analizaremos aquí en detalle para comprender cómo funciona..

Estamos utilizando Eclipse IDE 8 Métodos abreviados de teclado de Eclipse Esenciales para principiantes 8 Métodos abreviados de teclado de Eclipse Esencial para los principiantes Tan amigable para los principiantes como el Eclipse IDE (interfaz), usted debe aprender estos métodos abreviados de teclado. Lea más sobre codificación hoy, aunque puede usar cualquier editor de texto IDE o editor de texto frente a IDE: ¿Cuál es mejor para los programadores? Editores de texto vs. IDE: ¿Cuál es mejor para los programadores? Elegir entre un IDE avanzado y un editor de texto más simple puede ser difícil. Ofrecemos algunos conocimientos para ayudarle a tomar esa decisión. Leer más para este proyecto.

Cree un nuevo archivo y asígnele el nombre test.js, y guárdelo en algún lugar al que pueda acceder fácilmente desde la línea de comandos más adelante. El script comienza creando variables para las bibliotecas requeridas e inicializando Pulsar teclas biblioteca para escuchar los datos entrantes, junto con llamar a la Tablero() método para configurar el tablero.

var five = require ("johnny-five"); var keypress = require ("keypress"); pulsación de tecla (process.stdin); var board = new five.Board (); 

Tenga en cuenta que la configuración de la placa aquí es automática, no es necesario especificar puertos. Si tiene una configuración de puerto específica, o simplemente no tiene suerte con la detección automática, es posible que deba especificar su puerto explícitamente.

A continuación queremos “despierta” Nuestro tablero y configurarlo para el servocontrol. los tablero.en la llamada espera hasta que los pines Arduino estén listos antes de continuar. La biblioteca johnny-five tiene soporte para servos incorporados, y estamos llamando Servo.Continuo (10) en el pin 10 para permitir el control directo.

board.on ("ready", function () console.log ("Use las flechas Arriba y Abajo para CW y CCW respectivamente. Espacio para detener."); var servo = new five.Servo.Continuous (10); process. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

los proceso.stín las llamadas aseguran que todos los datos que recibimos del teclado se podrán utilizar en el siguiente bloque de código. Ahora queremos “escucha” para las pulsaciones de teclas y utilícelas para mover nuestro servo en el sentido de las agujas del reloj (CW), en sentido contrario a las agujas del reloj (CCW), o para detenerse en sus pistas.

 process.stdin.on ("pulsación de tecla", función (ch, tecla) si (! tecla) // si no se presiona ninguna tecla, regresar, es decir, no hacer nada. devolver; si (tecla.nombre === "q" ) console.log ("Quiting"); process.exit (); else if (key.name === "up") console.log ("CW"); servo.cw (); else else (key.name === "down") console.log ("CCW"); servo.ccw (); else if (key.name === "space") console.log ("Stopping") ; servo.stop ();); );

Asegúrese de incluir todos los corchetes de cierre en la parte inferior aquí, y consulte el bloque de código completo como se vinculó anteriormente si recibe algún error. Guarde este script y abra el símbolo del sistema.

Saludando hola!

Ahora navegue al directorio en el que ha guardado su script y ejecútelo escribiendo:

prueba de nodo.js

El programa debe comenzar de inmediato con información sobre la pizarra, antes de darle las instrucciones que se indican en el código. Intente presionar las teclas de flecha arriba y abajo, y la barra espaciadora, y Q para salir La pantalla debería verse así:

¡Y todo bien, el servo debería estar bailando a tus teclas! Mira esa pequeña ola bestia!

Principios humildes

A pesar de asumir un proyecto un poco más ambicioso que el habitual tutorial de LED parpadeante para principiantes, casi no hemos abordado el alcance completo de lo que se puede hacer con las placas Arduino y microcontroladores similares..

Los usuarios experimentados de JavaScript deben encontrar el paquete Johnny-Five intuitivo para trabajar. La biblioteca también se puede instalar en la Raspberry Pi de forma nativa, lo que la convierte en el paquete perfecto para los constructores de robots en ciernes..

Lo mejor de esta biblioteca es que, aunque está diseñada teniendo en cuenta a los robots, los mismos datos de entrada y salida se pueden usar para crear configuraciones inteligentes para el hogar. y los sensores para el hogar OpenHAB Smart cuestan una cantidad ridícula de dinero. Cablear una casa entera es el dominio de aquellos con cantidades tontas de ingresos disponibles. Vamos a construir nuestro propio con MySensors. Lea más e incluso los sistemas de seguridad elaborados en casa. DIY Smart Lock con Arduino y RFID DIY Smart Lock con Arduino y RFID Aquí se explica cómo construir un simple bloqueo inteligente basado en RFID utilizando un Arduino como elemento principal y algunos componentes baratos. Lee mas .

La comunicación con los microcontroladores de esta manera es una excelente introducción al mundo del hardware DIY sin tener que dedicar tiempo a aprender un nuevo lenguaje de programación. Diviértete ahí fuera, y si construyes un robot asesino, recuerda cómo te ayudamos en los primeros días..

Explorar más sobre: ​​Arduino, JavaScript.