每個人都知道電影Wall-E(如果你不知道,現在就去看吧!)和試圖清理地球的黃色英雄。在這個項目中,我用了一個樂高版本的小朋友,教他如何避開障礙物。這是我的第一個項目,也是一次很好的學習經驗,讓我了解了電子的基礎知識。
步驟1 -代碼
作為一名軟件開發(fā)人員,我考慮了我想讓他做什么,然后開始編寫代碼。
當你斷開運行的電機時,電壓尖峰可能會發(fā)生,并損壞你的電子設備。因此,我讓瓦力在做任何事情之前等兩秒鐘。這意味著我可以按下Arduino上的重置按鈕,快速斷開電池,而不會損壞任何東西。
他醒來后會彈一小段旋律,然后開始開車。當他看到障礙物時,他會停下來,發(fā)出“啊哦”的聲音,然后環(huán)顧四周,確定最佳路線。我使用的這種紅外傳感器背面有一個小螺絲,可以讓你確定它產生信號的距離。這就是為什么代碼中沒有距離計算。(我想先用超聲波傳感器,但不適合他的眼睛。)
瓦力首先檢查左邊是否安全,然后檢查右邊是否安全。如果兩邊都被堵住了,他就會像工地上的重型機械一樣發(fā)出嗶嗶聲,然后轉向一個隨機的方向繼續(xù)前進。如果只有一邊被阻擋,他繼續(xù)向另一邊前進。如果兩邊都是自由的,他會隨機選擇一個,然后繼續(xù)前進。
我試著讓他做隨機轉彎,但那部分還沒有完成。我正在嘗試使用內置的Arduino計時器。如果你有如何優(yōu)化它的想法,請在評論中告訴我!
步驟2-給他接上電線
第一件事就是把紅外線傳感器裝進眼睛里,這樣就不會太明顯了。我把它拆開,用強力膠把樂高別針粘在傳感器上(這樣他的眼睛就可以上下移動了),然后用藍膠把樂高積木粘回傳感器周圍。
馬達最重要的一點是要有足夠的扭矩,因為瓦力的輪子需要很大的力才能移動。我必須把電線焊接到馬達上,然后把它們固定在樂高積木上。所以我拆開了他的輪子,訂購了一整袋的樂高技術別針,用石膏膠帶(你是這么叫它的嗎?)它就像柔軟的膠帶,可以粘在你的皮膚上,然后把它們粘在兩個銷上,這兩個銷就成了每個車輪的主軸。這種方法只起了幾分鐘的作用,但隨后摩擦力太大,膠帶上的膠水無法承受。幸運的是,技術大頭針在側面有小凹槽,所以膠帶確實有一個地方可以抓住,在被強力膠浸泡后,他們很高興地做到了。
我還取下了他的胸部的一部分來插入LED。然后我連接了所有的部件和Arduino。
馬達防護罩剛好能塞進他的肚子里。
圖表也不是很清楚,但我試著用顏色來標記電線,以便更好地概述:
按照慣例,所有紅色電線都是正極(“輸送”電),所有黑色電線都是負極(“接收”電)。右上方的黃色導線攜帶紅外傳感器的信號;橙色和綠色的電線用于三針雙色LED,紫色的電線用于告訴電機屏蔽到哪個方向轉動電機,藍色的電纜告訴電機屏蔽轉動它們有多快。
電機屏蔽有一個很好的教程,使其易于連接和使用。不幸的是,fritzzing部分沒有設置速度的兩個引腳,所以藍色電纜只是隨機結束在圖中的電機屏蔽上。
另一個問題,我所面臨的,而把它們粘在一起是缺乏電壓和接地引腳。我想直接通過電機屏蔽給電機供電,這樣它們就能獲得盡可能多的電力,但我必須以某種方式給Arduino和紅外傳感器供電5V。所以我做了網上幾乎所有人都說我不應該做的事情:我將電機屏蔽的5V輸出連接到Arduino的5V引腳上作為輸入?,F在有了我正在使用的屏蔽,我可以絕對肯定它輸出一個穩(wěn)定的5V,沒有任何可能損壞我的Arduino的討厭的尖峰。如果你把一個不規(guī)范的電源連接到那個引腳上,你可能會燒東西。一開始我想用Vin引腳,但那個引腳有一個內置的機制來調節(jié)一切,所以我的5V會變成3.8V左右,這不足以讓Arduino正常工作。相反,我用免費的Vin給5V的紅外傳感器供電,因為我沒有任何電纜分離器,我知道那里也會有5V出來。是的,在這一點上開始感覺有點像弗蘭肯斯坦。但它成功了!
步驟3 -瓦力在行動
瓦力的第一次測試!
在這里,我測試了如果他被困在角落里會怎么做。
瓦力正試圖從角落里出來
這是我的第一個小項目。我現在計劃優(yōu)化電纜連接,也許添加一個伺服電機,這樣他就可以轉他的頭。我甚至可能會買分離器和一個更小的電機屏蔽和板,這樣我就可以把所有東西塞進他的肚子里。
本文編譯自hackster.io





