arduino小車(一) 循跡功能

2021-09-20 15:56:51 字數 1282 閱讀 9486

在五一假期的前一天(4.30)我和搭檔就用一下午的時間寫好了小車的循跡功能**,在晚上便將硬體組裝好進行測試了。

微控制器程式設計最大的缺點就是不能像c語言一樣除錯。這一缺點為本來就缺乏經驗的我們帶來了非常大的麻煩。在**編譯時我們認為能夠非常順利非常自然就能實現的功能,小車真正跑起來之後的實際情況總會與期望有差別。而且硬體問題也會影響測試。比如,在測試中總會有些導線莫名其妙地和感測器或馬達介面斷開連線。

以下為自己測試中遇的問題與解決辦法:

紅外感測器檢測到黑線時車頭轉向錯誤。

小車在轉直角彎時會直接駛出軌道

對於第乙個問題,我們主要檢查了小車兩個馬達的接線情況 ,發現是小車馬達的接線接反了。於是…呵呵…

而第二個問題則是我們審題時的疏漏。實驗室的軌道類似賽車軌道,原本我們以為小車要在賽道裡面跑我們認為的跑法,但是學長的真實意思是讓小車沿著賽道邊緣跑學長要我們做的。沿著邊緣跑就簡單了!按照我們原來的演算法將遇到黑線時的轉向方向互換,之後小車就再也沒跑出過賽道。不過學長還是把上一種情況轉直角彎的方法教給了我們:

小車行駛時,一直讓小車朝有黑線的方向偏移;

當靠近黑線的感測器檢測到黑線時小車向遠離黑線的一側轉向;

繼續執行上述步驟;

循跡小車**如下:

int stby =11;

//standby

int pwma =3;

//speed control

int ain1 =23;

//direction

int ain2 =22;

//direction

//motor b

int pwmb =5;

//speed control

int bin1 =25;

//direction

int bin2 =24;

//direction

const

int buttonpin1=9;

const

int buttonpin2=10;

int leftval;

int rightval;

void

setup()

void

loop()

else

if(rightval==low&&leftval==high)}}

void

move

(int motor,

int speed,

int direction)

if(motor ==1)

else

}

智慧型循跡小車 循跡小車電子製作

第一步根據元器件清單清點器件,看是否缺件少件。下圖是元器件全家福 第二步依次焊接元器件 要先焊接小的元器件,再焊接大的元器件,最後粘上電池座和馬達。焊接好所有元器件後再次肉眼檢查有沒有焊反,虛焊漏焊的點。確認無誤後,進行第三步。第三步裝上電池除錯。電馬達的2根線可能會裝反,光敏電阻和發光二極體的相對...

智慧型小車 循跡模組

這幾天了arm9什麼都不想做了,每天都想著這兒,買的板子實際上講板子的內容很少的,都是些實際操作之類的,這個需要不斷的聯絡才能熟練,板子配送的其餘13張光碟都是講的基於linux的嵌入式,這個更需要時間去理解了,整好現在正在玩智慧型小車,準備弄個循跡,避障,超聲波的車子,至於別的藍芽模組的燒錢的就看...

藍芽arduino小車

本人剛剛入門arduino 製作了乙個非常簡陋的藍芽小車 主要有hc 05藍芽串列埠模組帶動小車執行 材料有 hc 05藍芽串列埠 小車底盤輪胎以及電機 l298n模組 arduino uno r3 杜邦線四節五號電池 材料的連線 hc 05藍芽串列埠與arduino uno r3的連線 l298n...