EUREKA --ILPFの定理--

ブログ主のILPF(イルフ)と申します.本ブログでは数学やプログラミング等の知識の備忘録,ハンドメイド作品「マクロコントローラ」の制作進捗報告を目的に開設しました.

【6/26】Arduino IDEコンパイルエラー時の対処方法

以前までに販売しておりました初代マクロコントローラですが, 先週末をもって,無事に完売することができました!! そして同時期に,マクロコントローラver2を販売開始して,まだ1週間も経っておりませんが, 早速好調に売り上げを伸ばしております!

今までにご購入頂いた方々には本当に厚く御礼申し上げますm(-_-)m これからもまだまだ追加生産していきますので,まだ購入を検討している方々もよろしくお願いします.

さて,話は変わりまして,とあるユーザーからのご質問で,

「最新版のアップデートプログラムをマクロコントローラ本体に書き込みを行う際にコンパイルエラーが発生する」

という情報をいただきました.

私もGoogleで調べ,実際に検証した中で,このコンパイルエラーに対しての対処法を見つけ出すことができましたので, 以下,皆様に展開させて頂きたく思います.

さて,今回質問頂いた方と似たエラーメッセージが以下のようなものです. (わざと同じような設定環境にしてみました)

f:id:ILPF:20200626185908p:plain
エラーメッセージ

このエラーメッセージですが,どうやらArduino IDEの「Arduino AVR Boards」の最新バージョン1.8.3がライブラリの一つ「ArduinoSTL-1.1.0」に対応できていないことが問題としてあるようです.

なので,「Arduino AVR Boards」を一つ前のバージョン1.8.2にすればこのエラーを回避することができますので, 以下の手順に従ってダウングレードしてください.

①メニューバーから「ツール」⇒「ボード」⇒「ボードマネージャ」を選択し,ボードマネージャウィンドウを開く

f:id:ILPF:20200626191214p:plain
「ツール」⇒「ボード」⇒「ボードマネージャ」
②「Arduino AVR Boards」の中の「バージョンを選択」から「1.8.2」を選択
f:id:ILPF:20200626191507p:plain
バージョンを選択
③「インストール」をクリックし,インストール完了を待つ
f:id:ILPF:20200626191621p:plain
インストール
④バージョンが1.8.2になっていることを確認したら「×」ボタンを押し,ボードマネージャウィンドウを閉じる
f:id:ILPF:20200626191806p:plain
インストール完了
⑤「⇒」ボタンを押して,書き込みたいプログラムを本体に書き込む
f:id:ILPF:20200626191923p:plain
プログラム書き込み
⑥「ボードへの書き込みが完了しました.」と表示されれば成功

今までにご購入頂いた方の中に,同様の症状で困っている方がいましたら一度試してみてください.

【7/4追記】

上記操作をしても,「書き込みは正常に完了するが,Switchにつなげるとボタンが全く反応しない」ということがあります.

これは,「ボードマネージャ」で「Arduino AVR Boards」を新たに更新したことにより,

別のフォルダの階層「C:\Users\【ユーザー名】\AppData\Local\Arduino15\packages\arduino\hardware\avr\【バージョン名】」

(【ユーザー名】:PCに設定しているユーザー名

【バージョン名】:「Arduino AVR Boards」のバージョン名 ⇒ 今回の場合「1.8.2」)

に「board.txt」が自動で作成されてそちらのボード設定を参照してしまうことが問題にあるようです.

なので,そちらの「board.txt」の中身も取扱説明書の通り,メモ帳で

285行目:leonardo.vid.1=0x0f0d

286行目:leonardo.pid.1=0x0092

311行目:leonardo.build.vid=0x0f0d

312行目:leonardo.build.pid=0x0092

と修正することで解決できます.

また,上記フォルダは隠しフォルダになっているため,「ファイルエクスプローラ」⇒「表示」タブの「隠しファイル」にチェックを入れて表示できるようにしておいてください.