找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6072|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Arduino學(xué)習(xí)2-Arduino連接超聲波傳感器測(cè)距

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
注:方法已經(jīng)過(guò)時(shí),新方法使用timer去計(jì)時(shí),請(qǐng)看https://code.google.com/p/arduino-new-ping/

超聲波傳感器適用于對(duì)大幅的平面進(jìn)行靜止測(cè)距。普通的超聲波傳感器測(cè)距范圍大概是2cm~450cm,分辨率3mm(淘寶賣(mài)家說(shuō)的,筆者測(cè)試環(huán)境沒(méi)那么好,個(gè)人實(shí)測(cè)比較穩(wěn)定的距離10cm~2m左右,超過(guò)此距離就經(jīng)常有偶然不準(zhǔn)確的情況發(fā)生了,當(dāng)然不排除筆者技術(shù)問(wèn)題。)

測(cè)試對(duì)象是淘寶上面最便宜的SRF-04超聲波傳感器,有四個(gè)腳:5v電源腳(Vcc),觸發(fā)控制端(Trig),接收端(Echo),地端(GND)
附:SRF系列超聲波傳感器參數(shù)比較
http://www.acroname.com/robotics/info/articles/devantech/srf.html


模塊工作原理:
  • 采用IO觸發(fā)測(cè)距,給至少10us的高電平信號(hào);
  • 模塊自動(dòng)發(fā)送8個(gè)40KHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;
  • 有信號(hào)返回,通過(guò)IO輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間.測(cè)試距離=(高電平時(shí)間*聲速(340m/s))/2;
電路連接方法:


Arduino程序例子:
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
digitalWrite(TrigPin, LOW); //低高低電平發(fā)一個(gè)短時(shí)間脈沖去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //將回波時(shí)間換算成cm
cm = (int(cm * 100.0)) / 100.0; //保留兩位小數(shù)
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}






支持,正好找了一個(gè)傳感器,用手水平轉(zhuǎn)了一圈掃的數(shù)據(jù)~~

右上的平面是電腦的屏幕,旁邊突出來(lái)的是熱水壺,右下應(yīng)該是本人(那個(gè)尖尖是啥玩意),左下的平面是座位的隔板,左邊的突出是我的包。左上是空檔,超過(guò)100cm的都按100算了。

這種方式可以用來(lái)做為智能車(chē)判斷路徑的依據(jù)哎,一邊走一邊分析數(shù)據(jù),就像即時(shí)戰(zhàn)略游戲的戰(zhàn)爭(zhēng)黑霧設(shè)計(jì)一樣,我們的小車(chē)就是一個(gè)探路兵。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表