差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
gimmickkouza:electronic_basic:7:1_troubleshootingbasic [2024/06/20 01:25] – [トラブル対応の基本のおさらい] matsuhachigimmickkouza:electronic_basic:7:1_troubleshootingbasic [2024/06/21 18:35] (現在) lutamesta
行 3: 行 3:
 電子工作で制作物のトラブルが起きた時は、問題の切り分けが肝心です。 電子工作で制作物のトラブルが起きた時は、問題の切り分けが肝心です。
 その問題の原因が何かによって、対処法はまるで違います。 その問題の原因が何かによって、対処法はまるで違います。
 +  
 ==== 原因別・よくあるトラブルの例 ==== ==== 原因別・よくあるトラブルの例 ====
 === 電気的原因によるもの === === 電気的原因によるもの ===
行 46: 行 46:
  
 /*<alert type="danger">変数宣言時の型違いとかもトラブルとしてよくあります。intなのにlongにしたとか</alert>*/ /*<alert type="danger">変数宣言時の型違いとかもトラブルとしてよくあります。intなのにlongにしたとか</alert>*/
- 
  
 === その他の原因によるもの === === その他の原因によるもの ===
行 54: 行 53:
   * モータ系の部品で、トルク以上の力や重さが動作部にかかっていて動きが相殺されている   * モータ系の部品で、トルク以上の力や重さが動作部にかかっていて動きが相殺されている
   * 通信系の部品で、電波の状況がよくない、電波を遮るものがある   * 通信系の部品で、電波の状況がよくない、電波を遮るものがある
 +  
 ==== トラブル対応の基本のおさらい ==== ==== トラブル対応の基本のおさらい ====
 **作った電子回路が動かない・或いは動作がおかしい場合、まずはすぐに電源を切りましょう。** **作った電子回路が動かない・或いは動作がおかしい場合、まずはすぐに電源を切りましょう。**
 動作不良の原因にすぐに思い当たる点がない場合は、電気的原因 → プログラムの順番でミスを探るのがベターです。 動作不良の原因にすぐに思い当たる点がない場合は、電気的原因 → プログラムの順番でミスを探るのがベターです。
 +  
 +  
 +===== 回路のデバッグについて =====
 +<panel type="info" title="まつはちさんからのアドバイス">
 +この項は私が回路デバッグをする際に実行していることです。
 +初心者向けではない部分もありますが、ご参考までに。
 +  
 +==== 回路のデバッグでやるべきことリスト ====
 +  * 導通チェックをする
 +    * テスターでピーと鳴るか
 +    * 抵抗値を測るのもあり。導通してなければ不定になる
 +  * 電圧を測る
 +  * パーツの極性を確認する
 +  * パーツを外すと状況が変わるか見る。1個ずつ外す、逆に最初に1個から始めて1個ずつ追加していく
 +  * 発熱の場合はどこで発熱してるかを見る
 +  * 素子のスペックを洗い出し、電流や電圧が許容範囲内か再度確認する
 +    * ドロップアウト電圧にも注意してください
 +  * 電子顕微鏡で、挙動が怪しい部分のはんだ状態を観察する
 +    * ショートや、オーバーヒート、いもはんだを確認する
 +  * 電子顕微鏡で怪しいところを観察する
 +  * オシロスコープで波形を見る
 +    * 異常発熱時など、オシロに負荷かかりそうな場合はできる限りのことをやってからにする
 +  
 +==== テスターについてのメモ ====
 +  * ちょっとだけピッとなるのはコンデンサの影響。導通してるわけではないです
 +  * 電流は、流れてる線をぶった切って直列につないで測る
 +  
 +==== まつはちさんによるテスターの使用例動画 ====
 +{{youtube>1VCpHvv3z_A?large}}
  
-<alert type="danger">ここに回路デバッグの仕方を入れた方がデバッグの順番として適切だと思うので、ここに私の回路のやつ入れた方がいいと思います ちょっとレイアウト悩みますが…回路→プログラムの順なので</alert> +</panel> 
- +/*<alert type="danger">ここに回路デバッグの仕方を入れた方がデバッグの順番として適切だと思うので、ここに私の回路のやつ入れた方がいいと思います ちょっとレイアウト悩みますが…回路→プログラムの順なので</alert>*/ 
-==== プログラムのチェックに使える小技集 ====+   
 +   
 +===== プログラムのデバッグについて ===== 
 +==== コンパイルでエラーチェック ====
 プログラミングの構文的なミスはコンパイルをすることである程度チェックすることができます。 プログラミングの構文的なミスはコンパイルをすることである程度チェックすることができます。
-構文的なミス、例えば「変数を宣言しない使おうとした」、「あるライブラリの関数を使おうとしたが、ライブラリがイクルードされていない」、「あるライブラリ使おうとしたがそもインストールされていない」、「; を付け忘れている」、「{ }括りがおしい」いったものです。 +コンパイルArduinoIDEは検証ボタンを押すか、もしくはツールバーの スケッチ → 検証・コンパイル ら実行するこきます。 
-(詳細は次項のエーメッセージ集ご確認くだい)+また、プログArduinoに書き込むときにも実行れます。
      
-し、コンパイラのチェックは万能ではありません。+コンパイルをかけてエラーメッセージが出た場合は、[[gimmickkouza:electronic_basic:7:2_arduino_errormessage|]]のページを読みエラーの原因を探ってください。 
 +[[gimmickkouza:electronic_basic:7:2_arduino_errormessage|]]のページにはないエラーメッセージが出現た場合はメッセージをコピペして検索し、対処法を探るのが最も基本的な対応です。 
 +ちなみにメッセージ全文をコピペするのではなく、どういうエラーであるかを直接指摘している部分を探し出してコピペして検索するといい感じにHitしやすいです。 
 +     
 +==== プログラムのチェックに使える小技集 ==== 
 +コンパイラは非常に便利で心強い存在ですが、そのチェックは必ずしも万能ではありません。
 特に__「プログラムの動作的には至極正しいが、自分の意図通りのプログラムを書けていない」場合、コンパイラがそれを見抜くことは基本的にはできません。__ 特に__「プログラムの動作的には至極正しいが、自分の意図通りのプログラムを書けていない」場合、コンパイラがそれを見抜くことは基本的にはできません。__
      
行 131: 行 167:
  
 ちなみにAIにプログラムを書いてもらうこともできます。 ちなみにAIにプログラムを書いてもらうこともできます。
-こちらもそのままでは使えないことも多いですが、**プログラムを書き始める時の"たたき台"として使ったり、有名ライブラリの使い方を訊いてみる**といった用途で非常に便利です。+こちらもそのままでは使えないことも多いですが、**プログラムを書き始める時の"たたき台"として使ったり、有名ライブラリの使い方を訊いてみる**といった用途などで非常に便利です。
      
-   
-<panel type="info" title="まつはちさんからのアドバイス"> 
-===== 回路のデバッグについて ===== 
- 
-この項は私が回路デバッグをする際に実行していることです。 
-初心者向けではない部分もありますが、ご参考までに。 
- 
-==== 回路のデバッグでやるべきことリスト ==== 
-  * 導通チェックをする 
-    * テスターでピーと鳴るか 
-    * 抵抗値を測るのもあり。導通してなければ不定になる 
-  * 電圧を測る 
-  * パーツの極性を確認する 
-  * パーツを外すと状況が変わるか見る。1個ずつ外す、逆に最初に1個から始めて1個ずつ追加していく 
-  * 発熱の場合はどこで発熱してるかを見る 
-  * 素子のスペックを洗い出し、電流や電圧が許容範囲内か再度確認する 
-    * ドロップアウト電圧にも注意してください 
-  * 電子顕微鏡で、挙動が怪しい部分のはんだ状態を観察する 
-    * ショートや、オーバーヒート、いもはんだを確認する 
-  * 電子顕微鏡で怪しいところを観察する 
-  * オシロスコープで波形を見る 
-    * 異常発熱時など、オシロに負荷かかりそうな場合はできる限りのことをやってからにする 
- 
-==== テスターについてのメモ ==== 
-  * ちょっとだけピッとなるのはコンデンサの影響。導通してるわけではないです 
-  * 電流は、流れてる線をぶった切って直列につないで測る 
- 
-</panel> 
-