文章目錄標題
ESP8266 ADC –使用Arduino IDE讀取類比值
ESP8266-12E和ESP8266-07均具有一個易於訪問的ADC引腳。這意味著這些ESP8266開發板可以讀取類比信號。在本教程中,我們將向您展示如何通過Arduino IDE在ESP8266上使用類比讀數。
我們將向您展示如何從電位計讀取類比值。
ESP8266 ADC規格
- ADC(類比數位轉換器)
- TOUT
- Pin6
- A0
- 類比引腳0
所有這些術語均指ESP8266中同一引腳,下一節將重點介紹該引腳。
ESP8266 ADC分辨率
ADC引腳具有10位元分辨率,意思是您將得到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-07,則需要將一根導線焊接到該引腳上。
所需零件
這是完成本教程所需的硬件:
- 推薦:ESP8266-12E NodeMCU套件
- 備選:1個ESP8266-07晶片或1個ESP8266-12E晶片
- 100 Ohm電阻器(如果使用裸晶片則需要)
- 220歐姆電阻(如果您使用裸晶片,則需要)
- 1k歐姆電阻
- 麵包板
- 跳線
原理圖,示意圖
如果您使用的ESP8266晶片的輸入電壓範圍為0V至1V,則需要確保A0引腳上的輸入電壓不超過1V。因此,您需要一個分壓器電路,如下所示。
ESP8266 ADC讀取類比值電路
我們使用100歐姆和220歐姆的電阻,因此Vout為1V。
ESP8266使用Arduino IDE進行類比讀取
本節介紹瞭如何使用Arduino IDE使用ESP8266讀取模擬值。
在Arduino IDE中安裝ESP8266
為了將代碼上傳到ESP8266,您需要先安裝ESP8266插件(如果尚未安裝)。遵循下一個教程:
程式碼
將以下程式碼複製到您的Arduino IDE。
/*********
Terry Lee
完整解釋說明在 http://honeststore.com.tw
*********/
const int analogInPin = A0; // ESP8266 Analog Pin ADC0 = A0
int sensorValue = 0; // value read from the pot
void setup() {
// initialize serial communication at 115200
Serial.begin(115200);
}
void loop() {
// read the analog in value
sensorValue = analogRead(analogInPin);
// print the readings in the Serial Monitor
Serial.print("sensor = ");
Serial.println(sensorValue);
delay(1000);
}
該程式碼首先在ESP8266的類比引腳中聲明 analogInPin 變數:
const int analogInPin = A0; // ESP8266 Analog Pin ADC0 = A0
可變電阻值將存儲在 sensorValue 變數:
int sensorValue = 0; // value read from the pot
在setup()函數中,初始化串行監視器以進行調試:
void setup() {
// initialize serial communication at 115200
Serial.begin(115200);
}
在 loog()函數中,我們使用讀取類比值 AnalogRead() 功能並傳遞 類比值作為參考。該值保存在sensorValue 變數中:
sensorValue = analogRead(analogInPin);
最後,讀數顯示在串行監視器上,這樣您就可以實際看到發生了什麼。
Serial.print(sensorValue);
上傳程式碼
將之前的程式碼上傳到ESP8266。確保您選擇正確的開發板和COM端口。轉到工具>開發板,然後選擇要使用的ESP8266型號。在本例中,我們使用的是ESP8266 12-E NodeMCU Kit。
轉到工具>端口,然後選擇ESP8266連接到的COM端口。
按下Arduino IDE上傳按鈕。
示範
上傳程式碼後,以115200的鮑率打開串行監視器。以下為顯示類比讀數。
旋轉可變電阻,觀察值增加或減少。
總結
無論哪種方式,都應始終注意不要超過建議的最大電壓。當需要更高的輸入電壓範圍時,可以考慮添加一個分壓器電路。
我們希望您對本教程有所幫助。如果您剛開始使用ESP8266,建議您參考以下資源:
- 使用ESP8266的家庭自動化(eBook)
- ESP8266入門
- ESP8266 GPIO參考指南
- ESP8266 Web服務器
謝謝閱讀。