インストール - Arduino IDE
概要
Arduino IDEとは、Arduino向けのスケッチ(プログラム)を作成する統合開発環境である。
Arduino IDEを用いることで、スケッチを作成して、USBケーブルを通じてArduinoボードにアップロードするための環境が整う。
参考書 | |||
---|---|---|---|
Prototyping Lab 第2版 「作りながら考える」ためのArduino実践レシピ |
Arduinoをはじめよう 第4版 |
Handbook of Arduino 100以上の実践的なガイド |
ELEGOO Arduino UNO R3 最終版スタータキット UNOチュートリアル付 |
Exploring Arduino 技術者のためのツールとテクニック |
Arduino IDEのインストール
Windows
Arduino IDEをダウンロードしてインストールを開始する。
基本的には、[Next]ボタンを押下し続けることでインストールは完了する。
インストールの途中で、Arduino USB Driver、libusb-win32、Genuino USB Driver等のデバイスドライバがインストールされる。
セキュリティメッセージが表示される場合は、[インストール]ボタンを押下する。
RHEL / SUSE
Arduino IDEは、以下の3つのインストール方法がある。
ここでは、リポジトリに追加してインストールする方法およびインストールせずに使用する方法を記載する。
- ワンクリックインストール(SUSEのみ)
- リポジトリに追加してインストールする方法
- インストールせずに使用する方法
リポジトリを追加してインストール
Arduino IDE 2を使用する場合、依存関係のライブラリをインストールする。
# RHEL sudo dnf install fuse # SUSE sudo zypper install fuse
まず、Arduino IDEのリポジトリを追加する。
# SUSE sudo zypper --gpg-auto-import-keys ar -f 'https://download.opensuse.org/repositories/CrossToolchain:/avr/$releasever/' 'CrossToolchain:avr' sudo zypper refresh
次に、Ardduino IDEをインストールする。
sudo zypper install arduino
手動でインストール
Arduino IDE 2を使用する場合、依存関係のライブラリをインストールする。
# RHEL sudo dnf install fuse # SUSE sudo zypper install fuse
Arduinoの公式サイトから、Arduino IDE 2をダウンロードする。
ダウンロードしたファイルを解凍する。
unzip arduino-ide_<バージョン>_Linux_64bit.zip mv arduino-ide_<バージョン>_Linux_64bit Arduino_IDE
必要ならば、Arduino IDE 2を任意のディレクトリに配置する。
mv Arduino_IDE <任意のインストールディレクトリ>
Arduino IDE 2のデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/org.Arduino-IDE.desktop
# ~/.local/share/applications/org.Arduino-IDE.desktopファイル
[Desktop Entry]
Type=Application
Name=Arduino IDE <Arduinoのバージョン>
GenericName=Arduino IDE
Comment=Open-source electronics prototyping platform
Exec=/<Arduino IDEのインストールディレクトリ>/arduino
Icon=/<Arduino IDE 2のインストールディレクトリ>/resources/app/resources/icons/512x512.png
Categories=Development;IDE;Electronics;
Keywords=embedded electronics;electronics;avr;microcontroller;
MimeType=text/x-arduino;
StartupWMClass=processing-app-Base
Terminal=false
Arduino IDE 1.8系の設定
スケッチをアップロードする時、ボードとシリアルポートを選択した後に、以下に示すようなエラーが出力される場合がある。
Error opening serial port ...
これを解決するため、シリアルポートのパーミッションを設定する。
まず、PCとArduinoを接続した後、/dev/ttyACMXの所属グループ名を確認する。 (X : 数値)
ls -l '/dev/ttyACM*' # 出力例 crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0
Arduino IDE 1.8系を使用するユーザをdialoutグループ、lockグループ、uucpグループのメンバーにする必要がある。
ただし、ほとんどの環境では、dialoutグループにユーザを追加するだけでよい。
もし、YaSTで行う場合は、[セキュリティとユーザ]セクション - [ユーザとグループの管理]を選択して、必要な変更を行う。
また、ターミナルから実行するには、以下のコマンドを実行する。
sudo usermod -aG dialout $USER # または sudo usermod -aG tty dialout lock uucp $USER
もし、上記のグループからユーザを削除する場合は、以下のコマンドを実行する。
sudo gpasswd -d $USER tty dialout lock uucp
設定を反映させるため、PCを再ログイン、または、再起動する。
スケッチをボードにアップロード、および、シリアルモニターが使用できるかどうかを確認する。
Arduino IDE 2系の設定
Arduino IDE 2がシリアルポートにアクセスしてソースコードをボードにアップロードできるようにするには、/etc/udev/rules.d/99-arduino.rulesファイルを作成して、ルールを追加する。
sudo vi /etc/udev/rules.d/99-arduino.rules
# /etc/udev/rules.d/99-arduino.rulesファイル SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", GROUP="plugdev", MODE="0666"
Udevを再起動、または、PCを再起動する。
※注意
Udevを再起動する場合 (特に、変更が特定のデバイスに関連している場合) は、そのデバイスを再接続する、または、
sudo udevadm trigger
コマンドを実行して対話的にデバイスのイベントをトリガーする必要がある。
# Udevを再起動 sudo udevadm control --reload-rules または sudo udevadm trigger --action=change または sudo udevadm trigger # PCを再起動 sudo systemctl reboot
Arduino IDEの設定
Arduino IDEにおいて、標準フォントの表示が粗いため、別のフォントを使用することを推奨する。
フォントの設定を行うため、preferences.txtファイルを以下のように編集する。
- Windows
- C:\Users\<ユーザ名>\AppData\Local\ArduinoXX\preferences.txt
- RHEL / SUSE
- ~/.arduinoXX/preferences.txt
# C:\Users\<ユーザ名>\AppData\Local\ArduinoXX\preferences.txtファイル # または # ~/.arduinoXX/preferences.txtファイル editor.font=Noto Sans,plain,14
CH34xドライバを使用する場合
CH34xドライバのパッチのインストール
Arduinoのクローンにおいて、Linux標準のCH34xドライバを使用する場合、シリアル通信に失敗するケースがいくつか報告されている。
もし、問題が発生する場合、CH34xのパッチを当てたドライバをインストールすることができる。
- CH34xを使用したデバイスを、USBポートから外す。
- 問題が発生したログを確認する。
sudo dmesg | grep - iE ch34
出力例:
[ xxx] ch34x ttyUSB0: ch34x converter now disconnected from ttyUSB0
[ xxx] ch34x 3-2:1.0: device disconnected
- パッチ適用済みのCH34xのビルドに必要なライブラリをインストールする。
sudo zypper install kernel-source
- パッチ適用済みのCH34xのGithubにアクセスして、ドライバのソースコードをダウンロードする。
- パッチ適用済みのCH34xをビルドおよびインストールする。
sudo make clean
sudo make -j $(nproc)
sudo make load
- 古いドライバをアンインストールする。
sudo rmmod ch341
- 現在インストールされているモジュールの一覧を表示する。
lsmod | grep ch34
- CH34xを使用したデバイスを、USBポートに接続する。
- 接続に関するログを確認する。
sudo dmesg | grep - iE ch34
出力例:
[ xxx] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ xxx] ch341 3-2:1.0: device disconnected
場合によっては、シリアルポートのパーミッションを設定する必要がある。
PCの環境において、CH34xがどのように列挙されたかにより、デバイスファイル(/dev/ttyUSB0)が異なる場合があるため、
シリアルポートの設定に問題がある場合は、必要に応じてポートを調整すること。
sudo usermod -a -G dialout $USER sudo chmod a+rw /dev/ttyUSB0
Fritzingデザインソフトウェア
Arduinoプロジェクトで使用するための推奨されるソフトウェアである。
Fritzingは、インタラクティブな電子機器をクリエイティブに操作できるようにするためのオープンソースライブラリである。
Fritzingは、Arduinoプロジェクトの文書化、電子回路の詳細の学習、他の人との作業の共有、製造設計に役立つ。
fritzingは、SUSEのメインリポジトリを利用してインストールできる。
sudo zypper install fritzing
インストール後、デスクトップメニューの開発セクションからFritzingを起動できる。
AVR GCCツールチェーンの使用
公式のリポジトリからインストール
まず、以下のリポジトリを追加する。
SLE向けのリポジトリは存在しないことに注意すること。
sudo zypper ar -cfp 90 https://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_Leap_15.3/ AVR-GCC
インストールするライブラリは、以下の4つである。
- avrdude
- avr-libc
- cross-avr-binutils
- cross-avr-gcc
もし、Arduino IDEがAVR-GCCを見つけることができない場合、/usr/local/binディレクトリ等にシンボリックリンクを作成する。
例えば、AVR-GCCが/optディレクトリにインストールされている場合、以下のコマンドを実行する。
sudo find /opt/cross/bin/ -iname "avr*" -exec ln -s -t /usr/local/bin/ {} \;
サードパーティ製のインストール
Arduino IDEにおいて、Arduino付属のコンパイラが古いため、AVRの一部のライブラリとの互換性が無い場合がある。
そのため、サードパーティ製の最新版に近いAVR GCCツールチェーンを使用することができる。
まず、Arduino IDEの標準コンパイラをバックアップする。
cp -r /<Arduinoのインストールディレクトリ>/hardware/tools/avr /<Arduinoのインストールディレクトリ>/hardware/tools/avr_org
次に、以下のWebサイトにアクセスして、AVR GCCツールチェーンをダウンロードする。
https://blog.zakkemble.net/avr-gcc-builds
ダウンロードしたAVR GCCツールチェーンを解凍する。
tar xf avr-gcc-<バージョン名>-x64-linux.tar.bz2
解凍したAVR GCCツールチェーンのファイルおよびディレクトリを、/<Arduino IDEのインストールディレクトリ>/hardware/toolsディレクトリに上書きする。
mv -f avr-gcc-<バージョン名>-x64-linux/* /<Arduinoのインストールディレクトリ>/Arduino/arduino-1.8.13/hardware/tools/avr
Arduino IDEを起動する時、サードパーティ製AVR GCCツールチェーンが自動的に検出される。
AVR GCCツールチェーンが正常に動作するかどうかを確認するため、例えば、Blinkサンプル等をコンパイルしてArduinoにダウンロードする。
VSCodeでの開発
VSCodeでは、コード補完機能も使用できることから、開発が効率化することができる。
このセクションでは、Arduinoの開発をVSCodeで行うための設定に関する手順を記載する。
前提条件
前提条件として、以下の導入が完了しているものとする。
- VSCode
- VSCodeの拡張機能(Arduino for Visual Studio Code、arduino-snippets、C/C++ for Visual Studio Code)
- Arduino IDE
VSCodeの設定
VSCodeを起動して、[ファイル]メニュー - [ユーザー設定] - [設定]を選択して、設定画面を開く。
設定画面右の[ユーザー]タブ - [拡張機能] - [ArduinoConfiguration]を選択する。
以下に、設定項目と編集内容を記載する。
- arduino.path
- Arduino IDEの実行ファイルがあるディレクトリを入力する。
- Windowsの場合 : C:\Program Files (x86)\Arduino
- Linuxの場合 : <Arduino IDEのインストールディレクトリ>
- arduino.commandPath
- Arduino IDEのインストールディレクトリにある実行ファイル名を入力する。
- Windowsの場合 : arduino_debug.exe
- Linuxの場合 : arduino
- arduino.defaultBaudRate
- シリアルモニタのボーレートのデフォルト値を設定する。
- ボーレートの値は、9600を推奨する。
- C_Cpp.intelliSenseEngine
- コード補完機能の設定である。この設定項目では、
Tag Parser
を選択する。
- コード補完機能の設定である。この設定項目では、
- C_Cpp.default.includePath
- インクルードする時に読み込むライブラリの場所を入力する。
- [setting.jsonで編集]を選択する。
- 以下に設定例を示す。
- Windowsの場合
"C_Cpp.default.includePath": [
"C:\\Users\\<ユーザ名>\\Documents\\Arduino\\libraries",
"C:\\Program Files (x86)\\Arduino\\tools",
"C:\\Program Files (x86)\\Arduino\\libraries",
"C:\\Program Files (x86)\\Arduino\\hardware"]
- Linuxの場合
"C_Cpp.default.includePath": [
"/home/<ユーザ名>/Arduino/libraries",
"/home/<ユーザ名>/InstallSoftware/Arduino/arduino-<バージョン名>/libraries",
"/home/<ユーザ名>/InstallSoftware/Arduino/arduino-<バージョン名>/tools",
"/home/<ユーザ名>/InstallSoftware/Arduino/arduino-<バージョン名>/hardware"]
以下に、setting.jsonの設定例を示す。
{ // ...略 // Arduino "arduino.defaultBaudRate": 9600, // ボーレートの設定 "arduino.path": "/home/<ユーザ名>/InstallSoftware/Arduino/arduino-<Arduino IDEのバージョン>", "arduino.commandPath": "arduino", "arduino.logLevel": "info", "arduino.enableUSBDetection": true, "arduino.disableTestingOpen": false, "arduino.skipHeaderProvider": false, "arduino.disableIntelliSenseAutoGen": true, // VSCode起動時のIntelliSenseの自動生成を無効にする // C++ "C_Cpp.intelliSenseEngine": "Tag Parser", "C_Cpp.default.includePath": [ "/home/<ユーザ名>/Arduino/libraries", "/home/<ユーザ名>/InstallSoftware/Arduino/arduino-1.8.13/libraries", "/home/<ユーザ名>/InstallSoftware/Arduino/arduino-1.8.13/tools", "/home/<ユーザ名>/InstallSoftware/Arduino/arduino-1.8.13/hardware"] }
コンパイルまたはファームウェアのダウンロードにおいて、出力されるメッセージが文字化けする場合、
以下のファイルを編集して、215〜225行目までのソースコードをコメントアウトする。
- Windows
- C:\Users\%USERNAME%\.vscode\extensions\vsciot-vscode.vscode-arduino-<バージョン名>\out\src\common\util.js
- Linux
- ~/.vscode/extensions/vsciot-vscode.vscode-arduino-<バージョン名>/out/src/common/utils.js