Arduino
Se trata de una plataforma open source y open hardware que permite utilizar hardware de una forma rápida y estandarizada. Dicha plataforma está centrada en facilitar el manejo de los sistemas embebidos de propósito general.
El lenguaje de programación utilizado es una implementación de Wiring (creado por Hernando Barragán). Se podría decir que el código es C/C++ pero al tener ciertas particularidades no compila directamente como C++, aunque el IDE internamente sí convierte el código a un C++ compilable.
El entorno de desarrollo (Arduino IDE) está basado en Processing (al igual que lo está Wiring) y está programado en java. También es open source aunque en la web oficial de Arduino se proporciona el programa listo para descargar para los sistemas operativos más comunes. Arduino IDE incluye decenas de códigos de ejemplo integrados con los que se puede probar los componentes de hardware y librerías de código más populares. Utiliza, de forma transparente: AVR Libc para compilar y avrdude para programar el microcontrolador.
Las placas (boards) oficiales de Arduino están totalmente soportadas en el IDE ya que todas tienen un apartado concreto en la sección de Herramientas/Placa en Arduino IDE. Las placas integran lo más básico: microcontrolador y conexiones de entrada/salida. La gran mayoría también tienen la comunicación con el ordenador (USB) y un regulador de tensión (cada placa especifica qué rangos es capaz de soportar). Existen múltiples comparativas de diversas placas tanto oficiales como compatibles como por ejemplo esta.
Las “Shield” son unas placas expansoras que permiten ampliar las posibilidades de las placas, suelen consistir en una segunda placa (sin microcontrolador) que añade sensores, módulos de comunicación o de interacción.
El siguiente vídeo es un documental que explica el nacimiento de Arduino:
Arduino IDE
Se comenzará por descargar de la web oficial el IDE (o entorno de desarrollo).
Para sistemas Windows se recomienda utilizar el instalador (Installer) y en Linux se recomienda instalar del repositorio oficial de la distribución que se esté utilizando, pero si el repositorio aún tiene una versión inferior a la 1.6 una vez instalado se recomienda descargar la versión correspondiente (32bit o 64bit) descomprimirla y usar esa en lugar de la del repositorio.
Antes de programar, es muy importante el tipo de placa y el puerto al que está conectado:
- Herramientas => Placa => Arduino Uno
- Herramientas => Puerto => El que corresponda
Para saber qué puerto es el correcto hay un sencillo truco:
- Desconectar la placa Arduino del USB del ordenador.
- Entrar a ese menú (Herramientas/Puerto) y ver los puertos existentes.
- A continuación volver a conectar el USB.
- Y el puerto nuevo es el que hay que elegir.
En la parte inferior derecha del Arduino IDE aparece la placa y el puerto elegidos:
Las opciones básicas se encuentran como iconos en la parte superior: compilar y subir (flecha derecha), la comunicación por puerto serie (lupa) y botón de guardar (flecha hacia abajo):
Para hacer pruebas y que la subida de información a la placa Arduino sea más rápida se recomienda desactivar la verificación de código en Archivo=>Preferencias. Eso significa que se sube el código al Arduino y no se comprueba si fue exitosa.
MUY IMPORTANTE volver a activar esta opción cuando se quiera programar un programa definitivo o cuando aparezcan problemas extraños.
Muy recomendable activar la opción “Mostrar números de línea” ya que permiten buscar errores en el código muy rápido.
Finalmente la sección Archivo=>Ejemplos contiene decenas de ejemplos de código ya funcionando ordenados por las librerías instaladas. Los que contienen las operaciones más sencillas (y se recomienda probar):
- 1>Blink
- 2>Button
- 3>Fading
- 4>ASCIITable
- 3>AnalogInOutSerial.