樹莓派小車 輪子轉起來

2022-02-10 09:40:33 字數 2397 閱讀 6894

最近復活了躺在月餅盒子裡吃灰已久的樹莓派,買了個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)與樹莓派接地引腳連線

import rpi.gpio as gpio

import time

#gpio編碼模式 物理模式

gpio.setmode(gpio.board)

#引腳35,37 設為輸出

gpio.setup(35, gpio.out)

gpio.setup(37, gpio.out)

#高電平

gpio.output(35, true)

#低電平

gpio.output(37, false)

time.sleep(10)

gpio.cleanup() # 清理引腳

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

參考資料:

樹莓派 4 尋跡小車

學習的時候百分之99參考了這篇文章 yzy 1996 方法 樹莓派小車自動循跡 攝像頭 具體內容都在裡面了,因為我用的是l298n電機驅動模組,所以是用enab來控制pwm的,所以適當更改一下 因為我是在辦公室地面,不像他一樣有顏色清楚的軌道,所以修改了二值化型別和腐蝕膨脹的順序係數 import ...

Raspberry Pi樹莓派小車學習 前期

寫於2019 10 18 在弄樹莓派之前不知道樹莓派是什麼,聽了老師說的,說可以做很多事情,聽完也是懵懵懂懂的,只有自己去弄了才會了解一點,第一次去查樹莓派是什麼,能做什麼,就有以下定義 raspberry pi是一台小型計算機,可以完成很多事情。然後還看到很多由樹莓派做的專案,這裡就不一一舉例了。...

使用樹莓派製作智慧型小車

小車的控制最主要有兩方面的控制,乙個是小車的前後左右的運動控制,乙個是攝像頭的拍攝 上下左右轉運的控制。複製 coding utf 8 import rpi.gpio as gpio import time 小車電機引腳定義 leftin1 20 leftin2 21 leftspeed 16 ri...