いっぺーちゃんの いろいろやってみよ~

micropython on ESP32 でDAC

今更だけど備忘録として。

ESP32でアナログ電圧を出力するのにDAC(Digital-Analog Converter)を使用できます。
DAC出力端子として、Pin25、Pin26を指定できます。
それ以外の端子を指定すると例外ValueErrorがraise されます。
初期化は以下のように実行します。
初期化直後の出力レベルは0Vです。

import machine

pin25 = machine.Pin(25,machine.Pin.OUT)
dac0 = machine.DAC(pin25)

 

DACの出力レベルを変更するには以下のように実行します。
値は0~255が指定可能で、指定値/256* VDD が出力されます(ま、精度はアレなので、大体ね)。
範囲外の値を指定すると例外ValueErrorがraise されます。

dac0.write(100)

 

設定端子を確認するには以下のように実行します。
現在の出力レベルは取得できないようです。

print(dac0)
    ==> DAC(Pin(25))