Hasta ahora en nuestra sección Hardware para novatos nos habíamos venido centrando en componentes bastante tradicionales, como las diferentes partes de un ordenador, los procesadores, e incluso las pantallas táctiles. Sin embargo, no todo en el mundo del hardware son los ordenadores tradicionales, smartphones y tablets.
En el mundillo de la informática hay una corriente que de a poco está ganando cada vez más fuerza. Se trata de las filosofías libres. En los últimos años el software libre ha ganado muchísimo terreno, desde el código que da vida a infinidad de sitios en Internet, hasta el sistema operativo más común en dispositivos móviles a día de hoy, todo construido sobre usando como base software de código abierto.
Hacer libre el software no es demasiado difícil. Solo hace falta que quién invierte tiempo desarrollando código esté dispuesto a compartir su tiempo y esfuerzo con otras personas de manera íntegra. El software es replicable con impresionante facilidad, cosa que no es tan sencilla de hacer con el hardware, por lo que pensar el hardware libre requiere tener mucha visión.
De eso se trata Arduino, un sistema que desde hace ya casi una década sirve como núcleo del hardware libre, y será el tema central de este Hardware para novatos.
¿Qué es Arduino?
Definir Arduino es complicado, muy complicado. Cuando hablamos de Android, por ejemplo, todos sabemos que se trata de un sistema operativo. Sin embargo, Android no es un único sistema operativo estático, cada fabricante lo implementa a su modo, e incluso la comunidad de desarrollo independiente ha puesto en Internet multitud de versiones del sistema operativo. Y hasta empresas como Nokia y Amazon utilizan Android sin siquiera mencionarlo.
Algo similar a lo descrito en el párrafo anterior ocurre con Arduino. Se trata de un microcontrolador, una placa, un pequeño sistema de procesamiento. Sin embargo, su condición de sistema libre ha propiciado tantas variaciones de lo mismo, que Arduino no es una pieza de hardware única, y de hecho podemos encontrar tantas configuraciones como desarrolladores dispuestos a hacer cambios en los esquemas puedan existir.
Pero claro, debemos cuando menos darle una razón de ser a Arduino. Para ello tenemos qué saber qué hace exactamente un microcontrolador. La respuesta, de nuevo, es que depende de la configuración. Así, encontraremos placas de Arduino capaces de dar vida a un teléfono móvil, un mando a distancia, consolas portátiles, y hasta cámaras fotograficas.
Para simplificar las cosas (y tomando alguna licencia), Arduino es el hardware libre y hardware libre el es Arduino.
Un poco de historia
Hasta hace relativamente poco, un estudiante de sistemas o electrónica tenía que enfrentar que uno de los grandes inconvenientes de su carrera es que para algunos proyectos hacía falta hacerse con placas y microcontroladores que como poco rondaban los 100 dólares. Ese tipo de precios ya era bastante complicado en el primer mundo para un estudiante, siendo que las cosas estaban mucho peor para los países en vías de desarrollo, donde en la mayoría de los casos directamente preferían pasar de estos proyectos.
Tomando en cuenta esto, Massimo Banzi y Hernando Barragan decidieron que había que hacer algo al respecto. Fue así como se pusieron manos a la obra para desarrollar una plataforma que fuera lo suficientemente completa como para competir con los costosos sistemas comerciales, pero que al mismo tiempo pudiera mantenerse ligera, económica y fácil de compartir por Internet.
Es así, como en la actualidad, Arduino y sus variantes, pueden ser adquiridos por entre 10 y 30 dólares, dependiendo de proveedores y distribuidores. Claro, los diseños también pueden ser directamente descargados de Internet de manera gratuita, y el usuario puede ensamblarlos y cargar el software necesario para hacer funcionar los microcontroladores.
¿Cómo funciona Arduino?
Como pasa con la mayoría de las placas microcontroladores las funciones de Arduino pueden resumirse en tres. En primera instancia, tenemos una interfaz de entrada, que puede estar directamente unida a los periféricos , o conectarse a ellos por puertos. El objetivo de esa interfaz de entrada es llevar la información al microcontrolador, la pieza encargada de procesar esos datos. El mentado microcontrolador varía dependiendo de las necesidades del proyecto en el que se desea usar la placa, y hay una buena variedad de fabricantes y versiones disponibles.
Por último, tenemos una interfaz de salida, que lleva la información procesada a los periféricos encargadas de hacer el uso final de esos datos, que en algunos casos puede bien tratarse de otra placa en la que se centralizará y procesara nuevamente la información, o sencillamente, por ejemplo, una pantalla o un altavoz encargada de mostrar la versión final de los datos.
De nuevo, Arduino es un sistema, y no una placa única. Por esto, el funcionamiento concreto dependerá del proyecto. Así, en un móvil hecho con Arduino tendremos varios microcontroladores, encargados de las conexiones de red, los datos necesarios para la entrada de números y mostrar información en pantalla, entre otras cosas. Así mismo, un reloj hecho con Arduino solamente haría falta un chip que cuantifique la hora y la muestre en una pantalla.
Como ya hemos dicho, Arduino es casi sinónimo de hardware libre, y con eso, estamos hablando de una de las plataformas más complejas y variables que podrían existir.