analogRead(pin)原文指定したアナログピンから値を読み取ります。Arduino Unoは6チャネルの10ビットADコンバータを搭載しています(ADはanalog to digitalの略)。これにより、0Vから5Vの入力電圧を0から1023の数値に変換することができます。分解能は1単位あたり4.9mVとなり、この処理は約100μ秒(0.0001秒)かかります。つまり、毎秒1万回が読み取りレートの上限です。 Uno以外のボードには、ADコンバータの数と分解能が異なるものがあります。たとえば、MKRファミリーのボードは7チャネルの12ビットADコンバータを持っていて、電圧範囲は0〜3.3Vです。 【パラメータ】 pin:読みたいピンの番号 【戻り値】 0から1023までの整数値 (12ビットADコンバータ搭載機では0〜4095) 【例】 可変抵抗器(ポテンショメータ)のダイアルの位置に連動するLED。指定した閾値を超えると点灯する。 int analogPin = 3; // ポテンショメータのワイプ(中央の端子)を接続する // 両端はグランドと+5Vに接続 int val = 0; // 読み取った値を格納する変数 void setup() { Serial.begin(9600); // シリアル通信の初期化 } void loop() { val = analogRead(analogPin); // アナログピンを読み取る Serial.println(val); } 【補足】 何も接続されていないピンに対してanalogReadを実行すると、不安定に変動する値が得られます。これには様々な要因が関係していて、手を近づけるだけでも値が変化します。 [目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [Arduino wiki]