Arduino日本語リファレンス


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までお送りください [ドキュメント一覧]