Codebender, programa Arduino desde la web

Sin duda los web IDE’s se han vuelto muy populares hoy en día y para Arduino no pudo ser la excepción. En esta ocasión te presentamos Codebender, una plataforma (no oficial de Arduino) con la cual podrás programar casí cualquier Arduino desde la web, y digo casí por que estoy seguro que abarca 99% de toda la famila Arduino.

Codebender se describe bajo el moto de “code fast, code easy” (programa rápido, programa fácil) y realmente es que están haciendo un gran trabajo estos chicos. Esta plataforma nos permite escribir código, compilarlo, mandarlo a nuestro Arduino y además compartir nuestro código.

Screen Shot 2014-09-18 at 4.15.25 PM

Codebender fue inspirado en todas aquellas personas nuevas con Arduino y que tienen que gastar mucho de su tiempo descargando/configurando su IDE de Arduino. Con esta plataforma se vuelve todo más simple, solo tienes que crear una cuenta, descargar un par de drivers para tu browser y listo, puedes programar tu Arduino. Las ventajas de esto es que todo vive en la web al igual que tus proyectos así que no tienes que preocuparte por tus archivos nunca más. El problema de los drivers y sistemas operativos está resuelto, solo necesitas un web browser y ya (te recomiendo Google Chrome o Mozilla Firefox).

Prueba esta plataforma y también tu quedarás enamorado. Es muy sencilla de configurar, la misma aplicación web te va ayudando.

 

Instalación de NodeJs

nodelogo

Node.js es una plataforma de desarrollo Web que trabaja del lado del servidor ejecutando código en Javascript, un lenguaje muy popular en la elaboración de aplicaciones Web, NodeJs se ha convertido en uno de los favoritos por su enfoque en la programación asíncrona, proporcionando información únicamente cuando esta se actualiza y sin tener que hacer peticiones innecesarias algo que mejorar por mucho el rendimiento de nuestras aplicaciones en la nube.

¿Pero por que hablamos de ello en Hardware Hacking MX?, bueno pues en realidad NodeJs no solo se encuentra ganando terreno en el desarrollo de Software, si no también en la implementación de Hardware, al “correr” del lado del servidor nos da acceso a los diferentes periféricos de una computadora lo que incluyendo al puerto USB, que como ya sabemos es el medio de comunicación mas usado por las plataformas electrónicas con la que jugamos a diario.

Su instalación es muy sencilla, en la pagina oficial podemos encontrar ejecutables para los diferentes sistemas operativos (descargas):

nodedownloads

 

Para Windows y Mac solo hay que ejecutar el instalador y seguir los pasos en pantalla, para el caso de sistemas Linux se requieren algunos pasos extra, por esta ocasión describiremos como hacerlo en Ubuntu.

A partir de la versión 12.04 ya podemos encontrar el paquete en los repositorios, así que desde cualquier Terminal tecleamos:

Si por alguna razón no se encuentra el paquete de instalación o si cuentan con una version anterior, podemos seguir los siguientes pasos:

Para comprobar la correcta instalación podemos teclear en la misma terminal node –version y nos mostrara la version del paquete instalado, 0.10.26 hasta el día de hoy.

Adicionalmente la instalación incluye un gestor de paquetes llamado NPM que se incluye en NodeJs a partir de sus versiones mas recientes, podemos verificar su instalación capturando npm –version, y es todo!

Con esto tendremos preparado el terreno para un par de proyectos que tenemos pensados compartir en #HHMX 🙂

 

 

Arduino Makey Makey!

Makey Makey es un  proyecto Open Source basado en Arduino, construido con el mismo microcontrolador que hoy posee un Arduino Leonardo, básicamente consiste en convertir casi cualquier objeto en un periférico táctil para interactuar con nuestra computadora a manera de teclado.

El truco de este pequeño pero interesante proyecto consiste en crear una muy alta resistencia en la entrada de cada Pin a utilizar que a su ves estará conectada a 5v, una segunda resistencia que se formara por algún objeto que queramos usar como tecla y nuestro propio cuerpo, el cual se conecta de alguna manera a Tierra :), al hacer contacto con alguno de nuestros dedos y la “tecla” se crea un divisor de voltaje en mayor o menor medida, evento que sera reconocido por el microcontrolador y mandara via USB el comando seleccionado a ejecutar.

Para poder hacernos de este teclado muy geek!, tenemos algunas opciones, una de ellas es comprar el kit ya ensamblado y listo para usar, y otra como buenos Hardware Hackers que somos pues construirlo :), veamos como hacerlo.

No se requiere de nada complicado para poder construirlo, prácticamente el firmware lo hace todo, así que que para empezar ocuparemos un Arduino Leonardo o algún derivado que incluya el ATmega32U4 como microcontrolador, y resistencias de entre 10 y 50 Mega Ohms.

La siguiente imagen muestra el diagrama de conexiones, hemos utilizado una resistencia de 20MOhms o pueden ser 2 de 10M ya que son mas fáciles de conseguir para cada pin a utilizar, y dejamos expuesto uno mas para la Tierra o GND donde podremos conectar o aterrizar nuestro cuerpo.

MakeyMakey

Y eso es todo para la parte de Hardware :), simple no?, solo nos quedaría cargar el firmware, nada complicado, simple y sencillo como se carga cualquier Sketch de Arduino, solo asegúrense de seleccionar la placa correcta en el menu (Arduino Leonardo).

Enseguida podemos encontrar el sketch, hemos echo pequeñas modificación en base al original solo para hacer la edición mas sencilla, a partir de la linea 45 encontramos los arreglos int keyCodes[NUM_INPUTS] y int pinNumbers[NUM_INPUTS] que corresponden al evento de teclado y al pin respectivamente, si quisiéramos agregar mas eventos habría que listarlos en estos arreglos, a partir de la linea 87 encontraremos listados los eventos de teclado que podemos utilizar.

En el ejemplo utilizamos algunos conectores de “caiman” para conectar los pines a unas bolas de Play-Doh, seguramente el ejemplo mas visto en internet :),  y una pulsera de las utilizadas para aterrizarnos cuando trabajamos con electronica, ojo! solo usamos la pulsera ya que el conector viene con una resistencia que se estaría agregando a la ecuación, ocasionando que probablemente no funcione.

Donde comprar:  Sparkfun

Sketch oficial:  Github