mBlock & Arduino(12)使用超音波感應(yīng)器測量距離

超音波感應(yīng)器蠻常出現(xiàn)在電子機器人的產(chǎn)品上钻蹬,通常是用來測量距離唯咬,超音波感應(yīng)器各有一個發(fā)射及接收超音波的零件趣惠,活像兩顆大大的眼睛,在制作機器人時鉴扫,就經(jīng)常成為造型之一 … XD

認(rèn)識超音波感應(yīng)器

如上圖看到的赞枕,我手邊這顆超音波感應(yīng)器為HC-SR04,左邊被標(biāo)示為 T 的那顆是發(fā)射器(Transmitter)坪创,會發(fā)出 40 kHz 的聲波炕婶,這個聲波超出人類可感知的 20 kHz 上限,因此才稱之為超音波莱预,右邊那顆被標(biāo)示為 R 的是接收器(Receiver)柠掂,可接收超音波。

HC-SR04 腳位從左至右分別為 Vcc依沮、Trig涯贞、Echo 與 GND,Vcc 與 GND 就是接 5V 電源及 GND 了危喉,Trig 為輸入腳位宋渔,Echo 為輸出腳位,超音波的發(fā)射與接收辜限,就是靠 Trig 與 Echo 這兩個腳位皇拣,如果你送出 10 微秒的 5V 高電位訊號給 Trig,就會觸發(fā)超音波的發(fā)射薄嫡,接著 Echo 腳位就會處于 5V 高電位狀態(tài)氧急,如果接收到反射的超音波訊號颗胡,那么 Echo 腳位就會處于 0V 低電位狀態(tài):

因此,在超音波發(fā)射之后态蒂,Echo 的高電位持續(xù)時間杭措,就可以搭配音波速度每秒 343.2 公尺,也就是每公分要花費 29.1 微秒左右钾恢,計算出超音波感應(yīng)器與障礙物之間的距離手素,記得音波往返是走了兩倍距離,因此 Echo 的高電位持續(xù)時間要除以 2瘩蚪,再用來除以 29.1 微秒泉懦,才是與障礙物之間的距離。

如果使用 Arduino 官方語言的話疹瘦,可以如下撰寫程式崩哩,以取得超音波感應(yīng)器與障礙物之間的距離:

pulseIn函式可以計算指定腳位的高電位或低電位持續(xù)時間,單位是微秒言沐。

使用 mBlock 超音波感應(yīng)器方塊

嗯邓嘹?delayMicroseconds與pulseIn在 mBlock 中并沒有對應(yīng)的方塊,因此险胰,沒什么好繼續(xù)介紹的了汹押?

實際上,在 mBlock 2.1 中起便,機器人模塊中的 Makeblock 區(qū)塊里有個“超音波感應(yīng)器”方塊棚贾,這原是搭配 Makeblock 超音波感應(yīng)器模組而使用,這個超音波感應(yīng)器模組使用 RJ11 接頭榆综,而 Makeblock 在 Arduino 板子上設(shè)置了八個 RJ11 連接埠妙痹,你可以在Me-Baseboard看到相關(guān)圖片說明。

在說明中鼻疮,可以看到 Ports on Baseboard Orion to pins on Arduino UNO 這張圖怯伊,假設(shè)我想將超音波感應(yīng)器連接在 3 號連接埠,它對應(yīng)的腳位是 D12 與 D13判沟,而在The Upgrade of Me Series Electronic Modules的說明中可以看到震贵,Makeblock 的超音波感應(yīng)器模組,似乎只是將 Vcc水评、Trig、Echo 與 GND媚送,直接對應(yīng)至 RJ11 的相關(guān)接點中燥,因此,就來試試看用這個方塊吧塘偎!

搭配上面這個程式疗涉,試著使用以下的電路連接拿霉,Trig 連接 D12,Echo 連接 D13:

接著執(zhí)行程式咱扣,你就可以看到貓咪跟你報告距離了 … XD

如果你試著使用 mBlock 超音波感應(yīng)器方塊绽淘,然後轉(zhuǎn)為 Arduino mode 檢視 Arduino 原始碼,可以發(fā)現(xiàn)闹伪,它實際上是 MeUltrasonic 程式庫沪铭,這可以在 mBlock 安裝目錄的 ext/libraries/makeblock/src 中找到對應(yīng)的原始碼,其中控制超音波感應(yīng)器的程式碼偏瓤,主要是在measure函式:

MePort的dWrite2中杀怠,基本上就是在對應(yīng)腳位作digitalWrite的動作(依 makeblock 的埠決定哪個腳位):

依這個寫法模式,似乎很像是 HC-SR04厅克,不過赔退,依上面的程式碼來看,它都只用到s2证舟,也就是腳位13硕旗,為什么呢?因為 Makeblock 最新的超音波感應(yīng)器 V3.0女责,可以自行使用杜邦線接線的腳位只有三個,三個腳位中漆枚,有兩個分別是接電源與 GND,一個是信號接腳鲤竹,這意謂著浪读,Trig 與 Echo 必須使用同一個腳位,這也就是為什么辛藻,在measure的程式碼中碘橘,看到的都只有使用s2腳位。

可是 HC-SR04 是四個腳位吱肌,Trig 是其中獨立的一個腳位痘拆,怎么能適用“超音波感應(yīng)器”方塊呢?自行觸發(fā) Trig 啰氮墨!只是直接使用“設(shè)置數(shù)位腳位”方塊的速度不夠快纺蛆,因此,我想到的是规揪,使用“播放腳位”方塊桥氏,這可以控制腳位電壓高低的頻率,建立起類似以下的效果:

簡單來說猛铅,最后我就只是利用了“超音波感應(yīng)器”方塊底層的pulseIn來取得回波時間而已字支,這個方法下測出來的距離數(shù)值會跳動,不過大致上勉強可用啦!

(這個方法比較適用于 mBlock 2.1.4堕伪,在 mBlock 2.1.5 中揖庄,韌體上似乎做了些修改,雖然還是可以用相同方法欠雌,不過蹄梢,跳動的范圍會變大許多。)

超音波搭配七段顯示器

那么富俄,就也來回顧一下〈mBlock & Arduino(7)七段顯示器之 HELLO禁炒!〉,試著將超音波感應(yīng)器量得的距離蛙酪,使用七段顯示器來回報吧齐苛!

因為只有一顆七段顯示器,超過 8 公分就一律顯示為 0 了 … XD

清單 numbers 使用字串編碼 0 到 8 的數(shù)字:


感謝CodeData用戶:caterpillar的貢獻 著作權(quán)歸作者所有

整理:寧波家電物聯(lián)網(wǎng)云平臺桂塞,中科極動云

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凹蜂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子阁危,更是在濱河造成了極大的恐慌玛痊,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狂打,死亡現(xiàn)場離奇詭異擂煞,居然都是意外死亡,警方通過查閱死者的電腦和手機趴乡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門对省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晾捏,你說我怎么就攤上這事蒿涎。” “怎么了惦辛?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵劳秋,是天一觀的道長。 經(jīng)常有香客問我胖齐,道長玻淑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任呀伙,我火速辦了婚禮补履,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剿另。我一直安慰自己箫锤,他們只是感情好帅腌,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著麻汰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪戚篙。 梳的紋絲不亂的頭發(fā)上五鲫,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音岔擂,去河邊找鬼位喂。 笑死,一個胖子當(dāng)著我的面吹牛乱灵,可吹牛的內(nèi)容都是我干的塑崖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痛倚,長吁一口氣:“原來是場噩夢啊……” “哼规婆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝉稳,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤抒蚜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后耘戚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗡髓,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年收津,在試婚紗的時候發(fā)現(xiàn)自己被綠了饿这。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡撞秋,死狀恐怖长捧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情部服,我是刑警寧澤唆姐,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站廓八,受9級特大地震影響奉芦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剧蹂,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一声功、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宠叼,春花似錦先巴、人聲如沸其爵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摩渺。三九已至,卻和暖如春剂邮,著一層夾襖步出監(jiān)牢的瞬間摇幻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工挥萌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绰姻,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓引瀑,卻偏偏與公主長得像狂芋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子憨栽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容