正確なA2D測定のために、未使用のすべてのアナログ入力ポートをグランドに接続する必要がありますか?


18

Arduino UnoのA0ポートを使用して、LM35温度センサーからの電圧出力を読み取ります。残りのアナログ入力ポートA1〜A5をフローティングのままにすると、読み取り値が大きく変動することがわかりました。浮動アナログ入力は、一部の信号に接続された入力ポートの読み取り精度に影響しますか。

回答:


12

フローティングピンはアンテナとして機能し、周囲の値に干渉する可能性があります。これは、アナログを使用する主な欠点の1つです。

最小限の干渉で最も正確な測定値を取得するために、未使用の入力をすべてグランドにプルできます。

精度はセンサー自体によって決定されるため、精度は変わりません。ただし、ノイズ/干渉の量が減るため、より正確な測定値が得られます。

これらのグランドへのプルは、未使用のアナログピンをデジタル出力として設定し、ローに設定することで実現できます。

pinMode(A1, OUTPUT);
digitalWrite(A1, LOW);

それが幸運な推測であるかどうかはわかりませんが、出力ピン(Anを含む)を低く駆動することも最もエネルギー効率の良い方法です。高く駆動するか、プルアップを有効にすると、電源からより多くのエネルギーを消費します。
ジッピー14

@jippie-ボードの漏れがない場合、ほぼ同じ電力を消費する可能性があります。漏れがある場合、それは電源またはグランドのどちらであるかによります。
コナーウルフ

1
@FakeNameいいえ、そうではありません。私はまさにその問題に関する記事を読みました。ピンをローに駆動すると、ハイインピーダンスのままにするのとほぼ同じ電流がかかります。ハイまたはプルアップを駆動すると、より多くの電流が流れます。今日は後で記事を見つけようとします。
ジッピー14

私はこの記事を読んでいませんが、すべてのピンをハイに駆動すると、すべてのローよりもわずかに多くの電流が流れることを確認できます。
サイバーギボン14

@jippie-ええ、それは奇妙です。トーテムポール出力は対称になると思います。ゴーフィギュア!
コナーウルフ

0

未使用のピンをOUTPUT / LOWに設定しても、PULLUPを有効にしたINPUTよりも消費電力が少し少なくても、2番目のオプションのほうがより節約できます。

他の誰かを引用するには:

誤って出力セットのホットワイヤに触れた場合、プロセッサを短絡させてフライします。誤ってアース線を出力セットの高さに触れた場合、プロセッサを短絡させてフライします。誤ってプルアップで入力にどちらかのワイヤを触れても気付かないでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.