Introducción a Cylon.js + Arduino

Kit Arduino UNO ultimate Robobrick
octubre 1, 2015
Show all

Introducción a Cylon.js + Arduino

La revolución de los robots ha llegado, aun recuerdo cuando hace algunos años hablar de programar algún robot, requería el aprendizaje de algún lenguaje de programación poco amigable, como ensamblador donde la documentación era escasa. Como si fuera poco el acceso a hardware era reducido y de muy difícil acceso.

Hoy las cosas han cambiado tenemos una gran variedad de tarjetas programables, como arduino, raspberry pi, Intel galileo, tessla, etc. Por lo cual  los lenguajes de programación han cambiado y  se han adaptado para  hacer más fácil la vida del programador. Uno de esos lenguajes es Javascript, en la actualidad hay  varios frameworks para programar robots Johnny Five y Cylon.js. Siendo este último sobre el que estaremos escribiendo algunos turiales.

Cylon.js demuestra que los robots del futuro (y del presente) se programan en JavaScript. Provee una API que permite desarrollar y comunicarse con distintos tipos de hardware. Entre ellos se encuentran Arduino, Raspberry Pi, Leap Motion, AR DRone o Intel Edison, etc.. Hay 26 tipos de tecnologías y dispositivos.

Para poder instalar Cylon.js es necesario tener instalado y configurado node.js y el gestor npm,  puedes visitar nuestro post de Como instalar Node.js  en windows 7.

Primero instalamos cylon.js a traves del gestor de paquetes de node.js npm. Vamos a creamos una carpeta llamada «cylon-ejemplos» quedando en la ruta C:\cylon-ejemplos.

Ahora abrimos el CMD de windows y vamos a la carpeta antes creada en la ruta C:\cylon-ejemplos, escribimos el siguientes comandos.

npm install cylon cylon-firmata

Necesitaremos algunos módulos para comunicarnos con el hardware arduino.

npm install cylon-gpio<br />
npm install cylon -i2c 

Ahora que tenemos instalado cylon.js necesitamos  habilitar la comunicación con arduino mediante la biblioteca firmata para eso abrimos el ide de arduino nos vamos al menú Archivo/Ejemplos/Firmata/Standarfirmata y lo descargamos a nuestro arduino.

Escribimos el siguiente código y lo guardamos como «hola-mundo.js».

//creamos un objeto  tipo Cylon
var Cylon= require("cylon");
//usamos el objeto robot de la clase Cylon
Cylon.robot({
	/*declaramos las conexiones de acuerdo al hardware que estemos utilizando,
	   en este caso estamos trabajando con un arduino conectado al puerto COM 27
    */
	connections: {
		arduino: { adaptor: "firmata", port: "COM27"}
	},
	/*declaramos todos los componentes electronicos que vamos a utilizar, leds, pushbutton, sensores, motores, displays, etc
	 asi como el numero de puero al que estan conectados
    */
	devices: {
		led: { driver:'led', pin: 7 }
	},
    /*en esta seccion programamos las funciones que necesitamos*/
	work: function(bot){
		//el helper every funciona como un delay, en este caso cada segundo esta repitiendo el codigo dentro de la funcion
		every((1).second(), function(){
			//el metodo toggle verifica el estado del led y ejecuta el estado contrario, si esta prendido lo apaga y si esta apagado lo prende.
			bot.led.toggle();
		});
	}
}).start();

.

Ahora vamos a la consola del cmd y ejecutamos el archivo hola-mundo.js de la siguiente manera

node hola-mundo.js

.

Comments are closed.