模數轉換器(adc)
esp32有18 x 12位adc輸入通道(而esp8266只有1 x 10位adc)。這些是可用作adc和相應通道的gpio:
adc1_ch0 (gpio 36)
adc1_ch1 (gpio 37)
adc1_ch2 (gpio 38)
adc1_ch3 (gpio 39)
adc1_ch4 (gpio 32)
adc1_ch5 (gpio 33)
adc1_ch6 (gpio 34)
adc1_ch7 (gpio 35)
adc2_ch0 (gpio 4)
adc2_ch1 (gpio 0)
adc2_ch2 (gpio 2)
adc2_ch3 (gpio 15)
adc2_ch4 (gpio 13)
adc2_ch5 (gpio 12)
adc2_ch6 (gpio 14)
adc2_ch7 (gpio 27)
adc2_ch8 (gpio 25)
adc2_ch9 (gpio 26)
注意:使用wi-fi時不能使用adc2管腳。因此,如果您使用wi-fi,並且無法從adc2 gpio獲取值,則可以考慮改用adc1 gpio。
adc輸入通道具有12位解析度,所以可以獲得0到4095之間的模擬讀數,其中0對應於0v,4095對應於3.3v,還可以在**上設定通道的解析度以及adc範圍。
esp32 adc引腳沒有線性行為,可能無法區分0和0.1v,或3.2和3.3v。在使用adc引腳時,您需要記住這一點。您將得到類似於下圖所示的行為。