GPIO
PIN | G22 | G19 | G23 | G33 | G21 | G25 | G26 | G32 |
digitalRead() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
analogRead() | ○※1 | ○ | △※2 | △※2 | ○ | |||
touchRead() | ○ | ○ | ||||||
dacWrite() | ○ | ○ | ||||||
digitalWrite() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
ledcWrite() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
※1 GPIO34として使用
※2 無線使用時不可
ADコンバータ
減衰設定
測定上限
- ADC.ATTN_0DB(減衰率を適用なし):1.2V
- ADC.ATTN_2_5DB(2.5dBの減衰率):1.5V
- ADC.ATTN_6DB(6dBの減衰率) :2.5V
- ADC.ATTN_11DB(11dBの減衰率) :3.3V
測定範囲
- ADC.ATTN_0DB(減衰率を適用なし):100mV~950mV
- ADC.ATTN_2_5DB(2.5dBの減衰率):100mV~1250mV
- ADC.ATTN_6DB(6dBの減衰率) :150mV~1750mV
- ADC.ATTN_11DB(11dBの減衰率) :150mV~2450mV
変換式
下記のサイトの測定結果のグラフから算出した電圧取得式
http://radiopench.blog96.fc2.com/blog-entry-1034.html
import machine
adc = machine.ADC(machine.Pin(33))
adc.atten(machine.ADC.ATTN_11DB)
Vout = adc.read_u16()* 3.490/65535 + 0.128
adc.atten(machine.ADC.ATTN_6DB)
Vout = adc.read_u16()* 1.887/65535 + 0.083
adc.atten(machine.ADC.ATTN_2_5DB)
Vout = adc.read_u16()* 1.367/65535 + 0.076
adc.atten(machine.ADC.ATTN_0DB)
Vout = adc.read_u16()* 1.024/65535 + 0.076
参照サイト
MicroPython ESP32 用クイックリファレンス
https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.html