Arduino IDEでのエラー等の対処法#
Arduino IDEでプログラムの書き込みや開発を行う際に発生する一般的なエラーと,その対処法をまとめる.
シリアルポートが表示されない場合#
Arduino(Seeeduino Nano)をUSBで接続しても,Arduino IDEのポート選択メニューにシリアルポートが表示されない場合は,以下を確認する.
確認項目#
USBケーブルの接続確認
USBケーブルがPC側とArduino側の両方にしっかり接続されているか確認する
ケーブルを一度抜き差ししてみる
USBケーブルの種類確認
USB Type-Cケーブルがデータ転送に対応しているか確認する
充電専用ケーブルではデータ通信ができないため,認識されない
別のUSBケーブルで試してみる
デバイスの認識確認
ターミナルで以下のコマンドを実行し,デバイスが認識されているか確認する
ls /dev/ttyUSB*Seeeduino Nanoが正しく認識されている場合,
/dev/ttyUSB0や/dev/ttyUSB1などが表示される何も表示されない場合は,ドライバの問題やハードウェアの故障が考えられる
書き込みに失敗する場合#
プログラムのコンパイルは成功するが,マイコンへの書き込みに失敗する場合は,以下を確認する.
確認項目#
ボード設定の確認
ボードの選択が「Seeeduino Nano」になっているか確認する
Arduino IDE 2.x系: 画面上部の「Select Board」で確認
Arduino IDE 1.8.x系: 「ツール」→「ボード」で確認
シリアルポートの選択確認
正しいシリアルポート(例:
/dev/ttyUSB0)が選択されているか確認する複数のUSBデバイスが接続されている場合は,ケーブルを抜き差ししてポートを特定する
ポートの使用状況確認
他のプログラム(例: rosserial,シリアルモニタ,minicomなど)がシリアルポートを使用していないか確認する
使用中の場合は,そのプログラムを終了してから再度書き込みを試す
ケーブルの交換
USB Type-Cケーブルを別のケーブルに変えてみる
ケーブルの品質や接触不良が原因の場合がある
書き込み時の権限エラー#
書き込み時に以下のようなエラーが表示される場合がある.
avrdude: ser_open(): can't open device "/dev/ttyUSBx": Permission denied
これは,シリアルポートへのアクセス権限がないことが原因である.以下の方法で解決する.
解決方法1: ユーザーをdialoutグループに追加(恒久的な解決)#
sudo usermod -a -G dialout <username>
<username>を実際のユーザー名に置き換える実行後,一度ログアウトして再ログインする必要がある
この設定により,今後は権限エラーが発生しなくなる
解決方法2: デバイスファイルの権限を変更(一時的な解決)#
sudo chmod a+rw /dev/ttyUSBx
xの部分を実際のデバイス番号(0,1など)に置き換えるこの方法は一時的な対処であり,USBを抜き差しすると再度設定が必要になる
Arduino IDEのコメント文で文字化けする場合#
Arduino IDEのエディタで日本語コメントが文字化けする場合は,フォント設定を変更する.
解決方法#
Arduino IDEを終了する
設定ファイルを編集する
nano ~/.arduino15/preferences.txt以下の行を探して変更する
変更前:
editor.font=Monospaced,plain,12
変更後:
editor.font=TakaoExGothic,plain,12
ファイルを保存してArduino IDEを再起動する
これにより,日本語が正しく表示されるようになる.
Arduinoの依存ライブラリのインストール方法#
Scketch -> Include Library -> Manage Libraries
Filterで必要なライブラリ名を検索し,Installする