Paso 4: Escribir el código
Como estamos usando Node.js y Johnny y cinco de este laboratorio podemos aprovechar de la dependencia las capacidades de gestión que Node.js. Necesitamos que nuestra aplicación sepan que tiene una dependencia en el marco de Johnny y cinco para que cuando la aplicación está preparada para su ejecución, puede obtener las dependencias necesarias para nosotros. En Node.js esto se hace con un archivo package.json . Este archivo proporciona algunos meta-datos básicos sobre la aplicación, incluyendo cualquier dependencia en paquetes que se pueden recuperar usando el administrador de nodo de paquete (MNP).
Usando su editor de texto/código preferido/preferred (yo prefiero el Código de Visual Studio), crear un archivo en la carpeta taller denominada package.json y agregar lo siguiente:
{ "name": "labs", "repository": { "type": "git", "url": "" }, "version": "0.1.0", "private": "true", "dependencies": { "johnny-five": "^0.8.0" } }
Con el package.json archivo creado puede usar MNP para tirar abajo los módulos necesarios del nodo. Abrir una ventana de terminal (Mac OS X) o Node.js el símbolo del sistema (Windows) y ejecutamos los siguientes comandos (Reemplace c:\Development\IoTLabs con el camino que conduce a la carpeta de taller):
cd C:\Development\IoTLabs npm install
A continuación creará el código de la aplicación para hacer la vuelta de LED de encendido y apagado.
Crear otro archivo en el mismo directorio con el nombre lab001.js.
Lo primero que tienes que hacer es definir los objetos que va a trabajar con la aplicación. Las tres cosas que son un objeto de marco de Johnny cinco, un objeto para representar el Arduino, y el pin de salida del LED se conectará a.
var five = require("johnny-five"); var board = new five.Board(); var LEDPIN = 13;
Ahora que los objetos se crean, usted puede llegar a la carne de la aplicación. Johnny-5 proporciona una construcción de inicialización de junta que hace que una devolución de llamada cuando el tablero está encendido e inicializado (arrancado). En la devolución de llamada de función es donde se ejecuta el código de la aplicación.
Johnny-5 proporciona una colección de objetos que representan a la Junta, los pernos de la Junta y varios tipos de sensores y dispositivos que pueden conectarse a la Junta. Para este laboratorio va a escribir código que es bastante fiel al base modelo de programación de Arduino C (vamos a llegar a lo que Johnny y cinco nos proporciona más adelante). Esto le ayudará a algunos de los conceptos básicos para entender cómo un Arduino Yun.
En el código siguiente se crea una función de devolución de llamada que se invoca cuando se inicializa el Arduino y listo (esto es un concepto Johnny cinco). Se establecer pin digital 13 (la variable LEDPIN arriba) como un pin de salida (vs. una clavija de entrada), lo que significa que la aplicación espera enviar voltaje del pin como leer el voltaje entrante al pin. Luego creará un bucle que se ejecuta una vez por segundo y dentro que lazo le escribirá hacia fuera con el conector de bajo o alto voltaje. Desde el pin 13 es de un pin digital, sus únicas opciones son 0 y 1 - en el mundo de Arduino que es baja y alta. Cuando usted envía 0 (o bajo) el pin, es equivalente a off (no hay tensión de envío). Cuando usted envía 1 (o alta) con el conector que es equivalente a (envío tensión plena).
board.on("ready", function(){ // Set pin 13 to OUTPUT mode this.pinMode(LEDPIN, five.Pin.OUTPUT); // Create a loop to "flash/blink/strobe" an led var val = 0; this.loop( 1000, function() { this.digitalWrite(LEDPIN, (val = val ? 0 : 1)); }); });
Johnny y cinco tiene realmente un modelo de objetos para un LED y podríamos también haber simplemente hecho lo siguiente, pero quería ver cómo funciona la función digitalWrite() antes abstrayendo lejos.
board.on("ready", function() { var led = new five.Led(LEDPIN); led.blink(1000); });