Hace unos días un amigo del grupo de usuarios de linux de la Universidad Politécnica de Valencia (PoLinux) me dejó un arduino y un modulo ethernet para Arduino para que lo trastease un poco, pero no pude hacerlo funcionar en Mac OS X durante un tiempo y no supe porque hasta que ayer me puse en serio a arreglarlo.
El primer fallo con el que me topaba era que al lanzar Arduino 12 no me dejaba seleccionar el puerto serie en el que se encontraba Arduino porque la opcion ‘Serial Port’ del menú ‘Tools’ no era seleccionable.
Lanzando Arduino 12 desde un terminal pude leer:
karman@Usagi ~ $ /Applications/Arduino/Arduino\ 12.app/Contents/MacOS/Arduino
Experimental: JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.0-7
Java lib Version = RXTX-2.0-7
java.lang.ClassCastException: gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
java.lang.ClassCastException: gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
Este error que por mas que busqué no encontré como solucionarlo lo acabé arreglando casi por casualidad cuando se me ocurrió actualizar la librería RXTX de RXTX-2.0-7 a RXTX-2.1-7.
Ahora ya podía seleccionar el puerto para tratar de programar Arduino pero a la hora de transferir el programa (después de compilarlo) me daba otro error bastante extraño:
Binary sketch size: 1248 bytes (of a 14336 byte maximum)
check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file.
please see: How can I use Lock Files with rxtx? in INSTALL
processing.app.SerialException: Serial port ‘/dev/tty.usbserial-A9009gOS’ already in use. Try quiting any programs that may be using it.
Este otro error era bastante extraño ya que mediante fuser pude ver que nadie estaba usando el dispositivo. Según parece no tiene una ruta correcta de lock por lo que es incapaz de saber si el puerto está en uso o no. Para arreglarlo bastaba con:
karman@Usagi ~ $ sudo mkdir /var/lock
karman@Usagi ~ $ sudo chmod 777 /var/lock
Y listo, ya pude programar Arduino desde mi Mac.
Aqui dejo un ejemplo de como escribir un SOS en el led que viene integrado en la propia placa. DESCARGAR