miércoles, 27 de marzo de 2013

Led parpadeante con Arduino (Blink)


Una vez instalado y configurado nuestro IDE Arduino es la hora de probarlo. El software incluye varios ejemplos de programas. Uno de los más sencillos es el control del parpadeo de un led (Blick) que, si bien no es de lo más espectacular, sí que es muy útil para probar el funcionamiento de la placa, el software y la comunicación.

El primer ejemplo consiste en probar el parpadeo de un led colocado directamente entre el pin 13 y gnd de la placa. Como ésta ya incluye una resistencia de protección, no es necesario añadir nada más. En el  programa hay que indicar que la salida que utilizamos es la 13 y que el led va a estar encendido 1000 ms (1 segundo) y apagado otros 1000 ms (1segundo). La imagen correspondientes es la siguiente:




El montaje es


El vídeo es






La siguiente imagen muestra el programa que mantiene encendido 5 s y apagado 1s.




En la siguiente el led está encendido 0,5 s y apagado otros 0,5 s.


Por último, ahora conectamos el led en la salida 12. Esta no incluye resistencia de protección, por lo que lo montamos en la placa board con una resistencia.





Instalación IDE Arduino en Ubuntu12.04 LTS



Comenzamos a utilizar Arduino, una placa de hardware libre que nos permitirá realizar numerosos proyectos.

Lo primero que hay que hacer es instalar el software de comunicación y programación de la placa. Aquí se indica cómo he realizado dicha instalación en Ubuntu 12.04 LTS. Aunque el software viene en el repositorio de ubuntu, suele ser una versión más antigua y es conveniente instalar la última versión. He optado por seguir  estas instrucciones y descargarlo de http://arduino.cc/es/Main/Software.

La última versión es la 1.0.5. En un primer lugar, se puede probar lo siguiente:
  • Descargar el IDE arduino.
  • Descomprimir el paquete en la carpeta donde lo hayamos descargado u otra.
  • Ejecutar Arduino.
  • Conectar la placa al puerto USB.
  • Seleccionar en herramientas-puerto serial- el puerto ttyACM0.
  • Si no nos permite seleccionar el puerto serial habrá que cambiar los permisos ejecutando en un terminal
 sudo chmod a+rw /dev/ttyACM0.

  •  Ahora podemos seleccionar el puerto ttyACM0 en herramientas-puerto serial.

Si no funcionara todo lo anterior quizá se pueda intentar hacer una instalación más manual de la siguiente forma:

  1. Instalar gcc-avr, avr-libc y openjdk-6-jre si no están previamente instalados.
  2. Conectar la placa arduino a un puerto USB  y comprobar dónde está conectado.
  3. Descargar y descomprimir el IDE Arduino (Software).
  4. Ejecutar el IDE
  5. Seleccionar tu modelo de placa y puerto.
  6. Ejecutar un programa de ejemplo.

1. Abrimos un terminal instalamos los paquetes necesarios (openjdk ya estaba instalado) y tecleamos lo siguiente:


$ sudo apt-get install gcc-avr avr-libc

A continuación introducimos la contraseña de administrador.

2. Conectamos la placa Arduino y tecleamos el comando $ dmesg y comprobamos que la placa está conectada en el puerto USB  ttyACM0





3. Descargamos en la carpeta de Descargas (u otra) de la web de arduino la última versión del IDE de arduino que nos aparece en el apartado de Línux 32 bits.





Una vez descargado, cambiamos de directorio actual al directorio de Descargas que es donde hemos descargado el programa.



Una vez en descargas, descomprimimos la carpeta


Nos cambiamos al directorio de arduino



Ejecutamos la instalación con el comando ./arduino  (ojo, no olvidar el ./)



4. Una vez instalado, nos aparece el software de Arduino 1.0.4. Observar en la parte inferior que ha tomado por defecto la conexión al puerto COM1, lo que no es correcto.


Vamos al menú herramientas y seleccionamos la tarjeta (Arduino UNO)


y en el puerto serial  le indicamos que es el que obtuvimos arriba, es decir, /dev/ttyACM0


Si estuviera inhabilitado el puerto serial habría que cambiar los permisos de escritura de /dev/ttyACM0. Para ello se puede abrir una terminal y probar lo siguiente:

 sudo chmod a+rw /dev/ttyACM0

 
Después ya estará habilitado el puerto serial y podremos seleccionar /dev/ttyACM0 en lugar del COM1.

Ahora, para probar la comunicación con la placa, abrimos el programa de ejemplo "Blink". Este programa controla el parpadeo de un diodo led conectado a la placa. Primero se puede probar con el programa tal cual, descargándolo a la placa y después hacer alguna pequeña modificación para comprobar que funciona la transferencia del programa a la placa y asegurarnos de que no esté ejecutando el programa cargado por defecto.