Autor: Agustin Gonzalez Redondo. M Rocío García de la Fuente.
Arduino es un hardware de código abierto, programable a través de una plataforma de software propio, donde los contenidos creados por los usuarios se pueden compartir en una comunidad global. Está pensado pues, para que cualquier persona pueda realizar todo tipo de proyectos interactivos.
Esta sencilla definición nos da a entender que estamos ante una plataforma muy potente capaz de ser utilizada para desarrollar proyectos tanto en colegios o universidades, como en el campo de la ingeniería, la robótica e incluso el arte y diseño, por nombrar sólo algunos ejemplos.
Actualmente, muchos centros educativos a nivel mundial pretenden utilizar estas técnicas innovadoras para incluirlas dentro de su currículum académico, no obstante, se puede utilizar para crear juguetes tecnológicos, o introducir el aprendizaje de materias como física, lógica, habilidades de construcción y resolución de problemas, además promueve el proceso creativo a través del aprendizaje basado en proyectos, con énfasis en la colaboración de grupo y la interacción entre estudiantes.
Tipos de placa Arduino
Para comenzar con Arduino existen multitud de productos oficiales o compatibles con la IDE Arduino, software necesario para su programación, sencillos de emplear e ideales para introducirse en el mundo de la electrónica y por supuesto para mejorar las habilidades en programación.
Entre estos productos se pueden encontrar las siguientes placas y módulos, entre los que destacan los siguientes:
El presente artículo se centrara en la placa Arduino UNO al tratarse de una placa ideal para realizar los primeros proyectos con esta plataforma. Se trata una placa robusta que además tiene a su favor ser la más empleada y por tanto es la placa sobre la que más bibliografía existe, tanto a la hora de conocer su funcionamiento o realizar proyectos sencillos.
Finalmente hay que decir que aunque en general se haga referencia a la placa Arduino UNO, el resto de placas o módulos tienen un funcionamiento análogo, ya que todas cuentan con entradas digitales y analógicas, distintos tipos de salida, eso sí con distintas distribuciones que será necesario analizar en cada caso concreto, y en general el código se puede cargar de forma similar desde la IDE Arduino, sin más que seleccionar el tipo de controlador con el que se trabaja.
Placa Arduino UNO
Arduino Uno es una placa basada en el microcontrolador ATmega328P. Tiene 14 pines de entrada/salida digitales, de los cuales 6 pueden utilizarse como salidas PWM (figura 2), marcadas con el signo ~, que permiten simular una salida analógica y emplean como “truco” el activar una salida digital durante un tiempo y mantenerla apagada durante el resto; el promedio de la tensión de salida, a lo largo del tiempo, será igual al valor analógico deseado, cuenta además con 6 entradas analógicas (figura 2), un cristal de cuarzo de 16 MHz (figura 2), conexión USB, un conector de alimentación (figura 2), un encabezado ICSP (In Circuit Serial Programming) que sirve para programar el BootLoader del Microcontrolador ATmega y así poder cargar los programas que creemos en el IDE directamente en el microcontrolador y un botón de reset.
Como sencillo ejemplo de aplicación se muestra a continuación la conexión de un diodo LED a la placa de Arduino, en una de sus salidas digitales, con su resistencia (figura 3).
Como aclaración, decir que estos esquemas electrónicos se pueden realizar fácilmente usando un software específico para ello, en este caso se ha utilizado Fritzing, como aplicación totalmente gratuita (figura 4).
Software Arduino
El IDE (Integrated Development Environment, Entorno de Desarrollo Integrado) de Arduino es una aplicación que contiene un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Además incorpora las herramientas para cargar el programa ya compilado en la memoria flash del hardware. El software Arduino (IDE) específico para escribir programas y cargarlos en la placa, está disponible en la página oficial de Arduino y existen dos posibles opciones:
1: Editor online: permite trabajar sin necesidad de tener ningún software instalado en el ordenador ni descargar actualizaciones, guardar los programas realizados en la nube y disponer de ellos desde cualquier punto de acceso a Internet. Aunque el usuario necesita crear una cuenta de trabajo (figura 5).
2: Aplicación Arduino (IDE): es una segunda opción que permite trabajar sin ningún tipo de conexión mediante la instalación del programa Arduino (IDE) o una versión portable para almacenar en una memoria USB y que está disponible para los sistemas operativos más comunes (figura 6).
Una vez instalada la aplicación aparece la ventana de trabajo del programa en la que se pueden ver los siguientes elementos:
- Menú: En la parte de menú existen zonas para acceder a funciones como carga de archivos, edición del texto del código, carga de librerías (trozos de código reutilizables hechos por terceros que facilitan mucho la programación y hace que un programa sea más sencillo de hacer y de entender) y ejemplos relacionados con el empleo de estas librerías, configuración, herramientas…etc. (figura 7).
- Botones de acceso rápido: entre los que destacan Verificar y Subir (figura 9) para comprobar el programa está bien escrito y puede funcionar o cargar el programa una vez verificado en la memoria flash de la tarjeta.
- Editor de texto: zona donde se escribe el programa, basado en lenguaje C++, en el texto a continuación se puede observar el código necesario para encender y apagar de forma alternativa un diodo Led con el mismo sistema de conexiones que se vieron en la figura 2:
//programa que enciende y apaga un led cada segundo de forma intermitente
int LED_PIN=13; //Define la posición del PIN a la que se conecta el diodo LED
void setup() {
// Inicializa el pin LED_PIN como una salida
pinMode(LED_PIN, OUTPUT); }
// la función loop repite una y otra vez el programa contenido en ella
void loop() {
digitalWrite(LED_PIN, HIGH); // enciende el LED
delay(1000); // espera un segundo (1000 ms)
digitalWrite(LED_PIN, LOW); // apaga el LED
delay(1000); } // espera una segundo
Si bien el lenguaje C++ empleado no es nada sencillo para comenzar, hay que decir que en Internet existe multitud de ejemplos de aplicación con su código desarrollado, por lo que inicialmente bastaría con montar los distintos elementos en la placa de Arduino y cargar el programa conectando dicha placa al ordenador a través de un puerto USB.
- Mensajes y consola: esta parte de la aplicación está destinada a mantener al usuario informado sobre el estado de la tarjeta, y los resultados de la compilación de los distintos programas así como todos los errores y advertencias susceptibles de ser corregidos.
Por último y teniendo presente todo lo anterior, futuros artículos presentarán otras formas más sencillas de abordar los programas para la placa de Árduino, nuevas aplicaciones que pretenden mejorar la comprensión de los programas y desarrollar nuestras habilidades en programación y afrontaremos con mayor detenimiento la manera de abordar un programa con Arduino IDE.
BIBLIOGRAFÍA
https://www.arduino.cc/en/Main/Boards
AUTOR: AGUSTÍN GONZÁLEZ REDONDO