ボリューム抵抗 AD変換(アナログ→デジタル変換)でボリューム抵抗の値を読み取ります。

AD変換(アナログ→デジタル変換)

ラズパイPicoでボリューム抵抗の値を読み取ります。

ボリューム抵抗

小型ボリューム B型10KΩです。

回路図

MicroPythonプログラム

from machine import ADC
import time

ADC_PIN = 0
VREF = 3.3

analog = ADC(ADC_PIN)

while True:
    value = analog.read_u16()
    volt = value / 65536 * VREF
    print('value : {} Volt : {:.2f}V'.format(value, volt))
    time.sleep(0.5)
A/D コンバータは入力された電圧を 0V ~ 基準電圧 の範囲で等分してデジタル値に割り当てられます。
Raspberry Pi Pico の A/D コンバータの分解能は 12bit で 0 ~ 4095 の範囲で割り当てられます。MicroPython はこの値を 16bit に自動的に変換し 0 ~ 65535 の範囲に変換されます。
そこで実際の電圧を次の式で求めます。
volt(電圧) = value(読み取った数値) / 65536 * VREF(入力された電圧)

実行

ボリューム抵抗のつまみを回したときの電圧値がコンソールに表示されます。

詳しくは

自由研究

抵抗値の違うボリュームを使って較べてみましょう。