日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 基礎(chǔ)入門(mén) >> Arduino開(kāi)發(fā)學(xué)習(xí) >> 正文

Arduino示例教程超聲波測(cè)距實(shí)驗(yàn)含程序代碼

作者:佚名    文章來(lái)源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):    更新時(shí)間:2024/11/2

超聲波傳感器

超聲波是一種超出人類聽(tīng)覺(jué)極限的聲波即其振動(dòng)頻率高于20 kHz的機(jī)械波。超聲波傳感器在工作的時(shí)候就是將電壓和超聲波之間的互相轉(zhuǎn)換,當(dāng)超聲波傳感器發(fā)射超聲波時(shí),發(fā)射超聲波的探頭將電壓轉(zhuǎn)化的超聲波發(fā)射出去,當(dāng)接收超聲波時(shí),超聲波接收探頭將超聲波轉(zhuǎn)化的電壓回送到單片機(jī)控制芯片。超聲波具有振動(dòng)頻率高、波長(zhǎng)短、繞射現(xiàn)象小而且方向性好還能夠?yàn)榉瓷渚定向傳播等優(yōu)點(diǎn),而且超聲波傳感器的能量消耗緩慢有利于測(cè)距。在中、長(zhǎng)距離測(cè)量時(shí),超聲波傳感器的精度和方向性.都要大大優(yōu)于紅外線傳感器,但價(jià)格也稍貴。

超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來(lái),超聲波接收器收到反射波就立即停止計(jì)時(shí)。聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離s,即:s=340m/s× t / 2 。這就是所謂的時(shí)間差測(cè)距法。本實(shí)驗(yàn)利用超聲波測(cè)得的距離從串口中顯示。

HC-SR04超聲波測(cè)距模塊的接口定義

HC-SR04超聲波測(cè)距模塊的數(shù)據(jù)接口如上圖,與Arduino uno的接口連接方法:VCC接+5V,GND接地,Trig接數(shù)字I/O接口5(也可以是其它),Echo接數(shù)字I/O接口4(也可以是其它)。

 

知識(shí)要點(diǎn):

pulseIn() :用于檢測(cè)引腳輸出的高低電平的脈沖寬度。
pulseIn(pin, value)
pulseIn(pin, value, timeout)
Pin--- 需要讀取脈沖的引腳
Value ---需要讀取的脈沖類型, HIGH 或 LOW
Timeout ---超時(shí)時(shí)間,單位微秒,數(shù)據(jù)類型為無(wú)符號(hào)長(zhǎng)整型。
使用方法及時(shí)序圖:
1 、使用 Arduino 采用數(shù)字引腳給 SR04 的 Trig 引腳至少 10 μ s 的高電平信號(hào),觸發(fā) SR04 模塊測(cè)距功能;
2 、觸發(fā)后,模塊會(huì)自動(dòng)發(fā)送 8 個(gè) 40KHz 的超聲波脈沖,并自動(dòng)檢測(cè)是否有信號(hào)返回。這步會(huì)由模塊內(nèi)部自動(dòng)完成。
3 、如有信號(hào)返回, Echo 引腳會(huì)輸出高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。此時(shí),我們能使用 pulseIn() 函數(shù)獲取到測(cè)距的結(jié)果,并計(jì)算出距被測(cè)物的實(shí)際距離。
/*
  日期:2014.10.24
  功能:利用SR04超聲波傳感器進(jìn)行測(cè)距,并用串口顯示測(cè)出的距離值
  方式:1、使用Arduino采用數(shù)字引腳給SR04的Trig引腳至少10μs的高電平信號(hào),觸發(fā)SR04模塊測(cè)距功能;
        2、觸發(fā)后,模塊會(huì)自動(dòng)發(fā)送8個(gè)40KHz的超聲波脈沖,并自動(dòng)檢測(cè)是否有信號(hào)返回。
        這步會(huì)由模塊內(nèi)部自動(dòng)完成。
        3、如有信號(hào)返回,Echo引腳會(huì)輸出高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。
        此時(shí),我們能使用pulseIn()函數(shù)獲取到測(cè)距的結(jié)果,并計(jì)算出距被測(cè)物的實(shí)際距離。
*/
// 設(shè)定SR04連接的Arduino引腳
const int TrigPin = 2; 
const int EchoPin = 3;
const int LedPin = 17;
float distance; 
void setup()                 // 初始化串口通信及連接SR04的引腳
{       
     Serial.begin(9600); 
      pinMode(TrigPin, OUTPUT);
     pinMode(TrigPin, OUTPUT);  
     pinMode(EchoPin, INPUT);  // 要檢測(cè)引腳上輸入的脈沖寬度,需要先設(shè)置為輸入狀態(tài)
    Serial.println("Ultrasonic sensor:");
} 
void loop() 
{ 
    // 產(chǎn)生一個(gè)10us的高脈沖去觸發(fā)TrigPin 
    digitalWrite(LedPin,HIGH); 
    delayMicroseconds(2); 
    digitalWrite(TrigPin,HIGH); 
    delayMicroseconds(10);
    digitalWrite(TrigPin,LOW); 
    // 檢測(cè)脈沖寬度,并計(jì)算出距離
    distance = pulseIn(EchoPin,HIGH);
    Serial.print(distance);
    Serial.print("ms");
    distance = distance/58; 
    distance = (int(distance*100.0))/100.0; //保留兩位小數(shù) 
    Serial.print(".....distance is:");
    Serial.print(distance); 
    Serial.print("cm"); 
    Serial.println(); 
    delay(1000);  
}
Tags:超聲波測(cè)距,Arduino,超聲波  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
主站蜘蛛池模板: 东安县| 盐山县| 盱眙县| 定南县| 巴马| 商水县| 六盘水市| 内丘县| 广宗县| 东辽县| 涡阳县| 绍兴市| 静乐县| 横峰县| 吕梁市| 周至县| 兰州市| 连江县| 通州区| 印江| 织金县| 湛江市| 鄂尔多斯市| 朝阳县| 南岸区| 麻城市| 宁安市| 灵山县| 平遥县| 托克托县| 清涧县| 丰台区| 锡林浩特市| 蒲城县| 砀山县| 武陟县| 峡江县| 漳浦县| 安龙县| 新沂市| 靖宇县|