class ADC -- アナログ-デジタル変換

ADC クラスは、ピン(またはオンチップアナログチャネルの 1 つ)上の電圧をサンプリングしてその離散化された値を返す、単一のアナログ-デジタルコンバータチャネルをラップします。

使用例:

from machine import ADC, Pin

adc = ADC(Pin("P6"))      # ADC channel on header pin P6 (PA5)
val = adc.read_u16()      # raw reading scaled to 0..65535

コンストラクタ

class machine.ADC(id: int | str | Pin) ADC

id で識別されるアナログソースに対して ADC オブジェクトを構築します。受け付けられる形式は次のとおりです。

  • 整数のチャネル番号(STM32 では 0 -- 18、その他ではポート固有)。

  • Pin オブジェクト、または "P6" のようなボードピン文字列。ピンはアナログ対応でなければなりません。

  • MCU の内部センサーを読み取るための内部チャネル定数(CORE_TEMPCORE_VREFCORE_VBATVREFCORE_VDD)のいずれか。STM32 のみ。

メソッド

read_u16() int

アナログチャネルを 1 回サンプリングし、その結果を符号なし 16 ビット整数(0 -- 65535)として返します。低解像度の ADC は 16 ビット範囲に左詰めされるため、ポート固有の生の解像度は隠蔽されます。

read_uv() int

アナログチャネルをサンプリングし、その結果をマイクロボルト単位で返します。ハードウェアが対応している場合、読み取り値は内部リファレンスに対して校正されます。mimxrt ポートのみ。

定数

以下の定数は STM32 ポートでのみ利用可能です。これらを id 引数として渡すと、オンチップアナログセンサーの 1 つを読み取る ADC を構築できます。read_u16() の結果はそのチャネルの生の 16 ビット読み取り値です。校正済みの値が必要な場合は pyb.ADCAll のヘルパーを使用してください。

VREF: int

外部電圧リファレンスチャネル。

CORE_VREF: int

内部 1.21 V(公称)電圧リファレンスチャネル(VREFINT)。

CORE_TEMP: int

内部ダイ温度センサーチャネル。

CORE_VBAT: int

バックアップ電池電圧チャネル(VBAT)。

CORE_VDD: int

MCU 電源レールチャネル(VDDA)。