Configurando Arduino en Linux

Recientemente he comenzado una vez más a trabajar con la famosa placa de electrónica Arduino Uno, y me ha traído un poco de problemas para trabajar con Linux, a continuación presento la forma en que logré configurar exitosamente la placa Arduino en Slackware Linux.

Requerimientos de software

Para usar Arduino en Slackware es necesario instalar algunos paquetes. Para instalar paquetes yo uso el programa sbopkg que se encarga de descargar, compilar e instalar de forma sencilla usando unos scripts específicos para Slackware (llamados SlackBuilds). La instalación consiste en ir a la terminal y ejecutar el siguiente comando como usuario root:

# sbopkg -ri arduino
# sbopkg -i "avr-binutils avr-gcc avr-lib"

El paquete llamado arduino es esencial, pues en él se trabaja directamente la programación de la placa desde la computadora.
Los paquetes AVR son necesarios para enviar y “grabar” los programas que nosotros creamos, desde la computadora al Arduino.

Probando, probando…

Una vez que los programas terminen de instalarse, se puede abrir el programa de Arduino desde el menú de aplicaciones. En este programa se pueden realizar unas pruebas para asegurarnos de que todo funcione correctamente.
La prueba más sencilla consiste en grabar un programa a la placa de Arduino y ver que este funcione. Para ello utilicé uno de los programas de ejemplo que se incluyen en la aplicación, que consiste en encender y apagar un led.
Antes de hacer la prueba hay que asegurarse de conectar correctamente el Arduino a la computadora con el cable USB. Si el Arduino es nuevo tendrá un programa cargado que empezará a encender y apagar un led en la placa en intervalos cortos de tiempo, según yo es menor a 1 segundo. Este led se ubica cerca del pin 13 y está marcado con una letra L.
Este led es el que vamos a manipular con el programa de prueba o ejemplo para verificar que todo funcione como debe. Una vez conectado el Arduino hay que ir al menú Herramientas > Puerto Serial y seleccionar el puerto en donde se encuentra conectado el Arduino.

arduino-puerto-serialGeneralmente solo hay un puerto por lo que esto no resulta difícil. Si el programa no detecta ningún puerto hay que ver el apartado de problemas más abajo para una posible solución. Para usar el programa de ejemplo hay que dirigirse al menú Archivo > Ejemplos > 01. Basics > Blink.

Se abrirá una nueva ventana con el programa ya escrito. Lo único que tenemos que hacer es modificar el programa en la parte donde dice que se enciende y se apaga por un segundo o 1000 milisegundos. Yo lo modifiqué por cinco segundos:

delay(5000)

Finalmente solo hay que dar clic en el botón Cargar (el que tiene la flecha hacia la derecha) y listo. Si vemos que el led se enciende y apaga en el tiempo que se indicó en el programa, todo funciona correctamente.

Solución de algunos problemas

El algunos casos al intentar cargar el programa desde la aplicación de Arduino se indicará que no se encuentra el puerto COM. Esto es por que no hemos seleccionado el puerto correcto en el menú Herramientas > Puerto Serial.
En caso de que este menú esté desactivado significa que la computadora no está reconociendo el Arduino. En Linux esto pasa porque el puerto no tiene los permisos correctos para el usuario que intenta acceder al Arduino, el cual generalmente es un usuario normal.
Al conectar el Arduino aparecerá un nuevo dispositivo llamado /dev/ttyACM0 o similar, para checar los permisos del sistema hay que ejecutar en el terminal:

# ls -l /dev | grep ACM

Como resultado aparecerá algo similar a esto:

crw-rw---- 1 root dialout 166,   0 nov  5 23:17 ttyACM0

En mi caso el propietario es root y los demás usuarios tienen permisos limitados, yo decidí darle permisos totales a todos los usuarios ya que esto no me causa ningún problema. Para hacer esto se debe ejecutar:

# chmod 777 /dev/ttyACM0

Verificar una vez más para asegurarse de que se han establecido los nuevos permisos correctos y listo:

# ls -l /dev | grep ACM
crwxrwxrwx 1 root dialout 166,   0 nov  5 23:33 ttyACM0

Con esto ya se puede empezar a usar el Arduino en Slackware Linux. Si usas Windows tendrás que buscar la solución para tu sistema operativo en otro lugar, Sorry!

permisos_arduinoEnjoy! 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s