Características generales de la placa Se trata de una placa open hardware por lo que su diseño es de libre distribución y utilización, que incluso podemos construirnos nosotros mismos (En la Figura 1 se observa el aspecto de la placa! En la siguie siguiente nte web puede puede encont encontrar rarse se mucha mucha in"or in"ormac mación ión relat relativa iva a la placa#
$specto de la placa $rduino $ rduino %uemilanove! El programa se implementar& haciendo uso del entorno de programación propio de arduino y se trans"erir& empleando un cable 'S! Si bien en el caso de la placa 'S no es preciso utilizar una "uen "uente te de alim alimen enta taci ción ón e)ter )terna na,, ya que que el prop propio io cabl cable e 'S 'S la prop propor orcio ciona na,, para para la real realiz izac ació ión n de algu alguno nos s de los los e)pe e)perim rimen ento tos s pr&cticos s* que ser& necesario disponer de una "uente de alimentación e)terna ya que la alimentación proporcionada por el 'S puede no ser su+ciente! El voltae de la "uente puede estar entre - y ./ 0oltios!
setup() a "unc "unció ión n setu setup( p( se invo invoca ca una una sola sola vez vez cuan cuando do el prog progra rama ma empieza! Se utiliza para inicializar los modos de trabao de los pins, o el puerto serie! %ebe ser incluido en un programa aunque no haya declaración que eecutar! $s* mismo se puede utilizar para establecer el estado inicial de las salidas de la placa!
loop() %espu2s de llamar a setup(, la "unción loop( hace precisamente lo que sugiere su nombre, se eecuta de "orma c*clica, lo que posibilita que el programa est2 respondiendo continuamente ante los eventos que se produzcan en la placa!
funciones 'na "unción es un bloque de código que tiene un nombre y un conunto de instrucciones que son eecutadas cuando se llama a la "unción! Son "unciones setup( y loop( de las que ya se ha hablado! as "unciones de usuario pueden ser escritas para realizar tareas repetitivas y para reducir el tamaño de un programa! as "unciones se declaran asociadas a un tipo de valor 3type4! Este valor ser& el que devolver& la "unción, por eemplo 5int5 se utilizar& cuando la "unción devuelve un dato num2rico de tipo entero! Si la "unción no devuelve ning6n valor entonces se colocar& delante la palabra 3void4, que signi+ca 3"unción vac*a4! %espu2s de declarar el tipo de dato que devuelve la "unción se debe escribir el nombre de la "unción y entre par2ntesis se escribir&n, si es necesario, los par&metros que se deben pasar a la "unción para que se eecute! a "unción siguiente devuelve un n6mero entero, delay0al( se utiliza para poner un valor de retraso en un programa que lee una variable analógica de un potenciómetro conectado a una entrada de $rduino! $l principio se declara como una variable local, 5v5 recoge el valor le*do del potenciómetro que estar& comprendido entre 7 y 17.8, luego se divide el valor por 9 para austarlo a un margen comprendido entre 7 y .//, +nalmente se devuelve el valor 5v5 y se retornar*a al programa principal! Esta "unción cuando se eecuta devuelve el valor de tipo entero 5v5!
{} entre llaves as llaves sirven para de+nir el principio y el +nal de un bloque de instrucciones! Se utilizan para los bloques de programación setup(, loop(, i"!!, etc! 'na llave de apertura 3:3 siempre debe ir seguida de una llave de cierre 3;4, si no es as* el programa dar& errores!
El entorno de programación de $rduino incluye una herramienta de gran utilidad para comprobar el total de llaves! Sólo tienes que hacer clic< en el punto de inserción de una llave abierta e inmediatamente se marca el correspondiente cierre de ese bloque (llave cerrada!
; punto y coma El punto y coma 3=4 se utiliza para separar instrucciones en el lenguae de programación de $rduino! >ambi2n se utiliza para separar elementos en una instrucción de tipo 3bucle "or4! int ) ? 18= @A declara la variable 5)5 como tipo entero de valor 18 A@
Bota# Clvidaos de poner +n a una l*nea con un punto y coma o se producir& en un error de compilación! El te)to de error puede ser obvio, y se re"erir& a la "alta de una coma, o puede que no! Si se produce un error raro y de di"*cil detección lo primero que debemos hacer es comprobar que los puntos y comas est&n colocados al +nal de las instrucciones!
/*… */ bloque de comentarios os bloques de comentarios, o comentarios multiDl*nea son &reas de te)to ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa! omienzan con @ A y terminan con A @ y pueden abarcar varias l*neas! @A esto es un bloque de comentario no se debe olvidar cerrar los comentarios estos deben estar equilibrados A@
%ebido a que los comentarios son ignorados por el compilador y no ocupan espacio en la memoria de $rduino pueden ser utilizados con generosidad! >ambi2n pueden utilizarse para comentar bloques de código con el propósito de anotar in"ormaciones para depuración y hacerlo mas comprensible para cualquiera! Bota# %entro de una misma l*nea de un bloque de comentarios BC se puede escribir otro bloque de comentarios (usando @A!!A@!
// línea de comentarios 'na l*nea de comentario empieza con @@ y terminan con la siguiente l*nea de código! $l igual que los comentarios de bloque, los de l*nea son ignoradas por el programa y no ocupan espacio en la memoria! @@ esto es un comentario
'na l*nea de comentario se utiliza a menudo despu2s de una instrucción, para proporcionar m&s in"ormación acerca de lo que hace 2sta o para recordarla m&s adelante!
Entorno de desarrollo Gara programar la placa es necesario descargarse de la p&gina web de $rduino el entorno de desarrollo (H%E! Se dispone de versiones para Iindows y para J$, as* como las "uentes para compilarlas en HB'K! En la Figura . se muestra el aspecto del entorno de programación! En el caso de disponer de una placa 'S es necesario instalar los drivers F>%H! Estos drivers vienen incluidos en el paquete de $rduino mencionado anteriormente! E)isten en la web versiones para distintos sistemas operativos!
Entorno de desarrollo. o primero que tenemos que hacer para comenzar a trabaar con el entorno de desarrollo de arduino es con+gurar las comunicaciones entre la placa $rduino y el G! Gara ello deberemos abrir en el men6 Tools" la opción Serial Port"! En esta opción deberemos seleccionar el puerto serie al que est& conectada nuestra placa! En Iindows, si desconocemos el puerto al que est& conectado nuestra placa podemos descubrirlo a trav2s del $dministrador de dispositivos (Guertos CJ L G>@ 'S Serial Gort! El primer paso para comprobar que todo lo que hemos hecho hasta ahora est& bien y "amiliarizarnos con el inter"az de desarrollo, es abrir uno de los eemplos! Se recomienda abrir el eemplo lin<! Gara ello debemos acceder a trav2s del men6 File ( S
(Figura 8!b e inmediatamente despu2s pulsar el botón que comienza la carga (Figura 8!c! %urante la carga del programa, en la placa 'S, se encender&n los E% que indican que se est&n enviando y recibiendo in"ormación por el puerto serie# >K@NK! Si todo se ha realizado correctamente debe aparecer el mensae %one uploading! $hora tan sólo queda esperar unos O segundos apro)imadamente para comprobar que todo ha salido bien! Si el led colocado en el pin 18 de la placa se enciende y se apaga cada segundo entonces todo ha ido bien! Gor +n tenemos todo listo para empezar a trabaar con la placa $rduino!
a ompilar programa! b otón de reset! c >rans"erir programa a la placa!