NOBのArduino日記!

NOBのArduino日記!

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

Arduino IDE(analogReference関数の使い方)

■analogReference関数
 analogReference関数は、アナログ入力に使用される基準電圧※1を設定します。
※1:アナログ入力電圧をデジタル変換する際にGND(0V)と共に使用する上限の電圧

■関数の構文
 analogReference(type)

■関数のパラメータ
 使用出来る型(type)は表1の通りです。

表1:基準電圧に使用出来る型一覧
項目 内容
DEFAULT 5V Arduinoボードの場合は5V
3.3V Arduinoボードの場合は3.3V
INTERNAL ATmega168またはATmega328では1.1V
ATmega8では2.56V
Arduinoメガでは使用出来ません
INTERNAL1V1 Arduino Megaのみ使用可能で1.1V
INTERNAL2V56 Arduino Megaのみ使用可能で2.56V
EXTERNAL AREFピンに印加される電圧(0〜5Vのみ)が使用可能。

 

■関数の戻り値

 有りません

■関数の補足

①アナログリファレンスを変更した後、analogRead()からの最初の数回の読みは正確ではない可能性が有ります。

②AREFピンに外部基準電圧として0V未満または5V以上を使用しないでください。
 AREFピンで外部基準電圧を使用する場合は、analogRead関数を呼び出す前にアナログ基準電圧をEXTERNALに設定する必要があります。
 この設定を行わないとアクティブ基準電圧(内部生成)とAREFピンが短絡し、マイクロコントローラを損傷する可能性があります。
 上記対策として外部基準電圧を5kΩ抵抗を介してAREFピンに接続する事で、外部基準電圧と内部基準電圧を切り替えることができます。
 AREFピンには内部32kΩ抵抗があるため、上記抵抗は基準として使用される電圧を変化させます。
 この2つの抵抗は分圧器として機能する為、以下の例に示す関係が有ります。

例)外部基準電圧2.5Vが5kΩ抵抗を介してAREFピンに印加した時の電圧
AREFピンへの印加電圧(V)=2.5V × 32kΩ ÷(32kΩ + 5kΩ)= 2.2V

 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る