Arduino開発を行っていて発生した失敗事例やトラブルと、それらの解決方法などを掲載します。
記事の目的
Arduino開発でこれまでに経験した失敗事例やトラブル等、同じ事象が発生しても手早く解決するための対応方法を掲載します。
チェックリスト
原因から思い当たるチェックリストです。
リンクをクリックするともう少し詳しい内容へジャンプします。
- 選択しているボードライブラリが違う
- 選択しているCOMポートが違う
- 書き込み用のCOMポートは、別のアプリケーションが使用している(ESP32, RP2040)
- ボードライブラリ、モジュールライブラリのバージョンにバグがある
ライブラリトラブル
ボードライブラリは日々バージョンアップされています。
残ながらバージョンが上がったことでそれまで動作していたスケッチが動作しなくなることもあるので、試しにバージョンダウンをすることで解決することがあります。
同じ原因であっても、使用しているバージョンにより症状の出方(例えば開発環境上のメッセージや画面の表示)が異なることがあります。
現象と対策
スケッチの書き込みができない(ESP32)
現象
「出力」(Output)に
Traceback (most recent call last):
<以下省略>
表示がされる。
![](http://tamanegi.digick.jp/wp-content/uploads/2022/09/Trouble-ESPCOM-1024x291.png)
原因と対処
いくつかの原因がありますが、代表的なものを記載します。
・マイコン基板(EPS)にUSB接続ケーブルが接続されていない。
ケーブルの接続を確認します。
スイッチ付きUSBハブを使用している場合スイッチのOFF/ON状態を確認します。
・スケッチ書き込み後にCOMポート番号が変わった。
スケッチ書き込み後や、USBの挿し口を変更することで時々COMポート番号が変わることがあります。
新しく認識されたCOMポート番号を選択して書き込みを行います。
・他のアプリケーションがCOMポートを占有している。
アプリケーションを閉じるか、COMポートの開放をしてからもう一度書き込みボタンを押す。
対応
シリアルモニタアプリケーションなどを閉じる、またはCOMポートを開放する。
スケッチの書き込みができない(RP2040)
現象
「出力」(Output)に
Failed uploading: uploading error: exit status 1
表示がされる。
原因と対処
いくつかの原因がありますが、代表的なものを記載します。
・RaspberryPi PicoがUSB接続されていない。
ケーブルの接続を確認します。
スイッチ付きUSBハブではスイッチのOFF/ON状態を確認します。
・スケッチ書き込み後にCOMポート番号が変わった。
スケッチ書き込み後や、USBの挿し口を変更することで時々COMポート番号が変わることがあります。
新しく認識されたCOMポート番号を選択して書き込みを行います。
・他のアプリケーションがCOMポートを占有している。
アプリケーションを閉じるか、COMポートの開放をしてからもう一度書き込みボタンを押す。
画像の例ではRP2040基板(RaspberryPi Pico)のPortを”COM7″で使用していますが、背面のウインドウではTeratermでもCOM7を使用しています。
![](https://tamanegi-digick.com/wp-content/uploads/2024/03/tbl-rpi-com.png)
起動しない、COM認識しなくなった(RP2040)
現象
スケッチの書き込み後起動しなくなった。
COM認識しなくなった。
Windowsエラーメッセージ「USBデバイスが認識されません」が表示された。
![](https://tamanegi-digick.com/wp-content/uploads/2022/09/Trouble-RP20401.png)
原因と対処
RP2040では、UART, I2C, SPIのピン設定に指定箇所以外を設定すると発生します。
UARTにはUART0とUART1の2系統があり、それぞれのピンには設定できるピンが決まっています。
例えばUART0のTXに設定できるピンは(0, 12, 16, 28)ですが、これらのピン以外に設定をして書き込みを行うことで今回の現象が発生します。
I2CとSPIも同じです。
当サイトの「Arduino環境でRaspberryPi Picoを使う」で紹介しているように、「BOOT」ボタンを押しながら電源を入れて、空の「.uf2」ファイルを書き込むことで復旧します。
電源は入るが動作をしない(ESP全般)
現象
画像のサンプルはNODEMCU ESP-32Sです。
POWER LED(赤)は点灯していますが、期待通りのスケッチが動かない。
よく観察すると、POWER LED(赤)が一定の輝度で光っておらず、周期的に暗くなる。
原因
電圧降下が発生した。
無線を使ったスケッチを、USBハブから電源供給させると発生することがあります。
起動時の消費電力が大きいため、ハブからの供給が不足している模様。
画像では5V電源に対して、4.3Vまで降下している。
![](https://tamanegi-digick.com/wp-content/uploads/2022/09/Trouble-ESPPower3.jpg)
対応
電源アダプタ付きタップを使用する。
画像は当方使用の ELECOM U2H-TZS428S。
画面奥の電源アダプタを使用することで、起動時の電圧降下を解消した。
![](https://tamanegi-digick.com/wp-content/uploads/2022/09/Trouble-ESPPower.jpg)
電源アダプタを使用することで安定した5Vが供給され、マイコンは期待通りの動作をした。
![](https://tamanegi-digick.com/wp-content/uploads/2022/09/Trouble-ESPPower2.jpg)
基板個別トラブル
特定の基板で発生した事例を掲載します。
個人で行っていることなので、確認した範囲で記載します。
Tiny 2040 でCPU Speedを変更すると後動作しない
対象の情報
基板:TINY2040
ボードライブラリ:
ArduinoIDE:
現象
CPU Speedを変更してスケッチ書き込み後、フルカラーLEDが半発光状態になりCOM認識しなくなる。
![](https://tamanegi-digick.com/wp-content/uploads/2022/09/Trouble-tiny1.jpg)
発生のきっかけまたは原因
CPU Speedを133MHz以上をを選択してコンパイルすると発生する。
対応
COMが認識しなくなる問題は、Tiny 2040を初期化することで復帰する。
CPU Speed125MHz以下でコンパイルする動作するようになる。
各設定速度での結果を添付しています。
CPU Speed(MHz) | 動作可否 |
---|---|
50 | ○ |
100 | ○ |
125 | ○ |
133 | × |
150(Over Clock) | × |
175(Over Clock) | × |
200(Over Clock) | × |
225(Over Clock) | × |
250(Over Clock) | × |
300(Over Clock) | × |
電源が入らない、起動しない(YD-RP2040)
現象
USBコネクタからの電源供給では、PowerLED(赤)が微弱な点滅をする挙動をする。
以前に書き込みを行ったスケッチも動作をしていない。
パソコンからUSBで接続をしているがCOM認識できない。
原因原因と対処
整流器(部品)の故障。
![](http://tamanegi.digick.jp/wp-content/uploads/2022/10/YR2040Repaire-1.jpg)
実装部品の交換を行う。
はんだごては2本使用して部品をはがしました。
十分な余熱がない状態ではんだをはがすと、パッドまではがれてしまうので注意が必要。
はんだの技術レベルに自信がなければ難しい作業です。
コメント