Guía de instalación de Arduino UJI en GNU/Linux

El entorno original de Arduino no permite programar en ensamblador. Puesto que el libro Introducción a la Arquitectura de Computadores con QtARMSim y Arduino propone la realización de prácticas con Arduino DUE en las que se utiliza el lenguaje ensamblador, se ha modificado ligeramente el código fuente del entorno Arduino original para que sea posible utilizar archivos en ensamblador de ARM. Por lo demás, es un sistema Arduino estándar, así que se puede utilizar para programar cualquier otra tarjeta Arduino o compatible.

Nota importante:
Si no dispones de una placa Arduino DUE y tan solo quieres instalar el software de Arduino para desarrollar y comprobar los programas que luego probarás en el laboratorio, solo tienes que seguir el Apartado 2 y la selección de la placa del Apartado 3. El resto de instrucciones solo son aplicables si se va a conectar un Arduino DUE al computador.

1. Configuración del sistema

Para poder comunicar el Arduino DUE con el computador es necesario comprobar que el usuario tiene los permisos adecuados. Es decir, hay que comprobar si el usuario que va a ejecutar el entorno tiene permisos de acceso al puerto «/dev/ttyACM0».

Para ello, y en primer lugar, se debe conectar el puerto de programación del Arduino DUE (el que está al lado de la entrada de alimentación, marcado con «Programming» por la parte de detrás de la placa) a un puerto USB del computador.

Una vez conectado (se encenderá el LED verde «ON» y el amarillo «L»), se puede comprobar quién puede acceder a dicho puerto ejecutando el siguiente comando:

$ ls -l /dev/ttyACM0

Que generará una salida parecida a la siguiente:

crw-rw---- 1 root dialout 166, 0 oct 23 14:40 /dev/ttyACM0

En este caso se puede ver que los miembros del grupo «dialout» son los que tienen acceso de lectura y escritura a dicho puerto.

El siguiente paso consiste en comprobar si el usuario que va a utilizar la placa Arduino DUE pertenece a dicho grupo. Para hacerlo, se puede ejecutar el siguiente comando:

$ groups

Si entre la lista de grupos del usuario no aparece el grupo que nos interesa, debemos añadir dicho usuario al grupo en cuestión. Para ello, se puede utilizar el siguiente comando (como superusuario):

# gpasswd -a usuario dialout

Conviene saber que aunque el usuario se haya añadido ya al grupo, cualquier sesión que ya estuviera abierta en dicho momento no será consciente del cambio. Para activar la pertenencia al nuevo grupo se debe cerrar la sesión actual y volver a entrar. Otra posibilidad consiste en activar en un terminal el nuevo grupo ejecutando el comando «newgrp dialout», pero eso solo hará que el grupo sea visible desde dicha terminal. Así, lo más recomendable es reiniciar la sesión actual (no es necesario reiniciar el computador).

2. Instalación de la versión de Arduino IDE 1.5.x modificada

La versión ya compilada para GNU/Linux del entorno Arduino puede descargarse desde una de las siguientes direcciones (dependiendo de si la versión de GNU/Linux que tengas instalada es de 64 o 32 bits):

Una vez descargada, simplemente debe descomprimirse como superusuario en un directorio accesible a todos los usuarios, p.e., en «/opt/» (cambiar linux64 por linux32, en su caso):

# cd /opt/
# (copiar el tgz a este directorio, o especificar su ruta a cont.)
# tar -xzf arduino-uji-linux64-1.5.x.tgz

Para lanzar el entorno Arduino, basta con ejecutar el siguiente comando (como usuario normal) (igual que antes, sustituir linux64 por linux32 en su caso):

$ /opt/arduino-uji-linux64-1.5.x/arduino

3. Configuración del entorno Arduino para Arduino DUE

Antes de probar ningún ejemplo, es necesario decirle al entorno Arduino que la placa que se va a utilizar es la Arduino DUE y que el puerto de comunicaciones va a ser el «/dev/ttyACM0».

Para seleccionar la placa Arduino DUE, se debe seleccionar en el menú «Herramientas», «Placa», la opción «Arduino DUE (Programming port)».

Para seleccionar el puerto «/dev/ttyACM0», se debe seleccionar en el menú «Herramientas», «Port», la opción «/dev/ttyACM0 (Arduino DUE (Programming port))».

4. Solución de problemas

En el caso de que surja algún problema, se puede consultar la siguiente página web: