in

Arduino: Primeros pasos en hardware abierto

Arduino es una plataforma de hardware abierto cuyo componente principal es una sencilla placa con entradas y salidas analógicas y digitales. Dado su carácter de código abierto, y su extrema simplicidad, se ha vuelto el favorito de muchos estudiantes y hobbystas. En NeoTeo preparamos este artículo para que tú también puedas comenzar a utilizarlo.

Arduino puede ser usado para desarrollar proyectos  interactivos

Arduino es una herramienta excelente para introducirse en el campo de la programación en general y de los microcontroladores en particular. Es muy probable que si estas leyendo este artículo, en algún momento hayas intentado poner en marcha algún proyecto que involucrase alguna clase de microcontrolador. Habrás notado que para diseñar un circuito microcontrolado necesitas un montón de cosas: la hoja de datos del micro, un programador adecuado, un compilador, un software que pase tu programa al micro, etc. Además, necesitas conocimientos de electrónica suficientes como para poder diseñar el circuito que asiste al microcontrolador. Bien, con Arduino la mayoría de estas cosas no hacen falta, ya que alguien lo ha hecho antes por ti.

El equipo de desarrollo de Arduino lo componen Massimo Banzi, David Cuartielles, Tom Igoe, David Mellis y Nicholas Zambetti. Cuando decimos “Arduino” nos estamos refiriendo a una plataforma abierta, que puede ser utilizada tanto para el aprendizaje como para automatizar prácticamente cualquier proceso en el mundo real. La plataforma está  basada en una simple placa de circuito impreso y un entorno de desarrollo (IDE). Arduino puede ser usado para desarrollar proyectos  interactivos y autónomos,  o bien puede conectarse a un ordenador para ser controlo por este. En ese caso, el software del ordenador puede estar programado en prácticamente cualquier lenguaje o plataforma.

El hardware
Los diseños de Arduino son libres. Esto significa que cualquier persona puede fabricarse su placa de circuito impreso y montarse un Arduino a partir de los esquemas publicados en la Web. Si no tienes los conocimientos necesarios para hacerlo, o no quieres perder el tiempo en ello, los creadores tienen placas fabricadas y montadas industrialmente, que venden a muy bajo precio.

El corazón de Arduino es un microcontrolador Atmel ATMega8. El circuito es el que ves en la imagen siguiente:

También se ha previsto un pulsador de RESET

Como puedes ver, es un circuito bastante simple. De hecho, el módulo principal solo contiene el microcontrolador, la fuente de alimentación y una sencilla interfaz serial (RS-232). Esta interfaz puede ser utilizada  para la programación del micro alojado en la placa y para comunicarse con otros elementos externos que utilicen el puerto serie, ordenadores incluidos.

También se ha previsto un pulsador de RESET (cuando todo falla, ¡dale al RESET!), un conector ISCP y pines que conectan las entradas y salidas (analógicas y digitales) del microcontrolador con el exterior. Estos pines son los que permitirán conectar a nuestro Arduino aquellos circuitos que queramos controlar con él.

Hay una versión que reemplaza el puerto serie RS-232 por uno USB.

El circuito que hemos puesto corresponde a la versión más sencilla de Arduino. En realidad, hay varias alternativas a la hora de armar tu placa. Existen versiones que incorporan una zona de prototipos, en las que se pueden soldar más componentes para hacer pruebas y proyectos más complejos (aunque no dispone de puerto serie ni USB, así que necesitaras de otra placa para programar el chip); o incluso una versión que reemplaza el puerto serie RS-232 por uno USB. Esta última es algo más compleja de montar, ya que requiere de un chip adaptador con cápsula SMD.

Sea cual fuese tu elección, en el sitio oficial de Arduino encontrarás los esquemas eléctricos y el diseño del PCB como para que puedas ponerte manos a la obra sobre seguro.

Wiring es un subconjunto de C

Programando Arduino
Una vez que te has hecho con tu Arduino necesitas programarlo. Un microcontrolador sin un programa que lo haga funcionar no es mas que un trozo de plástico, silicio y metal, por lo que deberás escribir software para él. El lenguaje de programación de Arduino se llama Wiring y es un subconjunto de C, con unas librerías de entrada/salida especialmente diseñadas para el chip Atmel. Wiring es además un entorno de desarrollo realizado a partir de Processing, un lenguaje de programación basado en Java para hacer aplicaciones visuales. Todo, tanto el IDE como el compilador (que es GCC) es software libre bajo licencia GPL.

Al ser un subconjunto del lenguaje C, la estructura de un programa en Wiring no deberia resultarte demasiado difícil de comprender. Cualquiera que alguna vez haya escrito un programa en otra plataforma podrá comenzar a trabajar con Arduino rápidamente. Si nunca has programado, puedes empezar leyendo este tutorial. ¡Es muy fácil!

Veamos un ejemplo simple. Generalmente, el primer programa que escribimos al estudiar algún lenguaje de programación de ordenadores es el que al ser ejecutado escribe la frase: "¡Hola Mundo!" en la pantalla. En Arduino no tenemos pantalla, así que el programa de ejemplo típico consiste en hacer parpadear un LED conectado entre el pin 13 (que en la placa Arduino posee un resistor de 1K en serie) y el pin 3 (GND):

El código del siguiente ejemplo es muy sencillo y ha sido copiado de la página oficial de Arduino. Los créditos de quienes lo escribieron se encuentran dentro de los comentarios incluidos en el programa.

/* LED PARPADEANTE* —————** Enciende y Apaga un LED (Diodo Emisor de Luz) conectado a un pin * digital en intervalos de 2 segundos. Usamos el pin 13 de la placa* Arduino ya que este usa una resistencia que nos permite conectar* un LED directamente.** Creado Junio, 1 2005* copyleft 2005 DojoDave http://www.0j0.org* http://arduino.berlios.de** basado en un original de H. Barragan para la placa Wiring i/o board*/
ledPin = 13;                   // LED conectado al pin 13
void setup() { pinMode(ledPin, OUTPUT);      // asigna el pin digital pin como output (salida)
}
void loop() { digitalWrite(ledPin, HIGH);   // enciende el LED (on) delay(1000);                  // espera por un segundo digitalWrite(ledPin, LOW);    // apaga el LED (off) delay(1000);                  // espera por un segundo
}

Como puede verse, programar en Wiring no es especialmente complicado.

Conclusión
Arduino pone a tu alcance la posibilidad de comenzar a utilizar microcontroladores. A diferencia de otras alternativas, con Arduino no tienes que gastar un solo euro en licencias, ya que tanto el software como el hardware que vas a utilizar son libres y gratuitos. Además, existe una gran comunidad de usuarios compartiendo sus experiencias, que seguramente estarán encantados de ayudarte en tus comienzos. Como puedes ver, acabas de quedarte sin excusas para iniciarte en este apasionante hobby.

Reportar

¿Qué te pareció?

Escrito por Ariel Palazzesi

9 Comments

Leave a Reply
  1. Impresionante la nota… este tipos de cosas son las que te motivan a decir "se puede hacer mas cosas de las que estan hoy en dia"

    Muy Buena

    Salu2

  2. Excelente articulo, si tengo algo de plata, me animo y compro los componentes.
    Si vos ya hiciste algún proyecto, estaría bueno si lo podes publicar:)

    Que raro que todo lo que este bajo GPL se tan bueno;)

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enhancer 017: Mejora la calidad de audio de Winamp

ClipBoardCC: Guarda archivos desde el portapapeles