TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo CARGANDO EL PRIMER PROGRAMA EN ARDUINO OBJETIVOS Familiarizarnos con las diferentes partes de que se compone el entorno de desarrollo de Arduino. Cargar nuestro primer programa en Arduino y ver su ejecución. MATERIAL NECESARIO Ordenador Placa de Arduino UNO (u otro modelo) Cable de conexión USB El IDE de Arduino instalado +info en www.programacionyrobotica.com Página 1 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo …MI PRIMER PROGRAMA Lo primero de todo es abrir el programa haciendo doble click sobre el icono de ARDUINO: Y nos encontramos con la siguiente interfaz: Podemos ver una barra de menús (que iremos viendo poco a poco), la barra de herramientas, donde aparecen los 5 botones que más utilizaremos, el área blanca o zona de trabajo (donde insertaremos nuestro código), y el área negra, donde el programa nos mostrará diversos mensajes e información. Vamos a cargar un ejemplo para empezar a ver todo esto de forma práctica: +info en www.programacionyrobotica.com Página 2 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo Seleccionamos Archivo-> Ejemplos -> Basics -> Blink: Este ejemplo lo que hace es hacer lucir de forma intermitente un pequeño LED de la placa arduino, denominado como "L": +info en www.programacionyrobotica.com Página 3 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo Pero eso es tan sólo el resultado. Lo interesante en este nuestro primer código es analizarlo para tratar de entenderlo, familiarizarnos con la estructura (que es común a todos), e ir aprendiendo diferentes funciones o instrucciones que seguro necesitaremos de aquí en adelante. Vamos a ir explicando sobre el código (en azul) cada una de las cosas: /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ En la programación es muy útil el hacer comentarios, sobre para terceras personas que no han desarrollado el código. Todo lo que queramos que sea comentario, lo debemos de meter entre /* y */ (se suele utilizar para cuando es más de una línea). Y si lo queremos que sea comentario ocupa tan sólo una línea, entonces le anteponemos // Os recomiendo que os acostumbréis a comentar bien los programas. Ayuda mucho a entenderlos de una simple lectura rápida, sobre todo cuando ha pasado tiempo de su desarrollo o es otra persona la que se encuentra con el código. Tened en cuenta que este es tan sólo un ejemplo de unas pocas líneas de código, pero que hay programas de millones de líneas de código que se van ampliando y mejorando durante años, y en los que son muchas las personas que trabajan diariamente... // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; Con esta instrucción lo que hacemos es declarar una variable y asignarle el valor 13. En programación es muy habitual el crear campos +info en www.programacionyrobotica.com Página 4 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo o variables para almacenar la información que captamos del exterior, que procesamos o que enviamos al exterior de nuestro sistema. Otra cosa que debes aprender hoy es la estructura de todo programa de ARDUINO, que se compone de dos funciones: void setup() {} se emplea para inicializar variables, establecer el estado de los pines, inicializar librerías, etc. Esta función se ejecuta una única vez cuando se conecta la placa ARDUINO a la alimentación o cada vez que se pulsa al botón de RESET o de reinicialización. void loop() {} que se ejecuta de forma cíclica mientras la placa esta alimentada o encendida. En ella tendremos que introducir todo lo que queremos que haga el sistema. Por ejemplo, leer una determinada entrada o sensor, compararla con un determinado valor y en función de eso, actuar sobre una salida o actuador. // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } Con la instrucción pinMode(led,OUTPUT) estamos configurando el pin digital 13 (led) como salida. Esto es porque en la placa de ARDUINO hay diversos pines digitales que pueden actuar como entradas o como salidas. // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } +info en www.programacionyrobotica.com Página 5 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo Con la función digitalWrite(led,HIGH) lo que se hace es escribir sobre una salida (en este caso la 13 o led) un valor ALTO "HIGH" de tensión (que encendería el LED) o un valor BAJO "LOW" de tensión (que apagaría el LED). Con esto ya sabríamos activar o desactivar cualquier salida digital de la placa ARDUINO. Con la función delay(1000) lo que hacemos es pausar la ejecución del programa un determinado tiempo (en este caso 1000 milisegundos, o lo que es lo mismo, un segundo) . OJO con la función delay() !!! Mientras se está ejecutando, la placa no es capaz de hacer nada más...con lo que pensar bien que no necesitéis leer entradas durante esos tiempos de espera, porque la placa no detectará ningún cambio en ellas. Una vez explicado el código, vamos a proceder a cargar el programa en la placa: El programa nos avisará con un mensaje cuando el código haya sido compilado y cargado: Pues ya podéis observar en la placa cómo parpadea el mini LED "L" con una cadencia de 1 segundo. +info en www.programacionyrobotica.com Página 6 TALLER PRACTICO DE ARDUINO by Luis Torreño Peromingo Ahora para practicar, probar a substituir el parámetro 1000 de la función delay() por 500, y luego por 2000, y cargar ambos programas y veréis la diferencia. Con esta sencilla práctica habréis comprobado lo sencillo que es activar o desactivar una salida digital de la placa. Con cada una de las siguientes prácticas iremos aprendido más cosas nuevas de esta forma tan fácil y práctica, y cuando hayamos hecho muchas, veréis que habréis adquirido un cierto control sobre la placa de ARDUINO que os permitirá afrontar proyectos de mayor dificultad que en la vida os habríais imaginado capaces de resolver. HEMOS APRENDIDO… A identificar cada una de las partes del IDE de Arduino y para qué sirven. Familiarizarnos con la sintaxis de programación de Arduino y entender un primer programa básico. Cargar nuestro primer programa en Arduino, realizando varias modificaciones sobre él para ver los resultados sobre la placa. +info en www.programacionyrobotica.com Página 7