Está en la página 1de 5

Joven Inventor

Convirtete en un

a la Programacin 2 Introduccin de Arduino


En este tutorial prepararemos nuestro entorno para comenzar a programar en la plataforma Arduino. Veremos tanto la placa misma como el software necesario. La idea es que al nal de esta experiencia podamos estar listos para realizar una gran gama de proyectos como los que se vern en etapas posteriores del curso.

Plataforma Arduino
Arduino es una plataforma electrnica muy popular para la creacin de prototipos basada en software y hardware exible y fcil de usar. Por este motivo es ideal para iniciar a las personas interesadas en el mundo de la electrnica y la robtica. Puedes obtener ms informacin sobre el proyecto en su sitio ocial http://www.arduino.cc/

Hardware
El hardware asociado al proyecto Arduino es una placa como la que se ve en la gura 1. A continuacin profundizaremos un poco en la estructura de la placa y sus principales componentes. Este tutorial est enfocado bsicamente en la placa Arduino Uno, sin embargo, existen otras placas que funcionan de forma anloga.

Figura 1: Placa Arduino UNO

Mirando la gura, en se muestra el Programador. Esta zona de la placa le permite comunicarse con un computador a travs del puerto USB. Por lo mismo permite que se carguen nuestros programas (o sketchs) desde el computador hacia la placa. Adems se encarga de alimentarla con energa la cual puede provenir tanto desde el PC, si esta conectado el cable USB, o desde la entrada de alimentacin por medio de un adaptador CA ( se recomienda utilizar 9 volts, entrada 1mm y centro positivo). En se muestran los 14 pines de entradas o salidas digitales. Permiten la comunicacin de nuestra placa con los circuitos que crees. Estos estn numerados del 0 al 13. Se pueden congurar desde nuestro sketch como entrada o como salida. Como son puertos digitales, admiten solo dos estados: HIGH = 5(V) y LOW = 0(V). En se muestra el Microcontrolador. Es un pequeo chip (circuito integrado) de 28 pines. ste es realmente el corazn de nuestra placa. Podemos pensar en un microcontrolador como un pequeo computador en donde se ejecutarn nuestros programas. La placa en si misma es solo una plataforma para poder acceder a los pines del microcontrolador desde el exterior. En se muestran las salidas de poder. Hay pines para tierra (GND), 5(V) y 3.3(V) que permiten alimentar nuestros circuitos. En se muestran las 6 entradas analgicas. Estn numerados desde A0 hasta A5. Permiten leer un voltaje analgico y lo convierten a un nmero digital comprendido entre el 0 y el 1023, lo que los hace ideales para el uso de sensores (que sern revisados ms adelante).

Software: el IDE de Arduino


El proyecto Arduino cuenta con su propio IDE (en sus iniciales en ingls: Integrated Development Environment). Un IDE es bsicamente un software que se instala en tu PC y te permite escribir y programar la placa que recin revisamos.

Instalacin de IDE
Ingresa a http://arduino.cc/en/Main/Software y descarga la versin compatible con tu sistema operativo. Ejecuta el instalador, acepta la licencia y prosigue hasta que el software se haya instalado completamente. Aparecer un acceso directo en tu escritorio como el siguiente:

Instalacin de Drivers
Conecta la placa a tu computador. Si necesitas instalar drivers para que tu PC reconozca la placa, recomendamos revisar el siguiente tutorial ocial del Proyecto Arduino: http://arduino.cc/es/Guide/Windows

Figura 2: Proceso de descarga e instalacin

IDE de Arduino
Una vez instalado el programa, los drivers y seleccionado correctamente los puertos, acceders a una interfaz como la que se muestra en la gura 3. Vericar: Revisa si el el cdigo est bien escrito y listo para ser enviado a la placa. Cargar: Carga el cdigo a la placa. Nuevo: Abre un nuevo sketch. Abrir: Permite abrir un sketch anterior. Guardar: Guarda los cambios realizados en el sketch. Monitor Serial: Permite ver los datos de transmisin serial. Nombre del Sketch: Indica el nombre del sketch actual. rea de Cdigo: Ac escribiremos nuestros programas. rea de Mensajes: Mensajes de errores al usuario.

Figura 3: IDE de Arduino

Programando
Habitualmente al escuchar la palabra programar se nos viene a la mente gente con lentes escribiendo una gran cantidad de lineas de cdigo en una computadora, con letras verdes y un fondo negro. Pues bien, la verdad es que programar no es algo tan difcil y muchas veces es ms cotidiano de lo que creemos. En pocas palabras, programar es listar de forma secuencial cules son los pasos a seguir para realizar para una determinada tarea, tal como podemos ver en la gura 4. Podemos compararlo con una receta de cocina, pero dejemos esto y vemoslo mejor con un ejemplo:

Declaracin
void setup(){ }

Inicializacin

Ciclo

void loop(){ }

Ejemplo: LED parpadeante


Problema: Realizar un programa que nos permita prender y apagar un LED cada un segundo. Pasaremos a escribir un programa y armar un circuito para realizar la tarea. Tpicamente nuestro sketch debe contar con 3 bloques principales que se muestran en la gura 4.
Figura 4: Diagrama de un programa de Arduino

1) Declaracin: La declaracin es igual al comienzo de las recetas de cocina, en donde se deben listar todos los materiales que debemos utilizar. En este caso, debemos decirle al programa cul es el pin que elegiremos para encender y apagar el LED. Elijamos el pin 7. Para que esto funcione primero debemos armar un circuito simple que use como fuente de voltaje al pin 7 de las entradas o salidas Digitales. Arma el siguiente circuito:

330 (ohm)

Como lnea de declaracin, escribe lo siguiente en tu sketch: // En el pin 7 tendremos la salida int led = 7; 2) Inicializacin: Ahora debemos decirle al programa cmo se utilizarn nuestras deniciones anteriores. Esto se realiza en una funcin que se denomina setup(). sta instruccin se ejecutar una sola vez al principio del programa. En este caso necesitamos que el pin 7 elegido funcione como una salida digital para esto debemos escribir el siguiente cdigo: // Rutina de inicializacin void setup() { // Inicializamos el pin 7 como una salida digital pinMode(led, OUTPUT); }

La funcin pinMode() convierte el pin 7 (guardado en la variable led) como una salida digital (OUTPUT). 3) Ciclo: Finalmente debemos explicar paso a paso que es lo que queremos que haga nuestro programa. Habitualmente queremos que sto se repita por siempre, para eso se utiliza la funcin loop(). En nuestro caso debemos realizar los siguientes pasos: Paso 1: Prender el LED Paso 2: Esperar 1 segundo Paso 3: Apagar el LED Paso 4: Esperar 1 segundo La funcin loop()llegar al paso 4 y luego volver al paso 1 para repetir el ciclo. En nuestro cdigo escribimos los pasos de la siguiente forma: void loop() { digitalWrite(led , HIGH); // Encendemos el led poniendo un voltaje alto en el pin 7 delay(1000); // Espera de 1 segundo digitalWrite(led, LOW); // Apagamos el led poniendo un voltaje bajo en el pin 7 delay(1000); // Espera de 1 segundo } La funcin digitalWrite() permite asignarle un valor especico a nuestra salida ubicada en el pin led. Si elegimos el valor LOW en la salida veremos un voltaje igual al de la tierra de la placa. Por otro lado si elegimos el valor HIGH veremos en la salida un voltaje igual al los 5V de la placa.

La funcin delay() permite suspender la ejecucin del programa por un valor arbitrario en milisegundos. Si escribimos delay(500); estaremos aplicando una espera de 500 milisegundos (medio segundo).

RECUERDA: Cada lnea de cdigo en Arduino termina con un

punto y coma;

Las lneas en verde escritas en el cdigo son comentarios. Estas lneas no se ejecutan. Para comentar una lnea de cdigo simplemente aplica dos slash (//) a su izquierda. // Esto es un comentario El cdigo nal, sin comentarios, se ve como sigue: int led = 7; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led , HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } Con el cdigo listo, y el circuito armado, ya puedes conectar el puerto USB y presionar el botn cargar del IDE de Arduino:

Cargar
Si todo est bien. Vers que el led parpadea cada 1 segundo. La placa est haciendo exactamente lo que le dijimos, paso por paso, repitindose cclicamente.

Funciones de Arduino
Con el ejemplo pudiste darte cuenta que para darle instrucciones a Arduino, es necesario conocer ciertas funciones que nos permiten realizar distintas acciones. En el ejemplo anterior utilizamos tres funciones: pinMode(), digitalWrite(), delay(). Para revisar el listado de completo, puedes revisar la documentacin ocial del proyecto Arduino: http://arduino.cc/es/Reference/HomePage

Joven Inventor

Convirtete en un