小記:一次普通循跡車大賽

記錄點滴大賽。

起初,從一個小白走向機器人大賽,經過不少人的推薦(傳說有獎),(瞎)報名了循跡機器人大賽。

循跡機器人(要做的)是:利用紅外線感知黑色線路,並沿着其行進,賽道設計的有彎道,且需要考慮速度,因爲時間越短越好。

嗯,需要硬件加算法呀。要好好學習一下呀(笑)

然而,半個月後報名結束,通知由於項目人數過多,主辦方不再提供材料,由學生自行購買。。。

根據一份不完全清單在淘寶搜尋一段時間後,得到130的價格。

之後瞭解到要學習五一單片機,於是開始學習瞭解(其實以我們的比賽程度和技術,不用瞭解也是完全可以的2333)。

瞭解到有朋友已經用電烙鐵燒壞一個小車了,而我們還沒買材料,什麼都不知道,還有點慌呢。

開始買買買!

img

與此同時,開始學習51單片機(下載資料。。。)

資料截圖.jpg

在這裏插入圖片描述
Screenshot_2019-10-13-23-37-06-063_com.mxtech.videoplayer.pro.png

對了,我甚至還在b站打開了經典影片(十天放棄單片機):

郭天祥視頻截圖.jpg

如你們所願(截止發稿日期,我還沒有打開看。。。:))

數日後:部分零件到位:(趕在了雙十一之前哦img

快遞

當然:學校也試圖讓我們懂一些什麼。。。(不過,他好像失敗了)

在這裏插入圖片描述
第一次去自己嘗試拼板子,當然有很多差錯,會有許多奇奇妙妙的出現,如發現少了一隻緊固件(一個透明的小片,用來固定馬達和板子的),結果最後一個馬達就很難安裝固定好,就(靈機一動)使用紙板來固定,從而引出無數bug。(但是第二天扒拉到了緊固件,就解決了,哎!)

IMG_20191029_001928.jpg.JPGIMG_20191029_002812.jpg.JPG

最後因爲小車是雙層的(一般可以做單層的就足夠了),就在安裝好第二層後發現沒有在第一層安裝東西,於是又拆掉了(打算第二層爲一個蓋子)(內心很尷尬)。

在這裏插入圖片描述

中間有太多別的事情(好吧,是懶),小車在裝線階段,卡住了,一直沒有進展,就放了好久(因爲比賽日期還有一個月,全力向着deadline前進!)

然後小車單片機無法下載程序。。。

(檢測不到單片機)(我一直擔心是不是插反了,導致我的單片機燒燬了,最後發現還好不是~~img

詢問學長才發現所購買的單片機的晶振消失了,淘寶商家又補拍給我。。(但是晶振太便宜,於是自己又下單4元(一半是運費)買了20個,慶幸,時間和雙十一緊挨着)

小車代碼階段:在硬件拼裝完成後,代碼從網絡上copy,但是出現了許多不適配的問題,緊接着經過不斷地爆肝調試,在這個過程中也對代碼不斷理解。但是依次出現了小車的各種問題,但一步步在變好。

代碼
從只能原地轉圈(四個輪子的驅動指令反了);這個好搞!!!(許多小車因爲這個原因,總是自動原地,愛的魔力轉圈圈)

視頻gif

再到有一個輪子是反轉的(原因同上);

再到只能走直線(紅外感應器的代碼對應的接口寫錯了);

到只能夠走弧度較大的彎道,到能夠走直角(但此時不會走弧度較大的彎道了,因採用的是增加轉向時的延遲,所以這個很難控制);

最後比賽前夕,發現其他隊伍都是參考學長們的代碼,我們也就臨時copy了一份,發現代碼邏輯確實有很大的變化,思路更爲清晰,解決了不少我們的一些困惑和更好的理解了小車的運行原理。(後來比賽時才知道,代碼這個事情大多參賽組都是祖傳代碼。。。)

但copy的代碼又有了一個新的問題,借來的代碼(讀書人的事情,對吧)是單驅動的,而我們的循跡小車採用的是雙驅動,在面臨這個問題時,我陷入了猶豫,是將循跡車的硬件(主要是接線)更改爲單驅動,還是我自己多研究代碼,將其改爲雙驅動呢???最後,在10min的漫長思考後,我打開了三份代碼,打算突破一下自己,開始研究代碼,半個小時後,增加了幾個電機(驅動)的代碼,將循跡的轉向,偏移等進行了更改。最後將代碼寫入了小車,成功了。

但是,我們在自己製作的小車賽道中(就是用電工膠帶鋪設的黑線),遇到了紅外感應器過高,感應很不靈敏,於是我們又通過增設銅柱,使之近乎摩擦地面而前行。好在方案可行。

最終能夠實現跌跌撞撞的前行(過於靈敏),轉向。此時已經是夜裏12點多,8個多小時就要開始比賽了。(雖然還有很多隊比我們的情況還要惡劣,但也有大神的)。

完成製作了!!!撒花。(代碼就不放了,因爲寫的太爛了)

成品

後來:

表情包0基礎.jpg

輸了。

是的。

自己親手製作的小車在賽道上向觀衆們展示了靈車漂移,在一驚一乍中,在經過第一個點後,脫離了賽道。。。第二次機會測試的時候,小車直接衝出賽道(紅外傳感器有一個失靈了),視黑線於無物。這就是我很尷尬了。。。

當然,有不少小車真的很強,從他們小車的動作中,我看到了小車配件和組裝的更多可能,以及小車代碼的更多可優化方向。(其實就是我太菜了。。。哈哈!)

表情包太菜了.jpg

最後,雖然輸了比賽,但在比賽前,我們每天都堅持到午夜,經過一星期的努力(有些晚了,應該提前準備的),從無到有,將一堆沒有靈魂的零件,通過自己的組裝,寫入代碼,使其能夠跌跌撞撞的跑下去,雖然他還是個憨憨,但是這不就像成長中的我們麼?我們不也是像那個小車一樣,在一次一次的失敗,報錯中,積累經驗得到成長的嗎?而且,在這次的準備中,我也積累和收穫了不少的知識與感悟,在代碼的思索中,更清楚的認識到面向過程的c語言是怎樣的,在單片機編程方面應該注意些什麼。自然,個人的收穫是大於比賽的。

有收穫

那麼?回過頭來:此類比賽的意義究竟是什麼呢?它既不能使社會的財富大大增加,也不能使得相關技術得到突破,甚至說他還有一點點浪費學生的時間和社會的資源,是麼?我們是爲了證明我們自己優秀而特地來爲了獲得獎項來證明我們自己的麼?不,不是,或者說不完全是。

在這類競賽的過程中,更重要的是面向過程的,結果並不是出發的前提,我們選擇了遠方,不僅僅是因爲目的地的美好,更是因爲沿途的美麗風光不斷地吸引着我們;同樣,在acm,ccpc等的競賽中獲獎者並非多數,但能夠有許多志同道合的朋友在一起,一起爲了一個方向而努力,一個目標而前行,這樣的奮鬥過程纔是幸福的吧。他們往往稱自己痛並快樂着。是呀,能夠在青春最美好的時間段裏,去勇敢的追逐夢想,過程本身就是一件令人振奮的事,不是麼?恰同學少年,風華正茂;願諸位不忘初心,方得始終。

感謝閱讀,歡迎交流哦!

發佈了24 篇原創文章 · 獲贊 7 · 訪問量 6823
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章