¿Qué es este blog?

La idea de este blog nace para compartir los avances que se vayan realizando a lo largo de un estudio sobre cómo interconectar los distintos sensores que se pueden encontrar en el mercado, o fabricar de forma casera, con la plataforma Mindstorms de LEGO. Para ello se hará uso ARDUINO, un entorno de desarrollo abierto basado en microcontrolador.

lunes, 10 de enero de 2011

Primeros pasos en Arduino


Como se comentó en el primer capítulo de esta memoria, Arduino es una plataforma de hardware abierta basada en los microcontroladores AVR de ATMEL. En el caso que nos ocupa, Arduino va a servir de interfaz entre los sensores que vayamos a usar, y el propio robot NXT de LEGO. Lo que se pretende en este apartado no es más que dar una visión general sobre cómo instalar y usar el entorno de programación de Arduino.

Instalación de Arduino en Windows
           
            Lo primero que se debe hacer es descargar la última versión del Java Runtime Environment (J2RE) que se encuentra disponible en la página de Sun. Este paso es importante, ya que sin este entorno instalado nuestra interfaz de desarrollo para Arduino no funcionará.
            El siguiente paso, es descargar la interfaz de desarrollo de Arduino, que se encontrará en la página oficial del sistema. La instalación es sencilla, ya que simplemente tendremos que realizar lo siguiente:
-       Descomprimir el archivo .zip en el directorio en el que queremos que quede instalada la interfaz de desarrollo.
-       Instalar los drivers USB.  Si se ha instalado por ejemplo la interfaz en C:\, los drivers se encontrarán en la ruta C:\arduino-0012\drivers.  Para instalarlos, se hace lo siguiente:
o   Conectar la placa Arduino al PC mediante el puerto USB. Si la placa trae un transformador adjunto, se conectará también para suministrar alimentación a la misma. Por lo general las placas USB toman la alimentación del propio puerto del ordenador.
o   Cuando se abra el asistente para hardware nuevo, seleccionaremos la opción de “No por el momento” a la pregunta de si deseamos que busque automáticamente los controladores, y a continuación elegiremos instalar dicho controlador desde una ubicación determinada. Es ahí donde seleccionaremos la carpeta de drivers antes mencionada.
-       Finalmente, sólo queda abrir la interfaz de Arduino, haciendo clic en el fichero Arduino.exe. Sólo habrá que seleccionar el puerto USB al que esté conectada la placa y elegir el modelo de tarjeta seleccionado.

Instalación de Arduino en Mac OSX

           Vamos a ver ahora como proceder a la instalación de Arduino en sistemas basados en el sistema operativo de Apple: Mac OSX.
           En primer lugar, al igual que con Windows, deberemos tener JAVA instalado y actualizado, y descargar desde la propia página de Arduino los drivers y la interfaz de desarrollo.
           Una vez descargado lo anterior, montaremos el archivo dmg que va a contener tanto la interfaz como los controladores, tal y como vemos en la siguiente figura:

 Contenido del paquete descargado

           Al instalar el dirver FTDI (simplemente haciendo doble clic sobre él), veremos algo como esto:
Instalación del controlador

           Durante la instalación nos pedirán la contraseña de administrador, la introducimos, elegimos la ubicación de instalación y completamos el proceso. Es importante que cuando se complete el proceso se reinicie el ordenador, ya que éste necesita reconocer los nuevos puertos que acabamos de instalar.
           Tras reiniciar, volvemos a abrir nuestro fichero dmg descargado, simplemente para instalar la interfaz de Arduino, que arrastraremos a la carpeta de aplicaciones. Esto se ve en la siguiente figura:

Copiando Arduino a la carpeta de aplicaciones


           Finalmente, abrimos el IDE de Arduino y lo configuramos para que se comunique con nuestra placa. Para ello, nos dirigimos al menú TOOLS/BOARD y seleccionamos la placa que vayamos a usar. A continuación vamos al menú TOOLS/PORT y seleccionamos dónde se encuentra nuestra placa. Todo esto se ve en las dos siguientes figuras:

Selección del tipo de placa usada

Selección del puerto al que está conectada la placa

Carga de un programa de ejemplo en Arduino
          
El programa que se va a cargar de ejemplo es “Blink Led”, algo parecido al típico “Hola Mundo” presente en todos los lenguajes de rogramación. Lo que va a hacer este programa es que parpadee el led 13 de la placa (que ya viene integrado en ella). Para cargar este ejemplo nos dirigimos a Files à Examples à Digital à Blink. Nos aparecerá el código cargado de esta forma:

Programa de ejemplo Blink listo para cargarse en la placa

Para comprobar que el código es correcto le daremos al símbolo de “Play”, si hay algún error este será el momento en el que se nos notificará y habrá que corregirlo antes de proseguir. Si todo va bien, al darle a Upload el código se verificará y se cargará en la placa que hemos configurado anteriormente.
Si todo el proceso ha sido correcto, se nos mostrará un mensaje como el de la siguiente figura, y podremos ver cómo el led 13 de la placa parpadea con un intervalo de 1 segundo.
A continuación se muestra el código usado en este ejemplo:

1.  /**
2.   * Archivo: HelloWorldDelay.c
3.   * Descripción: Hola mundo con delay (led)
4.   * Autores: Boops y Gizer20
5.   *  Asociación de Robótica y Domótica de España (A.R.D.E.)
6.   *  http:\\www.webdearde.com
7.   * Revisiones:
8.   * +RRR+ AAAA/MM/DD Nombre    Descripción
9.   * ------------------------------------------
10. * +001+ 2009/02/23 Ranganok  Modificada cabecera
11. */
12. 
13.int Led = 13; // Pin de la placa arduino donde se conecta el led.
14.void setup() // Función para inicializar los pines de la placa
15.{
16.  pinMode(Led, OUTPUT); // Asignamos la variable Led ,que     
17.                       //corresponde al pin 13,como salida  
18.}
19. 
20.void loop()  //Iniciamos lo que es propiamente el programa
21.{
22.  digitalWrite(Led, HIGH); // Ponemos a 1 el pin 13 para encender 
23.                          //el led
24.  delay(500);  // esperamos medio segundo
25.  digitalWrite(Led, LOW); // Ponemos a 0 el pin 13 para apagar el 
26.                         //led
27.  delay(500); // esperamos medio segundo
28.}

------------------------------------------------------------------------------------------------------ Referencias: 

No hay comentarios:

Publicar un comentario