Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2632
スポンサーリンク

analogReference

スポンサーリンク
スポンサーリンク

説明

analogReadで、アナログ入力を行う場合の基準電圧を引数 type で設定します。
analogReadで読み取った電圧が、ここで指定した基準電圧と同じ場合、analogReadで読み取るデータは1023を返します。

※EXTERNAL指定する場合、AREFピンに接続される電圧値はボード電圧の上下に影響されない電圧を供給する必要があります。

書き方 analogReference(type)
戻り値 なし
引数 type ボードによって異なる(下記を参照)
Arduino AVRボード(Uno、Mega、Leonardoなど)
type 内容
DEFAULT ボード動作電圧(5Vもしくは3.3V)
INTERNAL ATmega168またはATmega328Pでは1.1V
ATmega32U4およびATmega8では2.56V
Arduino Megaでは使用不可
INTERNAL1V1 Arduino Mega専用 内蔵1.1V
INTERNAL2V56 Arduino Mega専用 内蔵2.56V
EXTERNAL AREFピンに印加される電圧(0〜5Vのみ)が基準として使用されます
Arduino SAMDボード(Zeroなど)
type 内容
AR_DEFAULT 3.3Vのデフォルトのアナログリファレンス
AR_INTERNAL 組み込みの2.23Vリファレンス
AR_INTERNAL1V0 組み込みの1.0Vリファレンス
AR_INTERNAL1V65 内蔵1.65Vリファレンス
AR_INTERNAL2V23 組み込みの2.23Vリファレンス
AR_EXTERNAL AREFピンに印加された電圧が基準として使用されます
Arduino megaAVRボード(Uno WiFi Rev2)
type 内容
DEFAULT 内蔵0.55Vリファレンス
INTERNAL 内蔵0.55Vリファレンス
VDD ATmega4809のVdd。Uno WiFiRev2で5V
INTERNAL0V55 内蔵0.55Vリファレンス
INTERNAL1V1 内蔵1.1Vリファレンス
INTERNAL1V5 内蔵1.5Vリファレンス
INTERNAL2V5 内蔵の2.5Vリファレンス
INTERNAL4V3 内蔵4.3Vリファレンス
EXTERNAL AREFピンに印加される電圧(0〜5Vのみ)が基準として使用されます
Arduino SAM Boards (Due)
type 内容
AR_DEFAULT 3.3Vのデフォルトのアナログリファレンス。これは、Dueでサポートされている唯一のオプションです。
Arduino mbed対応ボード(Nano 33 BLEのみ):
Arduino mbed対応ボードプラットフォーム、またはArduino nRF528xボード(Mbed OS)プラットフォームバージョン1.1.6以降を使用している場合に使用可能
AR_VDD デフォルトの3.3Vリファレンス>
AR_INTERNAL 内蔵0.6Vリファレンス
AR_INTERNAL1V2 1.2 Vリファレンス(2倍ゲインの内部0.6 Vリファレンス)
AR_INTERNAL2V4 2.4 Vリファレンス(4倍ゲインの内部0.6 Vリファレンス)

注意

引数 type を変更後は、analogReadの戻り値が何回か不正確になることがあるので安全のために何回か空読みをしておく。

外部基準電圧は、0Vよりも低い、もしくは、5Vよりも高い電圧をAREFピンに入力すると、マイクロコントローラを壊す可能性があるので気を付けること。

AREFピンの外部参照電圧を利用するときは、必ず analogRead を呼ぶ前に本関数でEXTERNALに設定すること。そうしないと、内部で発生させている参照電圧とAREFピンとがショートし、Arduinoボードのマイクロコントローラを破壊することがある。

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

クムクムロボットロボットでは

クムクムロボットロボット(R3J)では、電池やUSBからの5VをDCDCコンバータを使い安定した3.3Vに変換した電圧をAREFに接続することで安定した基準電圧を外部から供給しています。

またそのため、電池電圧は抵抗によって分圧した2.5Vをアナログピンに接続し analogReadで電圧監視をしています。

タイトルとURLをコピーしました