| 指定したアナログピンから値を読み取ります。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]