Arduino-高度なI / O機能

この章では、いくつかの高度な入力および出力機能について学習します。

AnalogReference()関数

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

  • DEFAULT − 5ボルト(5V Arduinoボードの場合)または3.3ボルト(3.3V Arduinoボードの場合)のデフォルトのアナログリファレンス

  • INTERNAL − 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ピンで外部リファレンスを使用している場合は、を呼び出す前にアナログリファレンスをEXTERNALに設定する必要があります。analogRead()関数。そうしないと、アクティブな基準電圧(内部で生成された)とAREFピンが短絡し、Arduinoボード上のマイクロコントローラーが損傷する可能性があります。

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

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

Example

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
}