本帖最后由 帆船102 于 2021-5-18 12:26 編輯
花了一段時間研究了下飛思卡爾恩智浦的K60系列的單片機,主要是通過攝像頭來完成賽道一圈的行駛,本人萌新比較菜,到處CtrlC+V程序,又到處去問,總算是了解了一些,經過理解修改代碼,算是入了個門吧,接下來有空的話搞一搞直立小車,那也就另說了…… 。
發這篇文的目的主要還是記錄一下自己的經歷,順便對比我還菜的萌新有個引導作用,額……應該沒有吧,感覺有也非常少。
首先我用的是逐飛的一系列的東西,大大小小加起來還是花了上千,有些還是咸魚買的……所以如果想搞智能車大賽的同志們要做好掏空錢包的準備……當然能報銷最好,我僅僅是出于興趣。。
主板:某一個寶搜索 逐飛科技智能車基地
K60是非常老的一款單片機,主頻為100MHZ,K66的話主頻為180MHZ。
攝像頭:MT9V032(這是130度的攝像)
電機驅動:雙電機驅動電路模塊
車模類型:C車車模(自帶3010舵機與電機)
編碼器(512線)
顯示屏:IPS液晶屏模塊 1.14寸
無線轉串口通信:主要是將攝像頭采集的圖片通過上位機傳輸到電腦上YY上位機上。(傳輸為藍色,接收為綠色)
另外:編譯環境用的是IAR,不過需要配置一下逐飛庫的參數才能用,不然報錯,上位機用的是YY上位機(能夠以方格形式顯示)
說一下攝像頭小車思路,這里用main函數說明,可以很好的知道小車具體流程,大致有個思路,我覺得
{
get_clk(); //逐飛程序必備初始化代碼,可以不用管
Init_Hardware();// 初始化各個模塊,如串口模塊,電機驅動模塊,攝像頭模塊,按鍵模塊,等等。
//Test_Steer_CenterVal();//尋找舵機中值代碼
while(1)
{
if(mt9v032_finish_flag)//一場圖像采集的標志
{
JC_isGet_Gray_Image(image,PICTURE_USE2);//得到灰度圖像。
mt9v032_finish_flag = 0;//圖像采集完的結束標志
THRESHOLD = JC_Get_OSTU (PICTURE_USE2);//自動尋找最佳閾值,也就是圖像二值化的臨界值,閾值越大黑點越多。
JC_GetBinaryImage(PICTURE_USE2,PICTURE_USE2,THRESHOLD);//得到閾值后,就可以得到二值化的圖像
ips114_displayimage032(PICTURE_USE2[0],IMGW,IMGH) ;//在顯示屏顯示二值化圖像
JC_Element(PICTURE_USE2);//元素處理,如十字處理,彎道處理,環島處理額這個沒弄起 。
hauxian();//畫線,在ISP114顯示屏顯示中線位置,可以快速檢測有無錯誤
Test_KD_Control();//這個簡單的舵機PD控制,可以通過按鍵增加P D 與qianzhan值。
//sending(PICTURE_USE2,sizeof(PICTURE_USE2));//當需要將圖像發往PC端yy上位機時才加,不然占內存。
ips114_showint16(0,-9,st_control.jiao); //在顯示屏顯示舵機角度。
ips114_showint16(0,-10,st_control.qianzhan); //顯示前瞻值,作用舉個例子:當有彎道出現時,值的增加和減少會讓 小車提前轉彎沖出賽道或延遲沖出賽道。
ips114_showint8(0,-12,st_control.kp);//實際上我感覺 它調節舵機在規定范圍內的最大角度
ips114_showint8(0,-11,st_control.kd); //實際上感覺無卵用,當然針對我的代碼,有點問題 鎖定在1或2.
//ips114_showint16(0,-11,st_control.duoji_mid - st_control.jiao); //負值應該向左轉,正值向右轉,0的值不轉,值的絕對值越大舵機打角越大
}
}
}
流程大概是這樣,我太懶了也不細說,代碼附一份,不過文件大概有80M,只有將代碼的.c與.h文件單獨發出來,在說一次這是逐飛庫!山外啊龍邱啊請別燒……代碼中有些地方會有注釋,不過對于初學者來說,只需要大概搞懂那一坨代碼干啥的?然后直接調用就對了,當然你是大佬,覺得代碼太low,那也很正常,逐飛底層代碼也不用管,也不要改,拿來用就是了,當然你要深入理解那也就當我沒說,反正我沒管。
附圖
俯視圖:
1.png (987.96 KB, 下載次數: 74)
下載附件
2021-5-17 14:34 上傳
側視圖:
2.jpg (2.81 MB, 下載次數: 65)
下載附件
2021-5-17 14:34 上傳
工程文件遠大于20M發不了 ,截取其中需要的代碼上位機等關鍵資料附上:
代碼上位機.zip
(10.26 MB, 下載次數: 14)
2021-5-18 12:26 上傳
點擊文件名下載附件
|