arduino超声波测距接线图详细_使用Arduino UNO开发板和超声波传感器测量距离
超聲波傳感器不僅提供距離測量實用程序,而且沒有任何物理接觸,但需要我們在無噪音和光線的情況下進行測量,與基于激光的距離測量儀器不同。此外,即使在基于激光的儀器經常降低其效率的日光下,這些儀器也便宜且更可靠。距離測量儀器已經使用了幾個世紀,并且隨著時間的推移已經在其設計中進行了改進。今天,諸如尺和英寸帶之類的距離測量儀器已經過時,并且數字儀器被用于更大規模的這種目的。從一點測量任何距離的高精度和更方便使得該過程容易。這種儀器廣泛用于建筑工地和液位監測。在需要精確和遠程控制液位監測的容器和場所中,基于超聲波傳感器的距離測量儀器易于操作。由于該設計基于嵌入式系統,整個過程由微控制器控制,因此可以添加許多功能。例如,遠程傳輸液位和相應的數字流體開關的ON / OFF功能。
Distance-measurement-arduino.jpg (65.83 KB, 下載次數: 154)
2018-10-4 16:47 上傳
理論知識
Arduino UNO開發板因其龐大的庫和簡單的編程而受到歡迎。帶有多個定時器的數字和I / O引腳使我們能夠輕松地設計和開發復雜項目。 Arduino UNO開發板兼容各種傳感器,并以低成本提供卓越的效率。微控制器是一個免費的源設計,是世界上最苛刻的電路板之一。
超聲波傳感器也稱為聲納傳感器已經使用了數十年。它們曾被用于海上船舶的測繪和機械系統中破損/故障部件的檢測。超聲波傳感器通過發射超聲波來工作,這些波浪撞擊發射器前方的障礙物。波被反射并撞擊接收器。相對于超聲波的速度,波從發射到接收所花費的時間用于測量前方存在的障礙物的距離。
空氣中聲速約為每秒341米(1100英尺)。超聲波距離傳感器使用該信息以及發送和接收聲音信號之間的時間差來確定物體之間的距離。它使用以下數學公式。
距離=時間x聲速除以2
時間=發送超聲波與接收超聲波之間的時間
此數字除以2,因為聲波必須傳播到物體并返回。
由于在模擬中物理上不能改變距離,因此SR04的仿真模型與電位計連接,并且使用該電位計改變傳感器的距離。
ultrasonic-distance-sensor.jpg (50.75 KB, 下載次數: 155)
2018-10-4 16:47 上傳
距離的測量需要以某種方式表達,對于嵌入式系統,最好的方法是使用LCD。基于16×2 HDD44780驅動器的LCD以低廉的價格提供高效,流暢的功能。 16列和2行提供足夠的空間來顯示結果。 LCD與所有型號的Arduino板均兼容,因此也適用于該項目。
需要的組件
該項目所需的組件簡單且成本低。
●? ? Arduino UNO開發板
●? ? 超聲波傳感器SR04
●? ? LCD液晶顯示屏1602(基于HDD44780驅動)
●? ? 6v電池或5v USB電源(移動適配器/筆記本電腦)
●? ? 10K電位器
●? ? 連接導線
●? ? 面包板
連接原理圖
Arduino-UNO-Ultrasonic-Distance-Measurement-1.jpg (120.28 KB, 下載次數: 159)
2018-10-4 16:47 上傳
仿真
在這里已經演示了基于Proteus 8的仿真模型。該仿真使設計人員和開發人員能夠在進行硬件設計之前驗證電路的功能。如果最終產品由于錯誤的連接而無法運行,則直接在PCB或veroboard上開發硬件會很緊張。模擬有助于跟蹤錯誤和改進設計,您可以隨時為您的設計添加更多創意,并在模擬上進行測試。用于Arduino UNO和超聲波傳感器的仿真模型在互聯網上很容易獲得。所需的唯一工作是按照電路圖中的描述連接所有組件。
該項目的工作機制簡單易懂。超聲波傳感器有4個引腳,其中2個引腳用于供電,其余2個引腳用于觸發和回波。 MCU通過觸發引腳發送超聲波,然后在回波引腳上讀取超聲波的接收時間。定義超聲波行進的速度,并因此測量距離。
必須在其仿真模型中添加Arduino代碼的hex文件。 hex文件以二進制指令的形式提供給MCU進行處理。
LCD用作顯示結果的圖形界面。 可以通過在引腳3上提供0-5v來調整顯示亮度,這在模擬的情況下是不必要的,但是適用于硬件設計。 確保引腳與Arduino小心連接,如電路圖中所述。
10k Preset的使用僅用于在傳感器之間制作對象的模擬中。這里預設作為對象。
使用帶超聲波傳感器的電位器使用戶能夠控制傳感器的輸入距離并相應地觀察結果的變化。該電位計的值必須高于1K歐姆。
由于仿真模型確保了設計的正常運行,因此如果您的仿真工作正常,您可以繼續開發硬件設計。但是,如果您的模擬無法正常工作,則需要對錯誤進行故障排除。
如果您的液晶顯示屏顯示距離且變化但距離不正確,您可能會以錯誤的方式指示您的超聲波傳感器,確保目標障礙物和超聲波傳感器之間的路徑暢通,并且傳感器面臨障礙物。或者,超聲波傳感器與Arduino的連接可能是錯誤的。如果液晶顯示屏上沒有顯示,則需要檢查LCD與Arduino的代碼和連接。
如果未按照電路圖中的說明連接所有組件,則模擬可能不起作用或未按預期顯示。
代碼
代碼已在Arduino IDE上成功編譯。代碼從LCD庫開始。定義LCD和Arduino UNO的引腳連接,用于正常通信。然后定義所有使用的組件和引腳。
在setup()函數中定義了波特率,并在引腳的輸入/輸出功能之間進行選擇。這里定義了LCD尺寸1602,以及最初幾個命令用于清除LCD。
loop()函數包含指令的主體。只要MCU運行,它就會不斷迭代。這里使用多個命令處理基于超聲波的測量的整個機制。使用命令在LCD上顯示計算后計算距離。
#include ;
LiquidCrystal LCD(10,9,5,4,3,2);
const int trigPin=13;
const int echoPin=11;
int myCounter=0;
int servoControlPin=6;
long distance , duration;
void setup() {
Serial.begin (9600);
LCD.begin (16,2);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
LCD.setCursor(0,0);
}
void loop() {
digitalWrite(13,LOW); //
delayMicroseconds(2000);
digitalWrite(13,HIGH);
delayMicroseconds(15);
digitalWrite(13,LOW);
delayMicroseconds(10);
duration = pulseIn(11, HIGH); //To receive the reflected signal.
distance= duration*0.034/2;
LCD.setCursor(0,0); //set the cursor to column 0 and line 1
LCD.print(” Distance meter”);
LCD.setCursor(0,1);
LCD.print(“Distance = “);
LCD.print(distance);
LCD.print(“cm”);
}復制代碼
總結
以上是生活随笔為你收集整理的arduino超声波测距接线图详细_使用Arduino UNO开发板和超声波传感器测量距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【运维小工具】 - Mac OS 如何查
- 下一篇: vivo系统升级服务器,vivo-智能手