ESP8266連接超聲波模塊


ESP8266連接超聲波模塊

HC-SR04四腳模塊:

超聲波模塊到底是怎么運行的呢?

在使用之前我們必須弄清楚這個傳感器的運行方法,因為傳感器本身只是把它的“ECHO”引腳保持在高電平,使之持續一段時間,這對應於從發送的波形到接收反射(回波)所花費的這一段時間。

模塊發出一陣聲波,同時向回聲引腳施加電壓。

該模塊從聲波接收反射並從回波引腳消除電壓。

在測距的時候,超聲波傳感器中產生脈沖將數據發送到NodeMCU或任何其它的微控制器。

起始脈沖約為10us,基於距離的PWM信號將為150 us-25us。如果沒有障礙物,則NodeMCU生成38us脈沖,以確認沒有檢測到物體。

image-20220323221536349

image-20220323221734348

  • 接線:esp8266——HC-SR04
  • vin(5v)——vcc
  • TRIG——D4(gpio2)
  • ECHO——D3(gpio0)
  • GND——GND

讀數代碼:

const int trigPin = 2;  //D4
const int echoPin = 0;  //D3
float distance;
// 定義變量
void setup() {
    Serial.begin(9600);
    pinMode(trigPin, OUTPUT); // 將trigPin設置為輸出
    pinMode(echoPin, INPUT); // 將echoPin設置為輸入
    
}
void loop() {
    // Clears the trigPin
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    
    //將trigPin設置為HIGH狀態10微秒
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    
    // 讀取echoPin,以微秒為單位返回聲波傳播時間
    distance =pulseIn(echoPin, HIGH) / 58.00;
    
    // 打印距離在串行監視器
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println("cm");
    delay(500);
}
  • 探測距離計算公式:

image-20220323222157247

注意

一個系統內一定要共地,外接電源多個時也要共地,不然通信信息讀取會有問題。

代碼補充

由於D4口連接了板內的一個LED燈,所以使用D4口時,rst板會發生無法讀數的結果,所以建議不要使用D0和D4口。

//const int trigPin = 2;  //D4
//const int echoPin = 0;  //D3
const int trigPin = 5;  //D1
const int echoPin = 4;  //D2
float distance;
// 定義變量
void setup() {
    Serial.begin(115200);
    pinMode(trigPin, OUTPUT); // 將trigPin設置為輸出
    pinMode(echoPin, INPUT); // 將echoPin設置為輸入
    
}
void loop() {
    // Clears the trigPin
    Serial.print("begin!");
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    
    //將trigPin設置為HIGH狀態10微秒
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    
    // 讀取echoPin,以微秒為單位返回聲波傳播時間
    distance =pulseIn(echoPin, HIGH) / 58.00;
    
    // 打印距離在串行監視器
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.println("cm");
    delay(2000);
}

image-20220324135827172

image-20220324135910882


免責聲明!

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



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