經測試發現,原本ESP32有16CH的ADC,當WiFI啟動後, 只剩下GPIO 36、39、34、35、 32、33等6隻腳可以用,esp-idf 環境尚未測試,所以規劃時可以將這6隻腳對應到原本 arduino 的A0~A5 。
測試程式如下:
#include <WiFi.h> int pinADC[]={36, 39, 34, 35, 32, 33, 25, 26, 27, 14, 12, 13, 4, 0, 2, 15}; const char* ssid = "yourssid"; const char* password = "yourpasswd"; void setup() { for (int i=0; i<16; i++) pinMode(pinADC[i], ANALOG); Serial.begin(115200); WiFi.begin(ssid, password); //remove this line to get 16ch ADC } void loop() { // only 6ch ADC is enabled if Wifi is begun for (int i=0; i<16; i++) { Serial.print("["); Serial.print(pinADC[i]); Serial.print("]"); Serial.print(analogRead(pinADC[i])); Serial.print(" "); } Serial.println(); delay(1000); } |