Guía del Arduinomaníaco: todo lo que necesitas saber sobre Arduino

Arduino. A poco que hayas navegado por internet te habrás encontrado esa palabra. Y es que ahora que es posible automatizar cualquier cosa, para hacer agentes autónomos (si queréis llamarles Robots también), controlar luces y dispositivos, o mil cosas que se os pueda ocurrir fabricar podéis optar por una solución basada en Arduino, una familia de placas y software que comparten nombre pero que son legión.

Empezamos por el principio y despacio, por favor. ¿Qué es exactamente Arduino?

No es la primera vez que hablamos sobre Arduino en Xataka, pero como es verano y da pereza eso de ir saltando de enlace en enlace vamos a verlo todo desde el principio. Arduino es una plataforma de electrónica "open-source" o de código abierto cuyos principios son contar con software y hardware fáciles de usar. Es decir, que promete ser una forma sencilla de realizar proyectos interactivos para cualquier persona. Y cuando digo cualquiera, es cualquiera, ya que internet está literalmente plagado de proyectos con Arduino, como veremos más adelante.

Como digo, Arduino es tanto software como hardware, y aquí viene la primera diferencia con otras placas y microcontroladores. Los entornos de desarrollo y lenguaje de programación de Arduino y las placas en las que se ejecutan han sido desarrollados de la mano, por lo que tenemos asegurada tanto la compatibilidad como la sencillez de desarrollo sobre ellas.

Software Arduino

Si nos centramos en el software, debéis saber que contamos con un IDE para casi todas las plataformas (Windows, Linux, Mac). ¿Y qué es un IDE? Bueno, son las siglas de Integrated Desktop Development Environment, o entorno de desarrollo integrado en cristiano. Un lugar donde podemos escribir nuestras aplicaciones, descargarlas al Arduino y ejecutarlas o depurarlas desde allí. El entorno de desarrollo es gratuito y descargable desde aquí. En resumen, el proceso pasa por descargarnos e instalar el IDE correspondiente a nuestra plataforma, trastear un poco siguiendo los tutoriales o simplemente hacer "corta y pega" del código que nos interese (aunque esto realmente es como desvelar el final de una buena película, es decir, que tiene poca gracia) y ya tenemos gran parte del trabajo hecho. O al menos en cuanto a software, porque la gracia de Arduino es precisamente la interacción del software con el hardware.

Aprender el lenguaje de programación es sencillo, sobre todo si ya tienes experiencia en otros lenguajes de programación como C o Java ya que Wiring / Processing para su programación se basa en ellos. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Tienes más información sobre el mismo aquí.

Hardware Arduino

Y ahora hablamos de hardware. Hay infinidad de placas basadas en Arduino. Como os decía, es hardware "Open-source", así que cualquiera que quiera hacer una placa puede hacerlo. Y por ello tenemos Arduino de todos los colores, tamaños y con funciones propietarias de lo más diverso, y también productos que sin ningún pudor están basados en Arduino para controlar a su vez distintos dispositivos, integrados en el producto o no.

Volvamos al principio. El hardware Arduino más sencillo consiste en una placa con un microcontrolador y una serie de puertos de entrada y salida. Los microcontroladores AVR más usados son el Atmega168, Atmega328, Atmega1280, y Atmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños, aunque también nos encontramos microcontroladores CortexM3 de ARM de 32 bits,5 que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR son plataformas diferentes, pero gracias al IDE de Arduino los programas se compilan y luego se ejecutan sin cambios en cualquiera de las plataformas. Corrección: Nuestro Lector fr0gdev nos comenta que hay ciertos problemas de compatibilidad de librerías entre plataformas, así que habrá que tenerlo en cuenta a la hora de elegir placa Arduino.

La diferencia entre los distintos Arduino la encontraremos por un lado en la tensión utilizada en las placas. Generalmente las microcontroladoras con CortexM3 tienen un voltaje de 3,3 voltios, mientras que la mayor parte de las placas con AVR utilizan una tensión de 5 voltios. Esto luego es fundamental para utilizar lógica TTL (frente a lógica CMOS) por ejemplo, lo que abre la posibilidad de utilizar chips baratos y complementar el Arduino con alguna funcionalidad externa. También hay placas que pueden conmutar el voltaje, así que tampoco es un factor determinante para seleccionar una placa u otra. Y, por otra parte, el número de conexiones, procesador utilizado, memoria y, sobre todo, el número de entradas y salidas y la posibilidad de alimentar distintos elementos desde la propia placa Arduino.

Hay placas que incluso no necesitan drivers para Linux o para Mac, como las basadas en el chip ATmega8U2 (un ejemplo es el Tosduino Uno R3), siendo detectado por dichos ordenadores como un periférico más.

Vale, ¿para qué sirve Arduino?

Arduino se puede utilizar para desarrollar elementos autónomos, o bien conectarse a otros dispositivos o interactuar con otros programas, para interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un elemento, pongamos por ejemplo un motor que nos suba o baje una persiana basada en la luz que haya y gracias a un sensor conectado al Arduino, o bien para transformar la información de una fuente, como puede ser un teclado, y convertir la información a algo que entienda por ejemplo un ordenador.

Así, podemos catalogar los usos que podemos darle a Arduino en dos grandes grupos:

  1. Aquellos en los que el Arduino es utilizado como microcontrolador, tiene un programa descargado desde un ordenador y funciona de forma independiente de éste, y controla y alimenta determinados dispositivos y toma decisiones de acuerdo al programa descargado e interactúa con el mundo físico gracias a sensores y actuadores. Un ejemplo sería este uso de Arduino para el control de este agente autónomo que sigue una línea:

  2. La placa Arduino hace de interfaz entre un ordenador (como podría ser una Raspberry Pi) u otro dispositivo , que ejecuta una determinada tarea, para traducir dicha tarea en el mundo físico a una acción (actuadores). Y viceversa, gracias a sensores que están conectados a la placa Arduino podemos hacer que el ordenador ejecute determinada acción. Por ejemplo esta placa de Pimoroni para simplificar la creación de un cabinet de videojuegos:

En Xataka ya hemos visto unos cuantos ejemplos de proyectos con Arduino, y como veis todos ellos pertenecen a una de las dos categorías anteriores.

Os dejo otro proyecto para que podáis comprobar una posibilidad interesante para ser usado en un vehículo como ordenador de a bordo y con sensores de aparcamiento.

Hablemos de placas Arduino y de sus famosos escudos o mochilas (Shields)

¿Que quieres un poco de Arduino? Pues ahí tienes unas cuantas placas por donde empezar y elegir. Como podéis ver en el gráfico anterior, tenemos placas más sencillas, placas Arduino con características mejoradas, Arduino orientado al internet de las cosas, y también Arduinos pensados para llevar encima o "vestibles" (Wearable en inglés) y otros pensados específicamente para el control de impresoras 3D. Vamos, que si pensabas que Arduino era una placa y que había poca variedad donde elegir, ...

Y si las placas Arduino son numerosas, más todavía lo son sus escudos o mochilas (Shields), tan importantes como el escudo del Capitán América para el superhéroe de Marvel. Gracias a los shields podemos contar con infinidad de funciones, como GPS, relojes en tiempo real, conectividad por radio, pantallas táctiles LCD, placas de desarrollo, y un larguísimo etcétera de elementos. Incluso hay tiendas con secciones especializadas en dichos elementos.

Venga, ya me has convencido. Ahora, ¿Por dónde empiezo?

Para empezar a hacer nuestros pinitos con Arduino tenemos que tener claro qué queremos hacer. Existe una infinidad de fuentes en Internet de las cuales beber y ampliar conocimientos. Para rizar el rizo, con la cantidad de placas Arduino existentes y su especialización debemos saber qué queremos hacer antes de comprar en caso de proyectos más complejos. Para obtener una lista completa casi lo mejor es ir a la Wikipedia y ver todos los modelos existentes, o evidentemente ir a su página oficial.

Para simplificaros los primeros pasos, lo normal es ir hacia una placa sencilla. El modelo más utilizado es el Arduino UNO r3, o al menos el que más veréis en proyectos de internet. Tiene un buen número de entradas y salidas y probablemente estaréis más que contentos dando vuestros primeros pasos con dicha placa.

Si por el contrario ya sabéis algo, habéis enredado lo suficiente y/o necesitáis controlar un buen número de motores, motores paso a paso, hacer una impresora 3D, ... lo suyo es ir a un Arduino MEGA r3, aunque luego para rizar el rizo podemos utilizar un Arduino Uno y un controlador de múltiples servomotores, como por ejemplo en este proyecto de un original reloj digital en 3D.

A lo mejor queréis fabricar un dispositivo "vestible", algo que consuma poca energía y que tenga un uso determinado, para ello nada mejor que optar por una placa mini. Prestad especial atención a las placas ofrecidas por Adafruit en esta categoría, ya que tienen auténticas "virguerías" y una buena cantidad de tutoriales para hacer cosas tan chulas como control de led multicolores para llevar encima, cascos para ciclistas y mil cosas más.

Si queremos simular la programación de un Arduino, podemos hacerlo gracias a VirtualBreadBoard, un entorno de simulación y desarrollo de aplicaciones embebidas para microcontroladores. Es capaz de simular diverso hardware, como Arduino, Netduino, botónes, LCDs, etc.

Otra recomendación, si lo que queréis es hacer un proyecto que integre Arduino con Robótica, Makeblock tiene unos excelentes kits de desarrollo y todas las piezas habidas y por haber para hacer dichos proyectos. Es más, podéis hacer desde impresoras 3D, grabadoras láser, plotters, robots, etc. con unas piezas de una calidad asombrosa y fabricadas en aluminio y placas Arduino Leonardo.

Y la última recomendación, comparad precios y buscad también en tiendas "chinas" para la adquisición de elementos en internet. Hay una gran diferencia de precios y si no os importa esperar un poquito más en el envío podéis ahorraros bastante dinero. Como ya comentamos en la entrada sobre la Guía de Verano de Raspberry Pi, todavía queda tiempo para aprender y trastear antes de la vuelta al cole (o al trabajo). Aprovechadlo bien.

Más información | Arduino En Xataka | 13 proyectos asombrosos con Arduino para ponerte a prueba y pasar un gran rato

Ver todos los comentarios en https://www.xataka.com

VER 17 Comentarios

Portada de Xataka