Arduino 日本語リファレンス


指定したアナログピンから値を読み取ります。Arduinoボードは6チャネル(miniは8チャネル)の10ビットADコンバータを搭載しています(ADはanalog to digitalの略)。これにより、0から5ボルトの入力電圧を0から1023の数値に変換することができます。分解能は1単位あたり4.9mVとなります。

この処理は約100μ秒(0.0001秒)かかります。つまり、毎秒1万回が読み取りレートの上限です。

【パラメータ】

pin: 読みたいピンの番号

読み取りに使いたいピンの番号を整数で指定します。ほとんどのボードでは0から5が有効な数値です。Arduino miniのようにQFPタイプのATmega168を搭載しているボードでは、0から7が有効です。

【戻り値】

0から1023までの整数値

【例】

可変抵抗器(ポテンショメータ)のダイアルの位置に連動するLED。指定した閾値を超えると点灯する。

int ledPin = 13;       // LEDをデジタルピン13に接続
int analogPin = 3;     // ポテンショメータのワイプ(中央の端子)に
                       // 両端はグランドと+5Vに接続
int val = 0;           // 読み取った値を格納する変数
int threshold = 512;   // 閾値

void setup() {
  pinMode(ledPin, OUTPUT);   // ピン13を出力に設定
  Serial.begin(9600);        // シリアル通信の初期化
}

void loop() {
  val = analogRead(analogPin);    // アナログピンを読み取る
  Serial.println(val);            // デバグ用に送信

  if (val >= threshold) {
    digitalWrite(ledPin, HIGH);   // LEDをオンに
  } else {
    digitalWrite(ledPin, LOW);    // LEDをオフに
  }
}

【補足】

アナログピンはデジタルピンと違い、入力がデフォルトです。INPUTかOUTPUTかを設定する必要はありません。



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [Arduino wiki]