Arduino 智能小車實作-組裝超聲波與紅外線複眼模組

我把兩顆舵機 (MG995)當成小車的頸部,可以上下左右移動;然後安裝在頸部舵機可以隨之移動的裝置則有超聲波與紅外線複眼兩個模組。

超聲波 (或稱為超音波, UltraSonic)模組的作用就是透過感測所發射音頻的往返 (Trig/Echo)時間來計算前方屏障的距離。這裡我使用的型號是 US-100,具有溫度補償的功能。

而紅外線複眼模組,英文稱之為 IR Compound Eye,它的作用是透過四顆LED紅外線的感測以計算上下左右的距離。目前這個模組好像沒有型號可查,也只有一種可以選擇而已。

參考下圖,我把兩個模組上下組裝在一起,上方像兩顆眼睛的是超聲波;下方則為紅外線複眼。
超聲波與複眼紅外線模組

這兩個模組相似的功能都是偵測前方屏障物的距離,不太一樣的是:超聲波只能偵測前方水平位置 (約從 2cm~80cm),但量測結果會很精確;而紅外線複眼可以偵測上下左右四個方向的距離 (最高到 20cm),但常受外界光線干擾而影響距離的計算。

所以我同時裝了兩個感測模組,一則用以精確的計算 (只能水平)、另一則用以模糊的屏障搜索 (可以上下左右四方向)。如此外來的應用也可以比較廣泛,甚至能設計成寵物狗的樣子,用手勢操控來與小車互動。


這是我目前的想法,而為了組裝在一起,因為舵機雲台沒有恰當的孔位與空間,所以一開始我用廢棄的壓克力板當成平台 (當然要量好大小再切割好),再鑽好孔安裝兩個模組以及鎖到雲台支架上。
超聲波與複眼紅外線模組

組裝完成,但我越瞧越覺得怪怪的,因為這樣子雲台支架就延伸太長了,好像成為一隻長頸狗。
超聲波與複眼紅外線模組

想了一個晚上,我覺得還是把這個壓克力平台裝在雲台支架中空處內;但怎麼黏貼或鎖到支架上?想了想,隔天跑到附近的五金行買了一片薄的鋁片板 (很便宜,1x2呎見方才NT$60),然後隨便給它彎折增加厚度再套進中空處內,兩旁也鑽好孔就可以固定在支架了。
超聲波與複眼紅外線模組

超聲波與複眼紅外線模組

然後也鑽好鋁片板與壓克力板的固定位置,鎖好銅柱後,總算可以順利安裝好兩個感測模組了。
超聲波與複眼紅外線模組

超聲波與複眼紅外線模組

超聲波與複眼紅外線模組

好容易花了大半天才組裝好兩個感測模組,也對各個裝置的組裝位置可以接受,還算滿意。

本來想說關於小車的實體組裝到此可以告一段落了,剩下的就是把整個原來撰寫的測試程式給全兜在一起,然後再補上如何計算屏障的邏輯就可以讓小車自主行進了。

結果我把紅外線複眼與舵機控制的測試程式跑了 n 多遍,一直無法順利抓出可以有效偵測上下左右四個方向的邏輯,雖然是所謂的模糊,但總也不能模糊到讓舵機像發顛一樣吧。

我發現到最可能的問題是因為與超聲波模組靠得太近了,導致上方的計算距離一直有問題。所以又再重新擺設位置,把壓克力板拿掉,超聲波直接裝在雲台支架上方、紅外線複眼則鎖在鋁片上然後再鎖到支架中空處內,這樣上下就有一段間隔的距離,冀望如此不致造成感測時的干擾。
超聲波與複眼紅外線模組

超聲波與複眼紅外線模組

所以上圖算是目前小車的造型了。不過我決定先放棄紅外線複眼的測試,那個模糊邏輯反而不容易掌握,而且是否與光線以及其它感測裝置位置有關,這仍有待測試。

只撰寫超聲波感測的邏輯反而容易許多。事實上我也寫好了第一個版本的小車遮蔽的控制程式,也確實可以讓小車作比較簡單的屏障偵測而能自主行進。

不過下一篇我還是先把兩個感測模組的測試程式先公布分享;最好就是小車每一個主要的裝置,都能撰寫好測試程式,這樣要偵錯也相對容易掌握問題了。

文章導覽

   

共有 4 則迴響

  1. 你好
    能分享一下接線圖嗎
    剛剛開始學習 可是拍賣的人 不想理我 給我的資料也沒有簡單接線圖
    現在裝了超音波 可是不會動
    給了9V電源 馬達趨動版有電
    伺服馬達不動
    插上USB線 伺服馬達一直動
    序列埠的超音波資料有不斷更新
    能請您幫幫忙嗎

    • Hi, 我所有接線都是透過網路查找的。 超音波這款很普遍,Google 很容易可以查到規格。

      另,建議你加入 FB 的 Arduino 社團,相關實作問題,po 在上面比較會有一些同好給你解答的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *