Hay muchas comunidades y cada vez más eventos de NodeBots alrededor del mundo; en eventos de JavaScript el grupo de interesados en controlar hardware ha ido creciendo (lo sabemos, la combinación HW + JS es genial) y siempre hay nuevos interesados y curiosos que tienen dudas acerca de cómo empezar.

¿Qué necesito antes de empezar?
Hardware
Se puede trabajar con muchos tipos de microcontroladores o minicomputadoras pero recomendamos que para empezar uses un Arduino Uno. Necesitarás varios materiales adicionales para dar los primeros pasos así que resulta mucho más fácil comprar un kit que incluya todo. Entre los kits que puedes comprar están:
-Sparkfun Inventor’s Kit for Arduino
-Adafruit ARDX - v1.3 Experimentation Kit for Arduino (Uno R3)
-Armar tu propio Kit
Toma en cuenta que si compras un kit estará pensado para que lo trabajes con el lenguaje e IDE de Arduino (Processing / Wiring), incluye un libro o manual para construir algunos circuitos básicos. Aunque esta forma de hacer las cosas es interesante aquí somos entusiastas de JavaScript por lo que nuestra sugerencia es que por el momento lo dejes a un lado y trabajes con Node.js
Software
Es necesario descargar e instalar el IDE de Arduino, node.js y npm. Es importante aclarar que no vamos a usar el IDE de Arduino para todo el proceso de programación sino solamente para un paso dentro del proceso de configuración del microcontrolador. Para trabajar Arduino con JavaScript usaremos johnny-five, una librería que nos facilita el proceso de controlar hardware con JS.
Revisa los pre-requisitos de tu sistema y desde la línea de comandos lo puedes instalar con:
Código :
npm install johnny-five
Firmata
Para la comunicación con el microcontrolador necesitamos que tenga un protocolo de comunicación llamado Firmata que nos permitirá controlarlo con JavaScript. Si tienes un Arduino Uno nuevo es muy probable que tenga instalado de fábrica Firmata y puedas omitir este paso y pasar directo a escribir tu primer programa usando Node.js y johnny-five.
Para instalar Firmata necesitas tener conectado tu board Arduino a la computadora a través de un puerto USB. Asegúrate de tener seleccionado en el IDE de Arduino el modelo adecuado y que haya reconocido el puerto que se utilizará para la comunicación.
Una vez tienes esto listo en el IDE de Arduino selecciona File > Examples > Firmata > StandardFirmata y luego haces clic en el botón Upload para transferir el código al microcontrolador.

¡Hola Johhny!
El “hola mundo” tradicional en el mundo del hardware es encender un LED, para ello necesitamos:
-Arduino (duh!)
-Protoboard
-LED
-Resistencia de 120 ohms
-Dos cables para conectar a positivo y negativo
Circuito

Crea un archivo nuevo llamado led.js y pon esto:
Código :
var five = require("johnny-five"), board = new five.Board(); board.on("ready", function() { // vamos a crear un LED en el pin 13 y a hacerlo parpadear por un segundo, el parametro que recibe son milisegundos (new five.Led(13)).strobe(“1000”); });
Al tener tu código listo lo ejecutas con:
Código :
node led.js

El resultado debería verse algo así.
Con suerte todo funcionó y te encuentras en un estado de éxtasis gritando OH POR DIOS ENCENDIÓ SOY MÁS GRANDE QUE ZEUS (si no funcionó puedes checar problemas comunes más abajo, no te deprimas).
¿Qué sigue?
Busca la comunidad de NodeBots más cercana y si no existe inicia una

Problemas comunes
Software
Asegurate que tu Arduino tenga Firmata, si no estás seguro si lo tiene revisa la sección de esta guía donde mencionamos como cargarlo al microcontrolador. Revisa también que tengas conectado tu microcontrolador y que tenga un puerto serial asignado por la computadora. En algunos casos, cuando usas Linux, es necesario ejecutar como superusuario por un problema de permisos para acceder al hardware, esto lo haces con:
Código :
sudo node led.js
Hardware
Si no colocas el resistor el circuito funciona, el LED enciende con intensidad brillante pero es muy probable que luego de un rato se queme y no queremos eso.
Si el LED enciende de una forma tenue es posible que la resistencia sea muy grande, recuerda la Ley de Ohm (I = V/R). Para el cálculo de la resistencia puedes usar esta página introduciendo los datos. La fuente de voltaje que provee Arduino son 5v, el voltaje y corriente del LED te lo dicen al comprarlo pero generalmente son estos valores:
LED Rojo: 2V 15mA
LED Verde: 2.1V 20mA
LED Azúl: 3.2V 25mA
LED Blanco: 3.2V 25mA
¿No enciende el LED? es posible que lo hayas conectado al revés, hay varias formas de asegurarse de haber conectado la polaridad de forma adecuada. La pata más larga del LED siempre será el ánodo (+) y en nuestro circuito va conectado al pin 13 del board Arduino. También puedes revisar el borde del LED, buscar la parte plana (8 en el diagrama) que identifica al cátodo (-) y asegurate que esté conectado a tierra (GND).

Recuerden que pueden contactarme en twitter por:
Adrián Catalán (@ykro)
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por juanvc123 el 21 de Agosto de 2014
Por Jesus Perales el 21 de Agosto de 2014
http://carlosazaustre.es/blog/programando-en-node-js-con-raspberrypi-primeros-pasos/
Por @sebazamoranoj el 21 de Agosto de 2014
Por RubénJames el 21 de Agosto de 2014
Por Alfonso3w el 28 de Agosto de 2014
Por stevensgarcia el 31 de Agosto de 2014
Fuera de lo curioso e interesante que puede ser experimentar con estos NodeBots, qué utilidad tiene esto en la vida real? Es decir, qué problemas puedo solucionar?, a qué mercado se podría dirigir esto?...
Hasta el momento solo veo aventureros por hobby, pero no le encuentro objeto de aplicación a la vida real, y me gustaría saber de quienes usan/crean NodeBots para qué pueden servir estos?
Muchas Gracias
Por JuraseC el 31 de Agosto de 2014
Por vickchelo16 el 03 de Septiembre de 2014
Por JuraseC el 10 de Noviembre de 2014
Saludos.
Por GeorgeGarcia el 20 de Abril de 2015
¿Se necesita algún modelo o tipo de arduino en especial?
Por debian789 el 29 de Abril de 2015
Por debian789 el 29 de Abril de 2015
Por christian1512 el 01 de Agosto de 2015
Por martiiin el 05 de Abril de 2016
Error: Cannot find module '/home/pi/proyecto/nodebot-sample-master/node_modules/serialport/build/Release/node-v11-linux-arm/serialport.node'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/pi/proyecto/nodebot-sample-master/node_modules/serialport/serialport.js:14:25)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
instale, (socket.io, express, serialport, y johnny five)