第9章 編程大神
姜晨從張教授手裏面接過器材,他先要跑通板子,把各個傳感器接好,最後代碼寫好編譯了放在裏面運行。
搗鼓了一會,他發現了一個問題,張教授的器材,主要傳感器就二十四個姿態傳感器。
只用姿態傳感器,他這個技術是沒有辦法實現的。
還必須要最少十二個風力傳感器,通過設備四周風力的大小,經過算法計算,能精確的分析出火箭將會傾倒的方向。
然後電磁鐵通電,改變鐵球的位置,調整火箭姿態!
只有能精確預判出火箭將會傾倒的方向,才能通過鐵球修正,真正等到姿態傳感器傳出傾斜信息的時候,就晚了,那時候就算鐵球跑到最極端,火箭的姿態可能也難以修正過來了。
風力傳感器其實才是這個技術核心的部件。
他想着跟張教授要一些風力傳感器,但是看到張教授好像很忙的樣子,他沒有去打擾,而是選擇先敲代碼。
他首先敲的,是整個代碼架構,架構敲完之後,再分模塊一點點的寫下去。
系統已經把架構給出來了,所以他並不需要怎麼思考,估計今天上午架構就能寫完了。
時間慢慢過去,姜晨的手敲鍵盤如飛,他所有的注意力都集中在了代碼當中。
一行行代碼出現在電腦屏幕上。
一直寫到了中午,用了兩個多小時,幾乎等於是抄代碼的速度,他終於是把系統框架給寫完了。
伸了個腰,扭了扭脖子,他看到,實驗室裏面已經沒有人了,只有張教授還在整理着什麼。
他整理完了之後,就朝着姜晨走了過來。
“他們都去吃飯了,你還不去吃飯?”
“您不也沒去呢嗎?”
姜晨說完之後,就繼續說道:“對了張老師,您這裏有沒有風力傳感器?”
“我們實驗室,只要你能說上名字的傳感器,都有,你還要用到風力傳感器?”
“嗯,我發現這個技術想要實現,只用姿態傳感器是不夠的,因為我們技術中用到的鐵球質量是有限的,對火箭來說,能改變的力矩有限,真正姿態傳感器傳來數據的時候,已經晚了。”
張教授點了點頭眼神中竟然有一些讚賞:“你說的沒錯,這個技術最大的難點,其實在於預測火箭將要傾斜方向,提前啟動電磁鐵程序,這樣才能來得及,但是這給編程算法上,帶來了很大的困難。
當初我也想過風力傳感器來預測,但是這樣做,只能讓編程算法上,更難,幾乎沒法實現。”
在張教授看來,姜晨能想到預測火箭將要傾倒方向這一點,他已經很滿意了。
“我知道,但是只有在使用了風力傳感器,才能完成對火箭的傾倒方向的預測,所以我想跟您借一些風力傳感器。”
張教授看了看他,剛剛他說的還不明顯么?風力傳感器自己早就試過了,走不通。
不過他還是說道:“行,下午我給你申請,你需要幾個?”
在他看來,不相信所謂的權威,是一個很好的科研品質。
“十二個就夠了。”
“沒問題!”
……
因為實驗室下午兩點鐘才開門,所以姜晨吃過飯之後,就直接回宿舍了。
剛到宿舍,他看到許瑞和余志遠都趴在段凌飛的位子前,三個人盯着段凌飛的屏幕大聲的討論着。
“姜晨,你來了,老段畢設遇到麻煩了。”
這時候姜晨也走了過來,一隻手撐在桌子邊緣,勾着頭看了看。
電腦上面顯示的是一個個代碼文件。
“你的論文不是《微型飛行器飛行控制系統設計》嗎,能有什麼麻煩的?”姜晨一邊看着他的電腦一邊問道。
段凌飛一臉愁容的說道:“選題的時候,在系統功能上,我添加了一個自動巡航,可是現在做起來,發現這個功能根本沒有我想的那麼好實現。”
姜晨想了想說道:“自動巡航網上應該能找到開源的算法庫吧,直接導入進去不就行了嗎?”
“說的簡單,算法庫我也下載下來了,但是你看我這,用都不知道怎麼用。”
段凌飛胡亂點着各個文件。
本來就不是專業學編程的,這對他來說,自然是非常難,加上他不肯靜下心來好好花時間搞,於是就出現了這種情況。
姜晨笑了笑,接著說道:“還不起來,讓本大神給你看看。”
三人都詫異的看着姜晨,他們三個裏面,姜晨的編程技術是最好的這個他們承認,當年學C語言的時候,姜晨在宿舍還敲過代碼呢。
但就算是這樣,姜晨的水平在他們看來,還是半吊子水平啊。
雖然有些不相信,但是段凌飛還是站起來了。
姜晨直接坐了上去。
鼠標點了幾下。
“你這一看就是在某寶上面買的飛行器帶的代碼吧?架構混亂,代碼也是夠亂的,連模塊編程都不用,這代碼就算是找個計算機系的來看,都不一定看的明白。”
姜晨一邊說,一邊把各個文件分類放在不同的文件夾裏面,然後寫了總體的編譯邏輯。
這時候整個代碼看起來就有序多了,不像之前一樣,各個文件都隨便亂放,想找都找不到。
“我靠,姜晨,你什麼時候變這麼牛叉了?”段凌飛看着工整的工程目錄,震驚的說道。
許瑞和余志遠也像看陌生人一樣看着姜晨。
“你竟然是個隱藏這麼深的編程大神?”
“現在只是把各個模塊的文件分類放好,把總體編譯邏輯寫好,這樣回頭編譯的時候,只要在最上層目錄make一下,就OK了。
不過這代碼裏面寫的也很垃圾,寫的很冗餘不說了,寫代碼完全不按套路來,也不知道分模塊編程,算了代碼裏面的內容我就不多改了。”
姜晨隨意打開一個文件,發現裏面的代碼真是寫的一塌糊塗,毫無章法。
不理會三個人如同看外星人一樣的眼光,姜晨又繼續點開了第三方的自動巡航庫,然後把庫導入進去。
最後在他工程裏面調用幾個庫的接口,巡航功能就算是添加進去了。
到時候只要他的APP上再添加自動巡航的接口,他的微型飛行器控制系統就算是把自動巡航功能添加上了。