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
}