基於STM32的智慧型循跡小車設計(基礎版)

2021-10-23 21:20:21 字數 2235 閱讀 5335

選擇的是tcrt500l,五路整合在一起,整合度比較高,但是可能不如五個單獨的循跡模組好用

5、l298n電機驅動模組

四驅車為啥用l298n電機驅動模組?

可以把左邊的兩個電機併聯,用輸出a控制。把右邊的兩個電機併聯,用輸出b控制。

12v供電接電源正極,供電gnd接電源負極和核心板gnd,5v供電接核心板5v和循跡模組5v,然後循跡模組gnd接核心板gnd,所有裝置就都可以上電了。(最好設定幾個開關,安全且方便除錯)

另外,接線最好先試觸,避免短路。

通過輸出pwm控制電機轉速

pwm初始化(以a1為例)

void

tim2_ch2_pwm_init

(void

)

初始化完後,輸出pwm控制電機轉速,注意,tim_setcompare2(tim2,n);n越小占空比越大,點假轉速越快,一下**就是a1輸出pwm占空比更大,它所對應的電機轉速就越快。 具體的資料是多少,需要自己根據不同的場地去摸索,不停地除錯。

void

left()

gpiob初始化,同時將b4 b5 b6 b7 b8設定為上拉輸入

void

gpiob_init()

巨集定義,少打字,b4 b5 b6 b7 b8 分別對應l1 l2 m r2 r1

#define l1 gpio_readinputdatabit(gpiob,gpio_pin_4)

#define l2 gpio_readinputdatabit(gpiob,gpio_pin_5)

#define m gpio_readinputdatabit(gpiob,gpio_pin_6)

#define r2 gpio_readinputdatabit(gpiob,gpio_pin_7)

#define r1 gpio_readinputdatabit(gpiob,gpio_pin_8)

// l1 l2 m r2 r1

讀取函式

void

read_date

(void

)

用了乙個比較笨的但是很直接的方法,將所有的情況都羅列出來。

思路:如果l1檢測到,那必須bigright;如果r1檢測到,那必須bigleft;

那中間的那三位,還有8種,將這8種列舉就可。

int

main()

if(l1==

0&&l2==

1&&m==

1&&r2==

1&&r1==0)

if(l1==

0&&l2==

0&&m==

1&&r2==

0&&r1==0)

if(l1==

0&&l2==

1&&m==

0&&r2==

0&&r1==0)

if(l1==

0&&l2==

0&&m==

0&&r2==

1&&r1==0)

if(l1==

0&&l2==

1&&m==

1&&r2==

0&&r1==0)

if(l1==

0&&l2==

1&&m==

0&&r2==

1&&r1==0)

if(l1==

0&&l2==

0&&m==

1&&r2==

1&&r1==0)

if(r1==1)

if(l1==1)

}}

STM32循跡 藍芽小車

在做小車之前,首先應該明確需要的器件,其次劃分功能模組,乙個模組乙個模組的來,在完成乙個模組之後新增另乙個能保證最終小車的穩定功能實現。有兩種思路 一,以實現功能為主,不考慮後期要加什麼東西,實現以後再做優化。二,先將專案整體需要做的東西全部過一遍,再一步步做出成品。我是第一種,在搭建的過程中也遇到...

基於STM32的智慧型小車(一)

基於stm32的智慧型小車 在假期自學了stm32,一直想做乙個智慧型小車,剛好這次有時間就在家自己製作了這個基於stm32的智慧型小車,小車基本功能包括循跡 壁障及手機藍芽控制,本人是第一次製作小車,有不對的,望大牛指教。一 製作產品基本材料清單 1 stm32c8t6核心板 一塊 2 l298n...

stm32 藍芽 智慧型小車

電源問題已經解決,還是18650更給力,兩節就可以達到8v上下。原來是模仿網上下的模板,把模板燒進去發現並沒有成功,所以就把原來寫的 全部推翻,重新開始寫。其實寫乙個工程,最快的方法並不是一口氣把所有東西都給新增上,因為一旦出現錯誤,當然肯定會出現錯誤,根本不知道從 下手改bug,所以還不如乙個乙個...