天天看點

樹莓派小車——輪子轉起來

  最近複活了躺在月餅盒子裡吃灰已久的樹莓派,買了個L298N電機驅動器、買了個車架子,準備搞個小車玩玩;

  通過樹莓派讓小車輪子轉起來也比較簡單簡要概述起來分為下面二步:

1. 樹莓派發送資料給電機驅動器

2. 電機驅動器驅動電機轉動進而帶動輪子轉動

  讓小車動起來就是這麼簡單,方法步驟有了,下面就看看具體如何讓樹莓派發資料給電機驅動器,如何讓電機驅動器帶動輪子轉動,在具體介紹之前先看看L298N電機驅動器的實物圖;

樹莓派小車——輪子轉起來

  樹莓派想要将資料發送到電機驅動器,它必須要先與驅動器建立連接配接,而驅動器這種又不支援USB連接配接;樹莓派提供了GPIO(通用輸入輸出)引腳用于連接配接第三方裝置,GPIO是一種低功耗的接口。電機驅動器本身也是通過GPIO來接收資料的。

樹莓派小車——輪子轉起來

  從上圖可以看到一共有40個引腳,并且标注了每個引腳的作用,每個引腳還有具體的編号1-40,但從上面也可以看出并不是40個都是GPIO引腳,引腳分為下面幾類:

GPIO引腳 28個

2個5V引腳,2個3.3V引腳

8個接地引腳

  圖中可以看到每個引腳(Pin)都有一個編号從1到40,這個是實體編号,每個GPIO後面也跟着一個數字這是它的BCM編号。每個GPIO有一個實體編号一個邏輯編号(BCM編号);

  其實通常樹莓派有三種編碼方式:BOARD編碼、BCM編碼、wiringPi 編碼;BOARD編碼也就是上面所說的實體編号,wiringPi編碼這裡就不是了其實也就是它定義的一排數字;

圖中實體編号40的GPIO引腳對應的邏輯編号為21。

樹莓派小車——輪子轉起來

  L298N電機驅動器總共有這麼10類接口,這裡非專業的簡單介紹各個接口的用途,上圖對接口進行了編号。

編号1、9接口用于控制左右兩邊電機(電機輸出)

編号2 接口 12V輸入

編号3 接口接地(負極)

編号4 5V輸入,如10 接上跳帽可使4變為5V輸出口

編号7 左邊電機輸入(靠近9的兩個引腳)

編号6 右邊電機輸入(靠近1的兩個引腳)

編号8 左邊電機使能

編号5 右邊電機使能

  簡單了解了樹莓派與電機驅動器的接口後,就可以将樹莓派與驅動器進行接線連接配接起來了;

  上面可以看到驅動器左邊電機兩個輸入引腳,右邊電機兩個輸入引腳,上面也介紹了樹莓派通過GPIO與其他外設通信,是以要讓輪子動起來需要:

左邊電機輸入兩個引腳(編号7)連接配接樹莓派兩個GPIO引腳

右邊電機輸入兩個引腳(編号6)連接配接樹莓派兩個GPIO引腳

  通過上面與樹莓派連接配接後,驅動器收到了信号,但還需要将信号輸出給電機才能夠讓輪子轉動起來;

左邊電機輸出(編号9)連接配接電機

右邊電機輸出(編号1)連接配接電機

  不區分正負極,但需要注意要保持如一個輸出接兩個電機要保證兩個電機與驅動器接線位置是一直的,不然就會導緻一個電機正向轉動、另一個反向轉動;

  樹莓派、驅動器、電機的傳輸線接好還需要接的是驅動器、樹莓派的電源線;

  樹莓派USB接口供電

  驅動器外接電源正極接12V口(編号2),負極接節點線口(編号3)

  驅動器接電線(編号3)與樹莓派接地引腳連接配接

執行上面代碼可以看到輪子動起來了;

樹莓派小車——輪子轉起來

參考資料:

https://www.raspberrypi.org/documentation/usage/gpio/

文章首發位址:Solinx