Lo que necesitas saber sobre arduino

Arduino. Si navegas por internet te habrás encontrado esa palabra. Y es que ahora que es posible automatizar cualquier cosa, para hacer agentes autónomos (llámales si quieres Robots), 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.

ar1

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.

ar2

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  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 enWiring) 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.

ar3

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.

Lo que necesitas saber sobre arduino

¿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 interfazentre 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:

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 de mas abajo, 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, …

ar4

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.

ar5

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *