Arduino-advanced-io-function

提供:Dev Guides
移動先:案内検索

Arduino-高度なI/O機能

この章では、いくつかの高度な入出力関数について学習します。

analogReference()関数

アナログ入力に使用される基準電圧を設定します(つまり、 入力範囲の上限として使用される値)。 オプションは-

  • DEFAULT -5ボルト(5V Arduinoボード上)または3.3ボルト(3.3V Arduinoボード上)のデフォルトアナログリファレンス
  • 内部-ATmega168またはATmega328では1.1ボルト、ATmega8では2.56ボ​​ルトに等しい組み込みリファレンス(Arduino Megaでは使用不可)
  • INTERNAL1V1 -組み込みの1.1Vリファレンス(Arduino Megaのみ)
  • INTERNAL2V56 -組み込みの2.56Vリファレンス(Arduino Megaのみ)
  • EXTERNAL -AREFピンに印加される電圧(0〜5Vのみ)が基準として使用されます

analogReference()関数の構文

analogReference (type);
*type* -以下の任意のタイプを使用できます(DEFAULT、INTERNAL、INTERNAL1V1、INTERNAL2V56、EXTERNAL)

AREFピンの外部リファレンス電圧に0V未満または5Vを超えるものを使用しないでください。 AREFピンで外部リファレンスを使用している場合、* analogRead()*関数を呼び出す前に、アナログリファレンスをEXTERNALに設定する必要があります。 そうしないと、アクティブな基準電圧(内部生成)とAREFピンが短絡し、Arduinoボードのマイクロコントローラーが損傷する可能性があります。

マイクロコントローラー

または、5Kの抵抗を介して外部基準電圧をAREFピンに接続し、外部基準電圧と内部基準電圧を切り替えることができます。

AREFピンには内部32K抵抗があるため、抵抗はリファレンスとして使用される電圧を変更することに注意してください。 2つは分圧器として機能します。 たとえば、抵抗を介して2.5Vを印加すると、AREFピンで2.5 * 32/(32+ 5)=〜2.2Vになります。

int analogPin = 3;//potentiometer wiper (middle terminal) connected to analog pin 3
int val = 0;//variable to store the read value

void setup() {
   Serial.begin(9600);//setup serial
   analogReference(EXTERNAL);//the voltage applied to the AREF pin (0 to 5V only)
     //is used as the reference.
}

void loop() {
   val = analogRead(analogPin);//read the input pin
   Serial.println(val);//debug value
}