模擬輸入(ADC-A0)


 

ESP8266具有內置的10位ADC,只有一個ADC通道(A0引腳),即只有一個ADC輸入引腳可讀取來自外部器件的模擬電壓

ESP8266上的ADC通道和芯片供電電壓復用,也就是說我們可以將其設置為測量系統電壓或者外部電壓

 

測量外部電壓:

analogRead(A0),用於讀取施加在模塊的ADC引腳上的外部電壓;

輸入電壓范圍:   0 - 3.0V之間;

測量精度  由於ADC具有10位分辨率,因此會給出0-1023的值范圍

注意點:    為了支持外部電壓范圍(0-3.3v),NodeMcu做了一個電阻分壓器,如圖所示:

例子

編寫一個讀取NodeMcu的ADC引腳上的模擬電壓。我們這里使用電位器在ADC引腳上提供0-3.3V的可變電壓。如下圖連接線:

 

代碼:

void setup() {
  Serial.begin(115200);//配置波特率
}
 
void loop() {
  Serial.print("ADC Value: ");
  Serial.println(analogRead(A0));//讀取A0腳的數據,輸出0-1023 對應 外部輸入電壓 0-1.0v
  delay(1000);
}

 

 

測量系統VCC電壓:

 

ADC引腳必須保持懸空;在讀取VCC電源電壓之前,應更改ADC模式以讀取系統電壓
ADC_MODE(ADC_VCC);//設置ADC模式為讀取系統電壓
//ADC_MODE(ADC_TOUT)     讀取外部電壓模式---默認
void setup() {
  Serial.begin(115200);//配置波特率
}
 
void loop() {
Serial.print("ESP8266當前系統電壓(mV): ");
Serial.println(ESP.getVcc());//ESP.getVcc()讀取VCC的電壓,單位mv
delay(1000);
}

 

 

 

 

 

 

 

 

天子驕龍 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM