Ставим Arduino IDE в Ubuntu

Среда разработки Arduino IDE на удивление ставится легко и без проблем в Ubuntu. В Windows тоже проблем не было Arduino Uno, но вот с Arduino Leonardo, на котором построен Romeo V2-All in one Controller я в Windows запарился и если одну доску удалось запустить, то вторую с тот же компьютер уже не получится вставить просто так - только в другой компьютер. Не знаю почему так - но я так и не нашел решения, благо два компьютера были под рукой.

Не советую ставить из репозитория т.к. на момент написания статьи там была версия 1.0.1, а текущая доступная 1.0.4.

      1. Ставим библиотеки для IDE и JAVA:
        sudo apt-get install gcc-avr avr-libc openjdk-6-jre
      2. Качаем последнюю версию Arduino IDE с официального сайта: http://arduino.cc/en/Main/Software
      3. Я скопировал этот архив в домашнюю директорию и распаковал:
tar -xzvf arduino-1.0.4-linux64.tgz

Исправим интерфейс Arduino IDE на классический, чтобы убрать баги в интерфейсе и тормоза:

cd ~/arduino-1.0.4/
gedit arduino

# Комментируем последнюю строку:
#java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base
# Меняем на эту:
java processing.app.Base
# Сохраняем, выходим.

Вставляем Arduino Leonardo (или вашу плату) в USB и смотрим на каком порту установилась плата:

dmesg | grep cdc_acm
# У меня этот запрос выдал:
[94918.887392] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
[94926.908525] cdc_acm 2-1:1.0: This device cannot do calls on its own. It is not a modem.
[94926.908575] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
# Это означает, что Arduino установился в ttyACM0
# Даем полные права на этот порт нашему пользователю:
sudo chmod a+rw /dev/ttyACM0
# Включаем в группу, которая имеет доступ к порту
sudo usermod -aG dialout <username>

Перезагружаем компьютер, т.к. настройки группы вступают только после перезагрузки!

 # Запускаем arduino:
cd ~/arduino-1.0.4/
./arduino   # Обратите внимание на точку вначале - её тоже надо писать

В Arduino IDE в настркойках палты указываем нашу плату (Leonardo) и наш порт: ttyACM0.
Если вдруг настройка порта будет серая - то попробуйте запустить Arduino IDE от администратора:

sudo ./arduino

Дальше рекомендую пройти курс по rosserial_arduino: http://www.ros.org/wiki/rosserial_arduino/Tutorials
Если в процессе компиляции у вас возникнет ошибка (У всех на Leonardo она возникнет т.к. связана с тем, что эта плата использует Serial1 для коммуникации через пины 0,1 (RX1,TX1) Arduino):

cannot convert 'Serial_*' to 'HardwareSerial*' in assignment

То во всех файлах где будет такая ошибка замените:

_serial = &Serial;

на

_serial = &Serial1;
Комментирование и размещение ссылок запрещено.

Комментарии закрыты.