NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(analogRead関数の使い方)

analogRead関数
 analogRead関数は指定したアナログピンから値を読み取ります。
 Arduinoボードは6チャネル(miniは8チャネル、Megaは16チャネル)の10ビット(2の10乗=1024分解能)ADコンバータを搭載しています(ADはanalog to digitalの略)。
 これにより、0から5ボルトの入力電圧を0から1023の数値に変換することができます。分解能は1単位あたり4.9mVとなります。 
 この処理は約100μ秒(0.0001秒)かかります。つまり、毎秒1万回が読み取りレートの上限です。

 Arduino IDEで使用するanalogRead関数の使い方は以下の通りです。
 試しにこのプログラムをArduino UNO実行すると、A0,A1,A2番ピンの電圧を10回測定し、測定結果(0~1023の整数)をPCのシリアルモニター上に表示します。
void setup() {                     //一回だけ実行
  Serial.begin(9600);           //9600bpsでシリアルポートを開く
}

void loop() {                        //{}内を無限ループで実行
  int A = 0, B = 0, C = 0 ;     //A,B,Cをint型の変数として宣言(毎回0にリセット)
  for (byte i = 0; i < 10; i++) { //A0,1,2ポートの電圧を10回読み平均値を出す
    A = A + analogRead(0); B = B + analogRead(1); C = C + analogRead(2);
  }
  A = A / 10, B = B / 10, C = C / 10;
  Serial.print(A);                   //Aの値をシリアル出力します
  Serial.print(":");                  //:をシリアル出力します
  Serial.print(B);                   //Bの値をシリアル出力します
  Serial.print(":");                  //:をシリアル出力します
  Serial.println(C);                //Cの値をシリアル出力します
  delay(1000);                     //1000ms(1秒)待ちます
}
イメージ 1
図1:プログラム例

 

analogRead(pin)パラメータ
pin     :読み取りに使いたいピンの番号を整数で指定します。
 
analogReadができるピン
Arduino UNO の場合「A0,A1,A2,A3,A4,A5番ピン」の計6本です。
※その他Arduinoの場合はこちら「ピン配置図」をご覧ください。
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る