miércoles, 17 de diciembre de 2014

Arduino. Encender y apagar un Led (Programa 2)



En esta práctica vamos a ver como se consigue activar un Led, mantenerlo activado durante un tiempo para después apagarlo, mantenerlo apagado un tiempo y vuelta a empezar. El efecto que se consigue es el parpadeo del Led conectado al pin 13 del Arduino.

Seguimos utilizando la función digitalWrite() para enviar los valores necesarios al Led y además emplearemos la función delay() para añadir retardos con los que mantendremos encendido o apagado el Led. Para emplear la función delay() simplemente debemos saber que el valor del retardo se indica siempre en milisegundos(ms) y que se le indicará como parámetro dentro de los paréntesis, por ejemplo un retardo de 100ms sería delay(100).


Para comenzar con la construcción del programa debemos mantener la estructura que os indiqué como esqueleto de programa que comentamos al principio. Y como vamos a seguir trabajando con el mismo pin del Arduino, pues nos sirve el programa construido en la práctica 1, la diferencia es que ahora además de encender el Led debemos apagarlo, y debemos dejarlo un tiempo encendido y otro apagado:



/* Programa 2

    Parpadeo del Led conectado al pin de salida 13

    */

    int led = 13;     //    Declaramos la variable d de tipo entero y le asignamos el valor 13. No debemos olvidar colocar al final ;

    void setup()
    {
        pinMode(led, OUTPUT);     // Utilizamos la función pinMode para indicar que el pin digital 13 será utilizado como salida

    }

    void loop()
    {
        digitalWrite(led, HIGH);      // La función digitalWrite nos sirve para activar o desactivar el pin. Con HIGH si activa y con LOW se desactivará
        delay(100);                      // Retardo de 100 ms
        digitalWrite(led, LOW);       // Apagamos el led con la función digitalWrite() y añadiendo el estado LOW para el Led
        delay(500);                   // Retardo de 500 ms

    }
}



miércoles, 10 de diciembre de 2014

Programación de Arduino. Introducción y primer programa.

A partir de ahora vamos a intentar conocer como trabajar con la placa Arduino real, sin emplear simuladores. El primer paso es descargarnos el software que nos va a permitir comunicarnos con Arduino por el puerto USB de nuestro PC. El sitio para descargar la última versión es:

http://arduino.cc/en/Main/Software

Cuando tengamos descargado el software, debemos instalar el driver para que el PC reconozca a Arduino como un periférico y se pueda comunicar con él. Para aquellos que no habéis instalado alguna vez un driver, el proceso es muy sencillo. Cuando conectamos Arduino al PC esperamos un poco y enseguida aparece una ventana con un asistente para la instalación del driver. Seguimos los pasos guiados por el asistente y cuando nos pregunte si tenemos el driver, y en que lugar se encuentra le indicamos la carpeta Arduino y dentro de ella se encuentra otra carpeta llamada DRIVERS.

Si todo ha ido bien y el driver es correcto se instalará enseguida y tendremos todo dispuesto para ejecutar el programa de comunicación con Arduino. Pero antes, os recomiendo pasaros por este enlace:

http://arduino.cc/en/pmwiki.php?n=Reference/HomePage

 En este sitio se da una idea básica de lo que se necesita conocer para hacer programas con Arduino. Comenzamos diciendo que todo programa para Arduino tiene la siguiente estructura:





void setup()
{

}

void loop()
{

}



Son dos funciones las que contendrán todo el programa. Por un lado tenemos la función SETUP() que es la encargada de contener todo lo relacionado con la configuración de la placa Arduino. Por ejemplo si se van a utilizar los pines como entradas o como salidas, si se va a utilizar el puerto serie, etc. Por otro lado la función LOOP() es la encargada de contener el programa que se estará ejecutando contínuamente, en un bucle.

Así debemos recordar que el esqueleto de nuestro programa tendrá como mínimo la estructura que hemos visto. Otra cosa serán los comentarios que podemos añadir al programa para ayudarnos a recordar como funciona,  o símplemente para indicar el nombre del mismo. Los comentarios podrán ocupar una o varias líneas. En el  primer caso, para indicar que se trata de un comentario debemos colocar al comienzo de la línea los caracteres //. Si el comentario ocupa varias líneas podemos utilizar al comienzo de cada línea los caracteres //, pero la mejor opción es colocar el comentario así:
 


/*  Aquí se
coloca el comentario  */




A continuación vamos a ver otro elemento mas que debemos conocer: Las variables. Una variable es el elemento que contendrá el dato con el que trabajará el programa, y debe ser declarada antes de emplearla. La declaración se puede hacer de forma que sirva para todo el programa o simplemente que sirva sólo para una función determinada. Lo normal es realizar la declaración de las variables para que sirvan para todo el programa, estaremos hablando entonces de variables globales, y  su declaración se hará justo antes de la función SETUP(). Podéis ver los tipos de variables en la web comentada antes:

http://arduino.cc/en/pmwiki.php?n=Reference/HomePage

Bueno, con esta pequeña introducción vamos a pasar ya a escribir nuestro primer programa ejemplo. Para ello ejecutamos la aplicación que se encuentra en el software que hemos descargado. Si el software se instaló en nuestro PC basta con buscar el icono correspondiente para ejecutarlo, si por el contrario hemos descargado la versión que no es necesario instalar, una vez descomprimida, dentro de la carpeta que aparece se encuentra un ejecutable llamado ARDUINO.EXE. Una vez ejecutado nos aparece una ventana con el entorno de programación para Arduino, y ya podemos escribir en ella nuestro primer programa.





Con este primer programa vamos a tratar de encender un Led, en este caso vamos a encender un Led que ya se encuentra en la placa Arduino y que está disponible para emplearlo por el usuario conectado en el PIN 13:




/* Programa 1
Encender el Led conectado al pin de entrada/salida digital 13
*/
int led = 13;     //    Declaramos la variable led de tipo entero y le asignamos el valor 13. No debemos olvidar colocar al final ;

void setup()
{
pinMode(led, OUTPUT);     // Utilizamos la función pinMode para indicar que el pin digital 13 será utilizado como salida
}
void loop()
{
digitalWrite(led,HIGH);      // La función digitalWrite nos sirve para activar o desactivar el pin. Con HIGH si activa y con LOW se desactivaría
}

Hasta aquí tendríamos ya nuestro programa completo. Ahora lo debemos cargar en la placa Arduino y comprobar qué ocurre. Para cargarlo pulsamos sobre el botón que se encuentra con otros botones justo debajo de la barra de menús y que está representado por una flecha hacia la derecha.