Pesquisar

Postagens populares

terça-feira, 31 de julho de 2012

Problema com Porta Serial no Arduino IDE 1.0 Unix-Like

Recentemente (Não tão recentemente) a comunidade que desenvolve a IDE do Arduino lançou a versão do software 1.0. Dentre as diversas melhorias na parte de desenvolvimento "que é o que importa" e algumas no visual "que ajudam" tem uma que costuma pegar desprevenidos as pessoas que desenvolvem suas próprias bibliotecas "eu" que foi a mudança do nome da biblioteca padrão de "WProgram.h" para "Arduino.h", detalhe.

Imagem retirada de makeprojects.com
Mas uma coisa que vem incomodando os desenvolvedores usuários de sistemas operacionais Unik-Like "Igual a mim, no Ubuntu" em geral, é o foto que seu Arduino IDE não consegue visualizar ou reconhecer a porta serial no ingleês("Serial Port") do seu Arduino. Na instalação do IDE é criado um grupo chamado "dialout" que é para manipular toda essa questão de permissão para brincar com o Arduino, mas infelizmente não é o que geralmente acontece, então vou escrever três dicas para contornar esta situação:

Dica 1º - Adicionar aos grupos

Adicionar o seu usuário do sistema no grupo "dialout" e no grupo "tty", que é o grupo que mexe com as saídas de portas paralelas e seriais.

sudo usermod -a -G tty NOME_DE_USUARIO
sudo usermod -a -G dialout NOME_DE_USUARIO 

Reinicie a sessão.

Dica 2º - Executar como sudo

Com qualquer editor de texto, abra como sudo o arquivo "/usr/share/applications/arduino.desktop" e edite o treho "Exec=arduino" para  "Exec=gksudo arduino".

Dica 3º - Último suspiro

Liberar a porta individualmente para leitura e escrita.

Para descobrir a porta: Após plugar o arduino na porta USB, rode o comando:
dmesg

e então para a porta, que por exemplo pode ser a ttyUSB0

sudo chmod a+rw /dev/ttyUSB0

2 comentários:

Luis Henrique Bevilaqua disse...

Você sabe me dizer como posso descobrir a porta do arduino no mac e dar a ela a permissao?

AJ O. Alves disse...

Olá Luiz Henrique, muito obrigado por comentar!
Bem, não tenho muita intimidade com o MacOS...mas, a dica 3 deveria funcionar, já que estes são comando padrão de sistemas Unix-Like. Vou ver se consigo falar com um amigo que usa.