Proyecto I: Encendiendo un LED

Antes de empezar con los proyectos es necesario la instalación de nuestro Kit. El paquete viene con un soporte de madera que facilita la realización de los proyectos. Basta con atornillar nuestro Arduino Uno y nuestra placa de pruebas para tenerlo todo listo.

Arduino Uno

Arduino Uno y placa de pruebas

Instalar el entorno de desarrollo también es muy sencillo. En mi caso tanto en casa como en el trabajo utilizo Ubuntu. Los paquetes necesarios están incluidos dentro de Ubuntu Center con lo que basta con ejecutar el siguiente comando sudo apt-get install arduino.

Para comprobar que todo esta funcionando correctamente conectaremos el cable USB que viene en el paquete con nuestra placa. Si no hay problemas se encenderá un LED de color verde con la etiqueta ON y comenzará a parpadear otro de color naranja con la etiqueta L.

El siguiente paso es enviar un programa a nuestra placa. El IDE se arranca mediante el comando arduino. Primero hay que configurar el modelo de placa que utilizamos en el menú Tools->Board y luego el puerto al cual está conectada la placa Tools->Serial Port. Es posible que a la hora de configurar el puerto no nos aparezca ninguna opción disponible. Esto puede ser debido a que el usuario con el que estamos trabajando no tenga permisos de lectura sobre este dispositivo. Para arreglarlo basta con ejecutar el comando chmod a+rw /dev/ttyACM0. Es importante tener en cuenta que no necesariamente el puerto USB de tu equipo corresponderá con /dev/ttyACM0. Para averiguar que puerto debes utilizar puedes recurrir al comando dmesg | tail. Dentro de la salida que se muestra aparecerá el nombre del puerto.

Dentro del IDE vienen bastantes ejemplos que nos pueden ayudar a aprender sobre el funcionamiento de nuestra placa. De hecho la placa viene con un programa precargado que hace que se parpadeé el LED L. Para ver como es este programa ejecuta la opción File->Examples->Basics->Blink. Para comprobar que está funcionando correctamente vamos a hacer una pequeña modificación en el programa alterando la velocidad de parpadeo. Para ello basta con modificar las funcionas delay a nuestro gusto tal como se muestra en el programa que aparece a continuación.

Si todo funciona correctamente veremos como se carga correctamente el programa dentro de la placa y como se altera la velocidad de parpadeo.

Con el entorno en funcionamiento el primer proyecto que vamos a realizar encender un LED a partir de la energía que proporciona la placa. Para que sea un “poco” más complejo vamos a introducir un botón en el montaje que nos permita encender / apagar nuestro LED. Básicamente lo  único que tenemos que hacer es conectar un cable que envíe la corriente a nuestra placa de pruebas y otro que reciba la toma de tierra. Para evitar que el LED se funda con los 5V con los que trabajamos hay que incluir una resistencia de 220Ω. Posteriormente conectamos en nuestra placa el interruptor y el LED. Por último unimos por un cable la pata más corta de nuestro LED (cátodo) a la toma de tierra. Si está todo conectado correctamente nuestro LED se encenderá cuando mantengamos pulsado el botón en nuestra placa.

Encendiendo un LED con un botón

Encendiendo un LED con un botón

No quiero que me digas como usarlo

Uno de los temas que mas me interesan sobre la tecnología últimamente es la capacidad que tienen los hackers para decidir cual es la verdadera función de un objeto. Uno lo de los ejemplos más claros son los múltiples usos que se han hecho del controlador de videojuegos Kinect. Su misión inicial era para jugar con tu consola, la realidad es que artistas y creadores le están sacando muchísimo más partido que el originalmente pensado mediante sus hacks.

Uno de los proyectos que he visto que más me ha gustado ha sido Firewall de Aaron Sherwood. La instalación que hace uso de Processing, Max/MSP, Arduino y del mencionado controlador Kinect.

Unboxing del Arduino Starter Kit

Llevaba bastante tiempo intentando que cayera en mis manos algún microcontrollador de Arduino. Desde hace meses estoy trasteando con Processing y en muchos de los libros de arte interactivo/generativo que he estado leyendo incluyen capítulos donde hablan de esta tecnología.


unboxing 1

Para quien no sepa que es Arduino decir que a grandes rasgos que es una plataforma hardware open source que permite de manera muy sencilla crear prototipos de proyectos electrónicos. A cada microcontrollador se le pueden conectar sensores (de luz, de movimiento, etc) a modo de entrada que producen salidas sobre operadores (un led, un motor, un LCD). Para programar sobre Arduino se utiliza un lenguaje de programación llamado Wiring. Con Processing comparte el IDE y la filosofía, aunque Processing esta basado en Java y Wiring en C++.


unboxing 3
 

Una de las primeras cosas que nos llama la atención del Arduino Starter Kit es lo bien que está presentado todo. El libro de proyectos, las cajitas de los componentes o los accesorios en papel de los prototipos que puedes desarrollar dan miedo abrirlos por miedo a romperlo con tus manazas. El diseño está realizado por la agencia de interacción italiana Todo. Otra ventaja con respecto de este kit a otros disponibles como el Getting Started with Arduino Kit v3.0 de MakerShed es que incluye todo el material y las explicaciones para realizar 15 proyectos! Esto hace que sea el pack perfecto para empezar a trastear y pensar en aplicaciones mucho más potentes.


unboxing 4

unboxing 5

De momento el reto es hacer los 15 proyectos que incluye el paquete. Si todo va bien iré retrasmitiendo por aquí mis avances.

Hacks & Hackers presentan…Innovación en comunicación visual: vídeo e infografía interactiva

En los últimos años se ha multiplicado el contenido audiovisual en la red.  El auge del marketing de contenidos y la velocidad a la que los usuarios consumimos información han provocado una explosión de vídeo e infografías.

La interactividad es el siguiente paso. La visualización de datos otorga a los usuarios la posibilidad de analizar grandes cantidades de información y comprenderlas muy rápido de forma visual. En vídeo, la interactividad puede enriquecer las imágenes con información de contexto como ¿dónde está filmado? ¿quién es el protagonista? ¿dónde se puede  adquirir el traje que lleva?

El X Hacks & Hackers pretende analizar qué oportunidades brinda la interactividad para los contenidos audiovisuales. Se celebrará el jueves 13 de diciembre en el Centro de Innovación BBVA (Plaza de Santa Bárbara 2, Madrid), a las 19.30 h.

Para más información puedes visitar nuestra blog Hacks Hackers Madrid.

 

Quiero ser un buen programador ¿Qué puedo hacer?

El los últimos años se está produciendo un fenómeno muy curioso en nuestro país. Mientras cada vez se depende más de la tecnología y del software, cada vez hay menos gente que decide matricularse en carreras de informática. Analizar las causas por las cuales se está sucediendo esta situación daría para otro artículo, pero sin duda alguna una de ellas está en el desfase total que se está produciendo en lo que se enseña en en las universidades y lo que demanda el mercado laboral. Esta situación anómala está llevando a que cada vez haya más gente que se plantee autoformarse haciendo uso de plataformas online.

Con el lanzamiento de Khan Academy en el año 2006 se ha produjo un movimiento de innovación dentro la educación superior. Las universidades más prestigiosas del planeta están poniendo a disposición de cualquier persona con una conexión a Internet la posibilidad de enrolarse en algunos de los cursos que ofrecen de manera presencial. El proyecto edX, organización sin animo de lucro formada entre el MIT y la universidad de Harvard, tiene de manera abiertas cursos que van de la programación a la inteligencia artificial, pasando por cursos de electrónica o gráficos por ordenador. Cursos con el mismo contenido que se imparten en universidades como la de Berkley. Hasta la UNED ha decidido poner en marcha varios cursos dentro de su proyecto UNx.

Basados en este modelo de cursos online hay nuevas startups como Udacity o Coursera que están ofreciendo una plataforma online para aprender todo tipo de materias: Física, estadística o matemáticas y por supuesto todo tipo de cursos relacionados con el desarrollo software.

Si hablamos desde el punto de vista de la programación, también están apareciendo nuevas iniciativas que permiten aprender de una manera interactiva casi cualquier tecnologías relacionadas con el mundo web. En CodeAcademy es posible aprender JavaScript, Phyton o Ruby. También hay propuestas que intentan dar un giro al aprendizaje para que sean más divertidas. Para los fans de los zombies puedes aprender mientras conoces sus secretos con Rails para Zombies. Si por el contrario te gusta la filosofía Zen también tienes tu proyecto llamado Ruby Koans.

Pero la pregunta que surge es si realmente es posible convertirse en un buen programador haciendo uso solo de los recursos online que hay disponibles. Esta claro que la base teórica queda más que cubierta. Todos los lenguajes tienen miles de introducciones, tutoriales y posts a nuestra disposición. Si nos quedamos atascados podemos hacer usos de plataformas como StackOverflow que incluyen millones de preguntas y respuestas para casi cualquier duda imaginable. El problema está en que con todo eso solo nos quedamos en la primera capa de la programación. Con eso uno no se convierte en uno de esos programadores estrella de facebook o google que ganan $150000.

Técnicas de desarrollo como TDD (en castellano Desarrollo guiado por pruebas) o BDD (Desarrollo guiado por comportamiento), la filosofía ágil con el eXtreme Programming (XP), deben estar en el ADN del buen programador. Conseguir estas capacidades es mucho más complicado que programar nuestro primer blog. Aprender realmente a sacar provecho a estas técnicas para ofrecer un producto de calidad, es muy complicado solo haciendo uso tutoriales web. Trabajar en proyectos donde estas prácticas sea de debido cumplimiento es la forma optima de interiorizarlos en nuestra forma de programar y permitirnos dar el salto al siguiente nivel.

Pero entonces, si en las universidades no me dan respuesta y tampoco tengo la posibilidad de estar dentro de un equipo de alto rendimiento que me ayude a convertirme en un gran programador ¿Qué puedo hacer para convertirme en un verdadero profesional del desarrollo software?

Sinceramente creo que la única forma que existe es dentro de las aulas o de las salas de conferencias, pero no de las universidades, sino de la mano de profesionales del sector con experiencia probada tanto en multinacionales como en pymes, que están día a día viviendo la realidad del mercado. Profesionales que te pueden ayudar a enfocar al punto justo de las necesidades del mundo del desarrollo software. Mentores que te ayuden a ampliar tus conocimientos, y no solo de programación, también de usabilidad, ecosistemas de desarrollo o arquitectura de sistemas. El abanico es tan grande y amplio que sin enfoque claro que te ayude a desenmarañar lo importante de lo superficial es muy difícil convertirse en ese buen programador que todos quieren ser.

Próximo Hacks & Hackers Madrid: La información no espera a los medios

Informarse únicamente a través de los medios de comunicación tradicionales – y sus extensiones digitales – hace tiempo que quedó atrás. Es sólo una opción. Las redes sociales, las webs independientes, los blogs y las plataformas de contenido generado por el usuario (UGC) ofrecen también información valiosa. En muchas ocasiones, además, se adelantan a los medios. Es el caso de Jonan Basterra, que fotografió a Rajoy paseando por Nueva York mientras fumaba un puro y la colgó en su celebre blog Pixel y Dixel. En el próximo Hacks & Hackers, Basterra estará acompañado de los responsables de  la exitosa página de Resultados-futbol.com, que cuenta con una enorme comunidad de usuarios, y la empresa Ubiqa, que pone a disposición de los ciudadanos herramientas para generar contenidos. La cita es el 8 de noviembre en el Centro de Innovación de BBVA.

Como siempre puedes inscribirte en el meetup de Hacks & Hackers Madrid.

Hacks & Hackers Madrid: Nuevos Flujos de Información: Publica, Comparte, Opina

Este jueves volvemos con una nueva edición de Hacks Hackers Madrid. Corto y pego la info del evento.

La inmediatez de la radio y la televisión ha convivido en armonía durante mucho tiempo con la lectura sosegada del papel. Internet ha sido un medio disruptivo, que primero dejó obsoleta la noticia de ayer, pero que con el auge de los medios sociales y el empoderamiento ciudadano ha terminado por transformar y enriquecer la información, alargando de nuevo la vida de una noticia para su público de interés.

El recién nacido Eldiario.es, la plataforma Karmacracy –que permite a sus usuarios comprobar la relevancia de los enlaces que comparten– y  Fixmedia.org, una plataforma de verificación de datos a través del ´crowdsourcing´ serán los invitados del X capítulo madrileño de Hacks & Hackers, que se celebrará el 4 de octubre en el Centro de Innovación de BBVA.

Mas

Midiendo la felicidad

Estaba leyendo un articulo llamado  10 charlas de TED para startups y justo la primera charla que aparece habla sobre como es necesario medir la felicidad de un país en lugar de centrarse en el PIB. Casualmente llevo unos días tomando datos para un experimento que me ayude a medir mi felicidad. Cuando lleven varios meses mostraré los resultados, mientras tanto no puedo más que recomendar que veas la charla.

Arte generativo

He de reconocer que hasta hace muy poco lo único que tenía en la cabeza era montar proyectos, posibles startupso apps que podrían revolucionar la vida de millones de ciudanos. La verdad que al final he terminado pocos de estos proyectos de fin de semana, el día a día en mi trabajo ya me permite trabajar en este tipo de ideas y hacer lo mismo en mi tiempo libre tampoco me aportaba mucho.

De un tiempo a esta parte cuando tengo un rato libre me dedico a jugetear con el lenguaje Processing, tanto en tu versión normal como en su versión en JavaScript. Processing es un lenguaje muy utilizado para la creación de proyectos multimedia o de diseño digital. De momento estoy conociendo su potencia y admirando alguno de los proyectos tan interensantes que se pueden realizar con él.

Moda: el último gran negocio del mundo editorial

Tras el parón por la huelga, volvemos el próximo 26 de abril al centro de innovación BBVA con una nueva edición de Hacks Hackers Madrid. En esta ocasión el título que hemos puesto es “Moda: el último gran negocio del mundo editorial”. Como invitados tendremos a dos startups: ModaEs y Chicisimo, y la bloggera/presentadora Laura Hayden.

Si quieres tener información más detallada visita la página de MeetUp de Hacks Hackers Madrid. Recuerda que para acceder a la charla es necesario que nos envies tu DNI.