■analogReference関数
analogReference関数は、アナログ入力に使用される基準電圧※1を設定します。
※1:アナログ入力電圧をデジタル変換する際にGND(0V)と共に使用する上限の電圧
■関数の構文
analogReference(type)
■関数のパラメータ
使用出来る型(type)は表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
励みになりますのでよければクリック下さい(^o^)/