事情要從去年開始說起了。去年暑假做完電賽,自我感覺對單片機的了解和應用足夠之后,便開始了新一段的學習。那時候我選擇了DSP,其實現在的我還是很佩服當時我的選擇的,畢竟當時整個科協還沒人學DSP,我只能在全校找學DSP的同學。就是這時候我認識了五系的黃杰學長,在這里要對黃杰學長表示由衷的感謝,因為他對我的學習提供了很大的幫助。也是在他的幫助下,我算是踏入了DSP的大門,開始學習2812,相當于DSP的入門級片子。
當我學了一段時間2812之后,感覺不到它和單片機的分界,盡管它具備很多單片機所沒有的特性,但我還是沒有那種踏入一個新的世界的感覺。也許這就是為什么外界說C2000都是高級點的單片機的原因吧。
以后我便放下了2812,開始學另一種高級的DSP-C5000。也就是從這時候開始,我產生了用它做項目的想法。經過一段時間的商議和不斷的上網查論文資料。我和老翟準備一起做一個家居智能小車。主要功能是用機械小車載著一個攝像頭,把攝像頭采集到的數據經過解碼以后通過wifi傳到互聯網,再到另一端進行數據的編碼,并把圖像顯示到液晶上。另外還增加了幾個附屬模塊,第一個是利用GSM模塊控制小車的移動,就是可以用手機短信控制小車的前進后退,第二個是利用紅外模塊進行對家用電器的控制。
這里說一下,當這個方案完全定型的時候,就已經到了14年寒假了。我覺得這個方案就為我們這次項目失敗埋下了伏筆。因為軟件任務太多了,可能是我們選定的項目偏向軟件的原因。現在想來我應該再找一個軟件一起做。不過這個還不算是我們失敗的根本原因,因為到現在軟件任務最難的部分已經完成了,但是毀在了細節上。
之后就是不斷的方案和器件選型的調整。首先我們想[size=10.5000pt]到的是用侯老師提供的達芬奇套件進行圖像處理,暑假的時候也對這個套件進行了幾天的研究。但是后來發現盡管這個套件很適合做這個項目,但是沒有仿真器。這就是很糾結的一個問題了,ti官網有賣仿真器,但是花費要好幾K,所以我們只能放棄了這種套件。另換了另一個C6000的套件。這個套件最終也沒有被采用,因為這種DSP缺少我們進行視頻處理的視頻接口,而且沒有解碼電路。這樣說吧,我們進行嵌入式軟件開發重要的是有一個穩定可靠的平臺,如果我們把我們辛苦敲好的代碼在一塊不穩定的電路上運行,結果發現不能運行,那我們就不知道究竟是硬件還是軟件的問題。這是一個非常惡心的問題。
經過這一番波折之后,就已經到了大二下開學了,到了這一步算是走投無路的我得知了我們學校以為研究生導師那里有很多圖像處理套件。我馬上決定給老師打電話,我清楚的記得我當時給老師說的是:”陳老師您好,我是八系的李浩哲,我想用dsp做圖像處理,但是沒錢買套件,請問您能不能借我一套,可以的話我就給您干活,不能的話就算了。”為什么這么說。因為我也明白這樣的套件對于每個研導來說都是不多的,幾萬一套的套件,我不敢肯定他能不能拿出來給一個完全不了解的本科生去用。所以我只能這么說。所幸的是陳老師很慷慨,直接讓我去找他,并和我聊了很多,之后我便順利借到了圖像處理套件。
回憶起來,這段時間是我整個做項目的這三個月最順利收獲最大的一段時間,也是在這里我真切的了解了圖像處理,并調試出了這個部分。在這里對陳老師表示真摯的感謝,謝謝!
接下來就準備調試wifi.模塊,這里還是遇到了之前的問題。具體問題涉及項目比較深我就不多說了。最終我們還是放棄了wifi這個模塊,準備固定攝像頭在一個地方(之前確定的是車載攝像頭),用網線傳輸數據,在網頁上查看視頻。因為這個技術現在比較成熟了,所以我調的很順利。接下來便剩下了GSM模塊,最后的問題也出在這里。
在這里不得不說到我的心態問題,或許是走到這一步我已經把整個項目最重要也是最困難的一部分完成了,剩下的附屬模塊我便輕浮的以為不值一提了。也是從這時候開始有了松懈。在這個時候就已經四月中旬了(四月三十號之前交作品),最后調試GSM模塊的時候我沒有仔細看用戶手冊,直接上手調,用上位機控制GSM,成功;用單片機和上位機通信發指令,成功;最后用單片機連接GSM控制收發短信。失敗。
我們的項目進程此時卡在了這里,程序沒問題,板子沒問題,連一塊就是不好使。為了這個問題我們連著包了兩天宿,我跟老翟嘗試了各種電路各種猜想結果還是不行。最后我們舍棄了串口直接跳線連接單片機和GSM,好使了。
當天晚上我們開開心心回寢室之余,我還在思考為什么調試通過了。結果是我也不明白。因為通過這兩晚的摸索我對這個電路也有了系統的了解,但是還是不明白為什么調試通過了。但是事實就是好使了,我便沒有在意。
第二天中午,我來到實驗室,接著調試,還是好使。我清空了一下液晶,添加了顯示短信的程序,[size=10.5000pt]開始聯調。準備調試完整給老翟看看。寫完程序之后,再上電,發現[size=10.5000pt]整個系統已經燒了。
接下來我們查電路查了好久。還是不明白為什么會燒。當天晚上老翟看到電路背面有標注,大致意思就是板子和上位機通信要怎么跳帽,和單片機通信要怎么跳帽。
事情到這里就明了了。我們終于明白了為什么之前的調試不通,可是板子已經燒了。
當時是4月27號,距離交作品還有兩天。
當晚我們系科委開會,因為我和老翟都是科委,都一起去了。到了會議室誰都沒心思聽。就接著商量以后的事。老翟問我假如調好GSM之后,車載的紅外模塊好使了沒有。
到這里我才想起來之前我們找一個大一的學弟幫我們做紅外模塊,但是到現在他早就不干了。我也沒有在意這件事。覺得這個模塊簡單,應該不是問題。到現在才想起來。晚了。
太浮躁。
除了在項目開始的時候我系統的想過這個項目以后,我就沒有再現在系統的角度看過這個項目。只是著眼于局部,直到調完最困難的模塊以后這個錯誤的觀點被我無限放大。覺得剩下的都是小事,沒問題。
然后我們最后就折在了小事上。
突然想起來這個問題好像不是第一次犯了。去年省賽的時候也是,當我完成了整個軟件系統的時候,同樣開始了松懈,沒有太在意剩下的細節。最后在測評的時候被老師抓住一個bug扣了兩個指標的分。最后只拿了二等獎。
千里之堤,潰于蟻穴。
整個項目做到這里在我眼里就已經是失敗中的失敗了。坑了隊友,覺得很對不起。但是這至少也是一個教訓,一個慘痛的教訓。不要狂,不要心浮氣躁,不要覺得你完成了大部分就可以輕松。你需要用百分之三十的努力完成前百分之七十,再用百分之七十的小心完成最后百分之三十。
失敗了,或許有點后悔,但是無所謂。我們還年輕,還有好多年。我們還有足夠的精力去戰斗。痛定思痛,我覺得這次收獲很大,大于這次比賽帶來的獎。或許今年的國家立項要無緣了。當做教訓吧,希望記清楚這次教訓。
后記:這篇文章大概是二十七八號寫的,當時板子還是燒的,之后我沒辦法,去找陳老師借來了研究生實驗室的DSP套件,因為之前也調過,直接調通了網絡攝像頭部分,準備直接拿著這個去糊弄糊弄完事了。那時候才感覺到畢竟人有時而力窮,一直以來覺得自己意志力算是比較強大的了,但是在一次次現實的沖擊和愧疚面前自己還是軟弱了一把,記得當時我是連借一塊GSM都懶得借了。之后還是陳捷聽說我板子燒了,馬上找舍友借了一塊給我用。 從手里拿到這個模塊開始到現在,大概是意識到自己之前意料之外的軟弱,算是知恥后勇吧,一口氣把系統程序調通了,兩天大約睡了兩個小時,今天中午坐在地上調著調著直接睡過去了。醒了之后調完程序又去考了個試,到現在。 不得不承認這次項目給了我很多的經驗教訓,有時我也會在心中假如,假如我沒有得水痘住十多天院,假如我不是科協領導,假如我沒有辦單片機講座,那么我能做到的高度肯定比現在高得多。但是沒有如果,發生的已經發生了,你現在站到的位置就是你必須捍衛的位置。我不會因為這些事去覺得可惜,我悔恨的是我的大意和松懈。很多時候面對很多人,你對他唯一的作用就是你能為他創造多大的價值,而你如果想為別人創造更大的價值,你自己的能力就不能只是單方面的,為將而不通天文,不知奇門,不曉陰陽,不看陣圖,不明兵勢,是庸才也。你有一塊短板,就注定你會在該擋風的時候漏風,該擋雨的時候漏雨,不管你長板有多長,你就是庸才。所以你必須完善自身。為了別人,也為了自己。
|