- 1.Arduinoボードが認識されない
- 2.ボードが同期していない
- 3.電源リセット時にコードが起動しない
- 4.無効なデバイス署名エラー
- 5.Launch4jエラー
- 6.すでに使用されているシリアルポート
- 7:スケッチのアップロードは成功しましたが、何も起こりません
- 8.満たされていないリンクエラー
- 9.スケッチが大きすぎる
- 10. java.lang.StackOverflowError
Arduinoの初心者として始めた場合、電子機器のバックグラウンドを持たない人にとっては非常に困難な場合があります。エラーが発生する可能性があります。エラーの中には簡単な解決策があるものもありますが、解決するのに数日かかる場合があります。そこで、少し簡単にするために、最も人気のある10個のArduinoエラーとその解決策のリストを作成しました。
1.Arduinoボードが認識されない
これは、コンピューターに接続されているArduinoボードがコンピューターによって認識されない状況を指します。これが発生した場合、ボードは通常、Arduino IDEのポートリストにリストされておらず、デバイスマネージャーでUSB2.0とラベル付けされている場合があります。
解決
これは、標準のArduinoボードで使用されるFTDI(FT232RL)やその他のチップの代わりにCH340gUSBからシリアルへのコンバータチップを使用する特定の安価なArduinoクローンを使用する場合に発生します。標準のArduinoボードで使用されるUSBto Serial Chipsのドライバーは、常にArduino IDEセットアップファイルと一緒にパッケージ化されているため、IDEをインストールすると、ドライバーはPCに自動的にインストールされます。このCH340gUSB-シリアルコンバータベースのArduinoボードを使用できるようにするには、チップのドライバをダウンロードしてインストールする必要があります。ドライバーはこのリンクからダウンロードできます。インストールは、以下に示すセットアップインターフェイスのインストールボタンをクリックするだけです。
これで、ArduinoIDEでボードが接続されているポートを見つけることができるはずです。
2.ボードが同期していない
通常、これが発生すると、コードをArduinoボードにアップロードできなくなり(IDEに「アップロードが完了しました」と表示される場合があります)、IDEにエラーコードが表示されます。「 avrdude:stk500_getsync():同期していません:resp = 0x00 」。
解決
同期:RESP = 0x00が 「に変換され、一般的な応答で 動作していないATMEGAチップ Arduinoの上で」。これが発生すると、間違っている可能性のあることがたくさんあります。このエラーをクリアするために実行できるいくつかの手順を次に示します。
1. Arduinoのデジタルピン0と1に何も接続されていないことを確認します(シールドを含む)。
2.ツールメニューで正しいCOMポートとボードが選択されていることを確認します。
3. Arduinoのリセットボタンを数回押して、コードを再アップロードします。
4.Arduinoを切断してPCに再接続します。
5. ArduinoIDEを再起動します。
これのいずれかが機能しない場合は、PCで別のArduinoボードを使用するか、別のPCで「障害のある」Arduinoボードを使用してみてください。これは、問題の原因がどれであるかを特定するのに役立ちます。問題がPCにあることがわかった場合は、ArduinoIDEを再インストールしてください。ただし、「障害のある」Arduinoボードが問題の原因である場合、最終的な解決策は、ボードをArduinoファームウェアでフラッシュすることです。上記のいずれも機能しない場合は、Arduinoボードを変更する時期かもしれません。
3.電源リセット時にコードが起動しない
これは、電源を入れたときにArduinoがアップロードされたスケッチを実行せず、ほとんどの場合、ブートローダーに関連付けられた点滅スケッチに戻る場合を指します。
解決
扱われる他の問題と同じように、これを引き起こす可能性のある多くのことがあります。
ボードがハングして何もしない場合は、コードをチェックして、シリアルデータがボードに送信されたときに送信されていないことを確認する必要があります。 Arduinoの電源がオンになると、ブートローダーは最初の数秒でコンピューターをリッスンして、ボードにアップロードするための新しいスケッチを送信します。新しいスケッチが受信されない場合、しばらくすると、ブートローダーはタイムアウトになり、ボードにアップロードされた最後のスケッチを実行します。コードが最初の数分間にシリアルデータを送信している場合、ブートローダーはタイムアウトせず、ボードにアップロードされた最後のスケッチは開始されません。
ボードがオンになるとすぐにシリアルデータを送信することがプロジェクトの重要な部分である場合、Arduinoがオンになるとすぐにシリアルデータが到着しないように遅延を与える方法を見つける必要があるかもしれません。調整を行うとプロジェクトが実行するタスクに影響する場合は、ブートローダーをバイパスできるため、外部プログラマーを使用してスケッチをボードにアップロードする必要があります。
ボードがハングせずにArduinoの点滅スケッチに戻る場合(ピン13のLEDが時々点滅します)、ボード上のボードが破損している可能性があるため、Arduinoブートローダーでボードをフラッシュするのが簡単な修正です。 。
4.無効なデバイス署名エラー
このエラーは、ArduinoIDEの[ツール]> [ボード]リストで選択したコードとは異なるコードをボードにアップロードしようとしたときに表示されます。このエラーは通常、ターゲットボード上のデバイス署名がIDEで選択されたボードの署名と異なるために発生します。
解決
このエラーの解決策は、ArduinoIDEで正しいボードが選択されていることを確認するのと同じくらい簡単です。これが機能しない場合は、マイクロコントローラーを最新バージョンのArduinoブートローダーでフラッシュする必要がある可能性があります。
5.Launch4jエラー
Arduino IDEはロードするまでに時間がかかることがあり、ロード時に何かをクリックすると、上記のようにLaunch4Jエラーが表示されます。Launch4jは、Javaアプリケーション(jar)をWindowsネイティブ実行可能ファイルでラップするために使用されるツールであり、通常のWindowsプログラムとして使用できます。
Arduino IDE自体はJAVAで記述されており、このエラーは、ArduinoIDEに付属のJavaランタイム環境(JRE)ライブラリの非互換性が原因で発生します。
解決
経験上、このエラーは、PCのBluetoothまたはWiFi接続をオフにするだけの簡単な方法でクリアできます。ただし、より完全で永続的な解決策は、ArduinoパッケージのJREを最新バージョンに置き換えることです。
6.すでに使用されているシリアルポート
これはおそらく、解決するのが最も簡単なエラーの1つです。これは通常、シリアルモニターを開いているときにArduinoにコードをアップロードしようとしたとき(最近のIDEバージョンを使用している場合は問題ではなくなりました)、またはArduinoが別のソフトウェアやデバイスと通信しているときにシリアルモニターを起動しようとしたときに発生しますシリアルポート経由。基本的に、Arduinoシリアルポートを2つの異なる目的に同時に使用しようとすると発生します。
解決
IDEが提案したように、comポートを使用している可能性のある他のすべてのソフトウェア/ツール(シリアルモニター/プロッターを含む)を閉じます。特定のソフトウェアがわからない場合は、Arduinoのプラグを抜いてください。プラグを差し戻すまでに準備ができているはずです。
7:スケッチのアップロードは成功しましたが、何も起こりません
このエラーは、上記ですでに処理されている他のエラーのいくつかと同様です。このエラーの場合、Arduino IDEはコードが正常にアップロードされたことを示しますが、ボードは何もしません。
解決
- IDEで選択したボードがターゲットボードと同じであることを確認してください。
- これは、スケッチサイズがボードの容量よりも大きいことが原因である可能性があります。スケッチのサイズを確認し、上記の方法のいくつかを使用してサイズを縮小します。
- 最後に、このエラーは、ノイズの多い電源が使用されている場合に発生する可能性があります。電源が十分に安定していることを確認してください。
8.満たされていないリンクエラー
これはおそらく、このリストに載った唯一のまれなエラーです。これは、古いバージョンの通信ライブラリがPCにある場合に発生します。おそらく、以前のインストールからのものです。
解決
このエラーを解決するには、/ System / Library / Frameworks / JavaVM.framework / またはPCの CLASSPATH または PATH 環境変数のディレクトリで comm.jar またはjcl.jarを検索します。
9.スケッチが大きすぎる
このエラーは、コードがその特定のArduinoボードのフラッシュメモリよりも大きい場合に発生します。たとえば、Arduino Unoのフラッシュメモリのサイズは32Kbで、Arduinoブートローダーによってすでに2KBが使用されています。32Kbを超えるサイズのコードをアップロードする必要がある場合、Arduinoはこの警告を表示します。
解決
上記のように、これはスケッチが使用している特定のボードのフラッシュメモリよりも大きい場合に発生します。したがって、これを解決するには、コードが占めるスペースの量を減らす方法を見つける必要があります。これを達成するためのヒントのいくつかは次のとおりです。
- 可能な場合は、floatの代わりに整数データ型を使用してください。
- 可能な場合は、変数を宣言するときに「const」修飾子を使用してください。
- 必要なライブラリのみを含めます。可能な場合は、最も重要なライブラリの軽量バージョンを使用してください。
- 一般的にコードを改善します。コードを短くし、一般的に軽量にするのに役立つアルゴリズムを開発します。
より根本的な解決策は、Unoと比較してフラッシュメモリが大きいArduinoMegaのような別のボードにプロジェクトを移動することです。
10. java.lang.StackOverflowError
スケッチを処理するとき、Arduinoは処理にいくつかの正規表現を使用し、引用符の欠落などの特定の文字列関連のエラーが発生すると混乱することがあります。
解決
このエラーは、コード、特に文字列シーケンスが使用されている部分を再確認することで解決されます。引用符が完全であること、バックスラッシュが正しく使用されていることなどを確認してください。
1つのチュートリアルに収めることができるエラーの数には制限があります。そのため、ここで停止します。ただし、このリストには、初心者がArduinoを使用するときに直面する最も一般的なエラーのいくつかが含まれています。あなたは特定のエラーと戦っていますか、コメントをドロップしてください、うまくいけば、私たちは一緒にそれを解決することができます。
次回。