以前買了個樹莓派,剛買回來那會兒熱情高漲,折騰了一段時間,而後就放那吃灰了。前幾天突然想起來這個東西了,決定再玩玩兒,因而就從某寶上購買了一套步進電機、驅動板。東西收到後就開始折騰研究,下邊來總結下折騰的結果吧。python
先來講下都須要什麼吧,樹莓派的這一套都少不了,樹莓派3b+主板、TF卡、樹莓派電源、步進電機以及對應的驅動板、杜邦線6根(母對母),差很少就這麼多吧。編程
首先,咱們先看下樹莓派的40個Pin都是什麼功能吧!能夠經過過樹莓派的命令行窗口來查詢,輸入命令:網絡
gpio readall
輸出的結果是什麼呢?見下圖:測試
上邊圖中已經所有顯示了40個GPIO的定義。下邊是我從網上蕩了一張圖帶顏色的圖,看的會更清楚一些:編碼
上圖能夠看到,這些Pin的編碼方式有三種,分別是BOARD編碼、BCM編碼和WiringPi編碼。這些都是什麼含義呢?下邊咱們來一一說下:spa
上圖也寫了,就是物理引腳嘛,怎麼編碼的呢,就是在一列的引腳一、2,旁邊的是三、4……直接上圖吧,估計也說不清楚。因爲個人主板已經安裝到盒子裏邊了,固定也挺麻煩的,我就從網上蕩一張來講事兒吧!.net
上圖從左到右、從下到上以及進行編碼,物理編碼的起始值爲1,從1到40。命令行
BCM編碼起始爲是從0開始編碼的,而且不像BOARD編碼方式那樣有序,他是根據功能進行編碼的。具體的編碼能夠結合BOARD編碼查看上邊那張帶顏色的表,從而肯定每一個引腳的功能。3d
這是另一種編碼方式,具體也沒研究的太透,這裏就簡單略過吧,省得誤人子弟了。code
至於爲何要講這寫呢,首先是鏈接點擊要用,另外就是編寫代碼要用。
看完編碼當時,加下來咱們再說下步進電機和驅動板電路吧。
我這個型號是28BYJ-48 5V DC,也沒少好解釋的,某寶上一搜一大把,並且還很便宜。
驅動板必需要跟點擊匹配,不然必有一壞,就是看什麼壞了。這個買的時候跟老闆說,都懂,順便一塊兒買了,白菜價。
下來就說怎麼用吧,步進電機根據本身的接口進行鏈接,因爲個人就是那個匹配白色排針接口的,因此就不解釋了,就算是傻子也接不錯。
重點是怎麼跟樹莓派鏈接?IN1~IN4是控制信號輸入接口;G接樹莓派的GND引腳,不要問我爲何,就是這麼接的,查看原理圖得出來的結論。V呢接樹莓派5V的引腳,不要問我爲何,記住就是這麼接的就好了。
怎麼顯示他們的工做狀態呢,看到上邊的D1~D4了沒,那就是等,給誰信號誰亮。
我就不上我具體的接線圖了,由於盒子拆裝太麻煩,而且個人杜邦線都是臨時湊出來的,很差看。
下邊咱們說代碼,因爲我只會python,因此我就用python來編寫,不要讓我用C了什麼的給你寫個,不寫,不會!
首先就是安裝模塊唄,裝啥呢?裝RPi.GPIO。我用的是python3,因此就在python3下安裝的。若是你的出錯了別找我,我也不會,由於個人沒有出錯。解決辦法就是百度,網上一找一大堆。
怎麼安裝呢?
pip3 install RPi.GPIO
接着等提示安裝成功就好了。
接下里就是寫py代碼了,因爲我就是作了個簡單的測試,因此代碼也很簡答,能讓步進電機轉起來。代碼呢也是找的,由於他的比個人好看,而且也規範:
import RPi.GPIO as GPIO import time delay=2 #delay 2ms pin_4 = 4 pin_17 = 17 pin_23 = 23 pin_24 = 24 GPIO.setmode(GPIO.BCM) #設置引腳的編碼方式 def init(): GPIO.setwarnings(False) GPIO.setup(pin_4, GPIO.OUT) GPIO.setup(pin_17, GPIO.OUT) GPIO.setup(pin_23, GPIO.OUT) GPIO.setup(pin_24, GPIO.OUT) def forward(delay): setStep(1, 0, 0, 0) time.sleep(delay) setStep(0, 1, 0, 0) time.sleep(delay) setStep(0, 0, 1, 0) time.sleep(delay) setStep(0, 0, 0, 1) time.sleep(delay) def setStep(w1, w2, w3, w4): GPIO.output(pin_4, w1) GPIO.output(pin_17, w2) GPIO.output(pin_23, w3) GPIO.output(pin_24, w4) def main(): init() while True: forward(int(delay) / 1000.0) main() # 調用main
至於代碼呢,很簡單簡單看下吧,設置引腳的編碼方式,這就是我上邊爲何那麼費勁的講編碼方式的緣由了,雖然你可能仍是看讀懂。接下來就是設置引腳的輸出,說白了就是你用樹莓派的那幾個腳來控制步進電機,這個引腳能夠根據本身的喜愛進行設置。下來就是設置點擊怎麼轉,方向本身設定。
基本上呢就這麼多,我也是第一次,什麼都不懂,一切都來自網絡。
參考連接