Esta guía de usuario intenta ser una forma de acercarse al diseño y desarrollo de proyectos basados en Arduino para aquellas personas que nunca han trabajado con él pero que poseen un buen nivel en programación y electrónica. Por esta razón y para hacerlo fácil, se ha excluido mucha información existente en Internet y otros manuales para centrarse en los aspectos más básicos de las características y la programación de Arduino,

Otro de los objetivos de esta guía es organizar un poco la gran cantidad de información sobre este tema existente en la red. Para ello casi toda la información se ha obtenido a través de la fuente http://www.arduino.cc o de manuales basados en ella pero algo más estructurados. En general, el texto es una traducción libre al español del documento original «Arduino Programming Notebook» escrito y compilado por «Brian W, Evans».

Por último, la guía está pensada para aquellas personas que no han usado Arduino pero les gustaría iniciarse en este campo, por lo que si eres un usuario avanzado de esta plataforma no te aportará nada nuevo (sólo te servirá para repasar conceptos básicos).

¿Qué es ARDUINO?

Arduino es una plataforma de prototipos electrónica de código abierto (open-souree) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos.

Arduino puede “sentir” el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El mieroeontrolador de la placa se programa usando el “Arduino Programming Language” (basado en Wiring) y el “Arduino Development Environment” (basado en Processing). Los provectos de Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash, Processing, Max MSP. etc.).

Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open-souree, por lo que eres libre de adaptarlas a tus necesidades.

Arduino recibió una mención honorífica en la sección Digital Communities del Ars Electrónica Prix en 2006.

¿Por qué ARDUINO?

Hay muchos otros mieroeontroladores y plataformas mieroeontroladoras disponibles para compu­tación física. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handvboard, y muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles de la programación de mieroeontrolador y la encierran en un paquete fácil de usar. Arduino también simplifica el proceso de trabajo con mieroeontroladores, pero ofrece algunas ventajas para profesores, estudiantes y aficionados interesados sobre otros sistemas:

  • Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras. La versión menos cara del modulo Arduino puede ser ensamblada a mano, e incluso los módulos de Arduino preensamblados cuestan menos de 50$,
  • Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Ma­cintosh OSX y GNU/Linux, La mayoría de los sistemas microcontroladores están limitados a Windows,
  • Entorno de programación simple y claro: El entorno de programación de Arduino es fácil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo también. Para profesores, está convenientemente basado en el entorno de pro­gramación Processing, de manera que estudiantes aprendiendo a programar en ese entorno estarán familiarizados con el aspecto y la imagen de Arduino,
  • Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto, disponible para extensión por programadores experimentados. El lenguaje puede ser expandido mediante librerias C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino a la programación en lenguaje AVE C en el cual está basado. De forma similar, puedes añadir código AVR-C directamente en tus programas Arduino si quieres,
  • Código abierto y hardware extensible: El Arduino está basado en microcontroladores AT- MEGA8 y ATM EGA 168 de Atmel, Los planos para los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender como funciona y ahorrar dinero.
Tabla de Contenido
1. Prefacio
2. Introducción
2.1. ¿Qué es ARDUINO?
2.2. ¿Por qué ARDUINO?
3. Hardware
3.1. Placas E/S
3.2. Arduino Diecimila
3.2.1. Visión General
3.2.2. Resumen
3.2.3. Alimentación
3.2.4. Memoria
3.2.5. Entrada y Salida
3.2.6. Comunicación
3.2.7. Programación
3.2.8. Reseteo Automático (Software)
3.2.9. Protección de Sobrecarga del USB
3.2.10. Características Físicas
4. Software
4.1. Instalar el Software Arduino
4.1.1. Windows
4.1.2. MAC OS X (v. 10.3.9 o posterior)
4.1.3. GNU/Linux
4.2. Introducción al Entorno Arduino
4.2.1. Barra de herramientas
4.2.2. Menús
4.2.3. Preferencias
5. Comenzando con Arduino
5.1. Estructura
5.2. Variables
5.3. Tipos de datos
5.4. Aritmética
5.5. Constantes
5.6. Control de flujo
5.7. E/S digital
5.8. E/S analógica
5.9. Tiempo
5.10. Matemáticas
5.11. Aleatorio
5.12. Serie
A. Ejemplos de Aplicación con Arduino
A.1. Salida digital
A.2. Entrada digital
A.3. Salida PWM
A.4. Entrada de potenciometro
B. Esquemático de Arduino Diecimila
Fuente: Rafael Enríquez Herrador