ESP8266 ADC(模擬輸入)
ESP8266-12E 和 ESP8266-07 都有一個易於訪問的 ADC 引腳。這意味着這些 ESP8266 板可以讀取模擬信號。
ESP8266 ADC 規格
在參考 ESP8266 ADC 引腳時,您經常會交替聽到這些不同的術語:
- ADC(模擬數字轉換器)
- TOUT
- Pin6
- A0
- Analog Pin 0
所有這些術語都引用 ESP8266 中的同一針腳。
ESP8266 ADC 分辨率
ADC 引腳具有 10 位分辨率,也就是210 ,所以我們可以獲得介於 0 和 1023 之間的值。
ESP8266 輸入電壓范圍
如果使用裸芯片,ESP8266 ADC 引腳輸入電壓范圍為 0 至 1V。但是,ESP8266 開發板都配有內部分壓器,因此輸入范圍為 0 至 3.3V。
- ESP8266 開發板中的 ADC 電壓范圍:0 至 3.3V(例如:ESP8266 12-E NodeMCU 套件、WeMos D1 Mini、...)
- ESP8266 芯片中的ADC電壓范圍:0至1V(例如:ESP-07芯片、ESP-12E芯片等)
ESP8266 模擬引腳
借助 ESP8266 12-E NodeMCU 套件和其他 ESP8266 開發板,只需將跳線連接到引腳即可輕松訪問 A0(請參見下圖)。
需要零件
為了向您展示如何在 ESP8266 中使用模擬讀數,我們將從電位計讀取值。為此,您需要將電位計連接到您的電路板。
以下是完成本教程所需的硬件:
- 推薦: ESP8266-12E NodeMCU 套件
- 替代:1x ESP8266-07 芯片或 1x ESP8266-12E 芯片+ 串口下載線CH340G模塊
- 100 歐姆電阻器(如果您使用裸芯片,需要)
- 220 歐姆電阻器(如果您使用裸芯片,需要)
- 1k 歐姆電位計
- 面包板
- 跳線
示意圖
如果您使用的是 ESP8266 開發板,請按照下一個示意圖操作。
如果使用的ESP8266 芯片的輸入電壓范圍為 0V 至 1V,則需要確保 A0 引腳上的輸入電壓不超過 1V。因此,您需要一個分壓器電路,如下所示。
我們使用的是 100 歐姆和 220 歐姆電阻器,因此 Vout 是 1V。
使用 Arduino IDE
首先要在 Arduino IDE 中安裝 ESP8266的支持庫文件
為了將代碼上傳到 ESP8266,您需要先安裝 ESP8266 加載項(如果尚未安裝)。按照下一教程操作:
const int analogInPin = A0; //ESP8266模擬引腳ADC0,也就是A0
int sensorValue = 0;
void setup() {
// 初始化串口的波特率為115200
Serial.begin(115200);
}
void loop() {
//讀取模擬數值
sensorValue = analogRead(analogInPin);
// 打印串行監視器中的讀數
Serial.print("sensor = ");
Serial.print(sensorValue);
delay(1000);
}
上傳代碼后,以 115200 的波特率打開串行監視器。
旋轉電位計,查看值增加或減少。