Esses dias recebi uma consulta sobre como instalar o IDE Arduino no Ubuntu Linux. Aproveito então para deixar esse mini tutorial que pode ser útil para mais alguém. O procedimento, também deveria funcionar nas distros derivadas do Ubuntu (Mint, Elementary, Deepin, etc).
A instalação é muito simples, vamos pro link de download do site oficial e procuramos a última versão. Precisaremos escolher entre 32-bit e 64-bit, segundo a arquitetura do nosso processador. O site também solicitará uma contribuição voluntária para ajudar a manter o projeto. Podemos optar por contribuir ou simplesmente fazer o download e contribuir em uma outra ocasião ou de uma outra forma que não for em dinheiro.
O resultado será um pacote com extensão “tar.xz” que precisaremos descompactar. Podemos fazer isso com o menu contextual, apertando o botão direito do mouse, ou na linha de comandos:
$ tar xvf arduino-1.6.*-linux*.tar.xz
E para instalar:
$ cd arduino-1.6.*
$ sudo ./install.sh
Agora, é só procurar “Arduino” no dash do Ubuntu e lançar o IDE.
O grupo “dialout”
Se você tentar se comunicar com o Arduino e receber um erro do tipo: “Error opening serial port…”, será necessário realizar mais um procedimento. Para estabelecer a comunicação serial com a placa Arduino via USB precisamos pertencer ao grupo “dialout”.
Vamos lá:
Dependendo o modelo da sua placa, a porta serial vai ser ttyACM ou ttyUSB. Então, conecte a sua placa na porta USB e vamos verificar:
$ ls -l /dev/ttyACM*
ou
$ ls -l /dev/ttyUSB*
Na minha plaquinha chinguilingue chinesa o resultado é o seguinte:
crw-rw---- 1 root dialout 188, 0 Out 20 12:17 /dev/ttyUSB0
Dá pra perceber que só terá permissão de leitura e escritura o usuário root e quem pertencer ao grupo “dialout” e, como nós queremos fazer parte desse time:
$ sudo usermod -aG dialout username
Encerramos a sessão, logamos novamente, e verificamos:
$ groups
Se “dialout” aparece na listagem de grupos do usuário quer dizer que a gente fez certinho. Agora, tudo deveria estar funcionando. Não esqueça de selecionar no IDE o modelo da placa e a porta de comunicação serial.