SKU:RB-01C073A 樹莓派電機驅(qū)動板
目錄 |
產(chǎn)品概述
新版樹莓派電機驅(qū)動板采用的電路和接口設(shè)計,版型符合樹莓派2代的設(shè)計,與樹莓派完美結(jié)合。供電電源采用LM2596開關(guān)穩(wěn)壓電源,具有更高效率,更大輸出電流,更低的發(fā)熱量等特點。電機驅(qū)動板新品采用L293D,更小的封裝尺寸,更合理的電路設(shè)計。對外接口方面,采用了奧松新一代防插反接口,和奧松的系列傳感器模塊匹配,更可以直接安裝URF02超聲波傳感器和藍(lán)牙模塊,制作樹莓派小車更加方便、簡潔。如果您想制作樹莓派小車,無需東奔西走,奧松機器人配套全都有!
規(guī)格參數(shù)
1.電機驅(qū)動輸出接口:雙路雙向直流電機驅(qū)動
2.電源輸出接口:7~12V DC
3.OC輸出接口:兩路集電極開路輸出(25mA,5V電平)
4.板載指示燈:兩個可編程控制LED發(fā)光二極管
5.開關(guān)量接口:兩路開關(guān)量輸入/輸出(3.3V電平)
6.UART接口:3.3V電平6Pin串行接口,可直接連接藍(lán)牙模塊
7.I2C接口:5V電平I2C接口,可駁接各類I2C接口模塊
8.超聲波模塊接口:可直接連接URF02超聲波模塊
9.樹莓派接口:支持樹莓派、樹莓派B+、樹莓派2等
10.外形尺寸:56*40mm
使用方法
接口示意圖
控制引腳說明
1.電源輸入端接入7—12V直流電源,電機驅(qū)動板會給樹莓派提供5V電源,所以樹莓派插接電機驅(qū)動板后,只需給驅(qū)動板進行供電而樹莓派無需額外的電源。
2.板載LED1、LED2,對外接口OC1、OC2分別是樹莓派的GPIO7、8、21、23經(jīng)過74HC14D反相器的輸出端,OC1、OC2分別連接一個LED模塊,使用樹莓派的IO輸出高低電平信號,通過74HC14D驅(qū)動LED點亮與熄滅。
GPIO7輸出高電平,LED1點亮,輸出低電平,LED1熄滅;
GPIO8輸出高電平,LED2點亮,輸出低電平,LED2熄滅;
GPIO22輸出高電平,OC1外接LED點亮,輸出低電平,OC1外接LED熄滅;
GPIO27輸出高電平,OC2外接LED點亮,輸出低電平,OC2外接LED熄滅;
3.電機A口的使能接GPIO10,方向控制接GPIO25,電機B口的使能接GPIO17,方向控制接GPIO4,使用樹莓派控制引腳可以進行控制電機的啟動停止和調(diào)速,通過方向引腳控制電機轉(zhuǎn)向。
- A口使能GPIO17輸出高電平,A口方向GPIO25輸出高電平,A口電機順時針旋轉(zhuǎn);
- A口使能GPIO17輸出高電平,A口方向GPIO25輸出低電平,A口電機逆時針旋轉(zhuǎn);
- A口使能GPIO17輸出低電平,A口電機停止轉(zhuǎn)動;
- B口使能GPIO10輸出高電平,B口方向GPIO4輸出高電平,B口電機順時針旋轉(zhuǎn);
- B口使能GPIO10輸出高電平,B口方向GPIO4輸出低電平,B口電機逆時針旋轉(zhuǎn);
- B口使能GPIO10輸出低電平,B口電機停止轉(zhuǎn)動;
4.SW1、SW2接口經(jīng)過限流電阻后直接連接在樹莓派的GPIO 11、9.在SW1、GND之間和SWD、GND之間,分別連接一個碰撞開關(guān),GPIO11、9設(shè)置為輸入,默認(rèn)電平為高電平(內(nèi)部有上拉電阻),當(dāng)開關(guān)閉合時,GPIO的電平會被拉低。
5.I2C接口直接連接到樹莓派的I2C引腳(GPIO2 |SDA,GPIO 3|SCL),可以擴展I2C模塊。
6.UART接口直接連接到樹莓派的UART引腳(GPIO 14|TX,GPIO 15|RX),可以擴展UART模塊。
7.URF(超聲波接口)的OUTPUT經(jīng)過分壓直接連接到GPIO18,INPUT直接連接到GPIO23,樹莓派的GPIO 23至高10us以上,然后置低,等待GPIO 18接收到高電平信號時,高電平結(jié)束時停止,計算高電平時間,所測量的距離 = 高電平時間*聲速/2。
插接方法
基本測試代碼
需要將下載的示例程序復(fù)制到樹莓派的 pi 目錄下,可以使用 putty 登錄到 Raspberry Pi 控制器,輸入命令"cd RB-01C073A Raspberry Pi Motor Driver"進入程序目錄,然后輸入"sudo python dianji1.py"命令來執(zhí)行程序。
- 使用 Putty 登錄到 Raspberry Pi 方法可以參考:Raspberry Pi 基礎(chǔ)教程匯總
- 注意程序中我們使用了一個庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個目錄下,會造成程序執(zhí)行失敗。
import time import botbook_gpio as gpio shinengA = 10 # <1> fangxiangA = 25 shinengB = 17 # <1> fangxiangB = 4 gpio.mode(shinengA, "out") gpio.mode(shinengB, "out") gpio.mode(fangxiangA, "out") gpio.mode(fangxiangB, "out") def qianjin() gpio.write(shinengA, gpio.HIGH) gpio.write(fangxiangA, gpio.HIGH) gpio.write(shinengB, gpio.HIGH) gpio.write(fangxiangB, gpio.HIGH) print "qianjin" time.sleep(1) def houtui() gpio.write(shinengA, gpio.HIGH) gpio.write(fangxiangA, gpio.LOW) gpio.write(shinengB, gpio.HIGH) gpio.write(fangxiangB, gpio.LOW) print "houtui" time.sleep(1) def zuozhuan() gpio.write(shinengA, gpio.HIGH) gpio.write(fangxiangA, gpio.LOW) gpio.write(shinengB, gpio.HIGH) gpio.write(fangxiangB, gpio.HIGH) print "zuozhuan" time.sleep(1) def youzhuan() gpio.write(shinengA, gpio.HIGH) gpio.write(fangxiangA, gpio.HIGH) gpio.write(shinengB, gpio.HIGH) gpio.write(fangxiangB, gpio.LOW) print "youzhuan" time.sleep(1) def tingzhi() gpio.write(shinengA, gpio.LOW) gpio.write(fangxiangA, gpio.LOW) gpio.write(shinengB, gpio.LOW) gpio.write(fangxiangB, gpio.HIGH) print "tingzhi" time.sleep(1) def main: qianjin() time.sleep(1) tingzhi() time.sleep(0.5) houtui() time.sleep(1) tingzhi() time.sleep(0.5) zuozhuan() time.sleep(1) tingzhi() time.sleep(0.5) youzhaun() time.sleep(1) tingzhi() time.sleep(0.5) if __name__ == "__main__": main()
代碼功能
代碼使用樹莓派執(zhí)行后,小車實現(xiàn)前后左右的運動。
超聲波測試?yán)?/span>
需要將下載的示例程序復(fù)制到樹莓派的 pi 目錄下,可以使用 putty 登錄到 Raspberry Pi 控制器,輸入命令"cd RB-01C073A Raspberry Pi Motor Driver URF02"進入程序目錄,然后輸入"sudo python URF02.py"命令來執(zhí)行程序。 使用 Putty 登錄到 Raspberry Pi 方法可以參考:Raspberry Pi 基礎(chǔ)教程匯總
- 注意程序中我們使用了一個庫文件"botbook_gpio",庫文件可以直接從上面的例子程序下載中獲取到,如果不使用庫文件或者庫文件和程序文件不是在同一個目錄下,會造成程序執(zhí)行失敗。
import time import botbook_gpio as gpio def readDistanceCm(): triggerPin = 23 # <1> echoPin = 18 v=(331.5+0.6*20) # m/s gpio.mode(triggerPin, "out") gpio.mode(echoPin, "in") gpio.interruptMode(echoPin, "both") gpio.write(triggerPin, gpio.LOW) time.sleep(0.5) gpio.write(triggerPin, gpio.HIGH) time.sleep(1/1000.0/1000.0) gpio.write(triggerPin, gpio.LOW) t = gpio.pulseInHigh(echoPin) # s d = t*v d = d/2 return d*100 # cm def main(): while True: d = readDistanceCm() # <2> print "Distance is %.2f cm" % d time.sleep(0.5) if __name__ == "__main__": main()
程序效果
程序執(zhí)行后,在 Putty 的登錄窗口會持續(xù)顯示出當(dāng)前超聲波檢測的前方障礙物距離,單位"cm",如果要退出程序,可以使用“Ctrl + C”組合鍵。
產(chǎn)品相關(guān)推薦
產(chǎn)品購買地址
周邊產(chǎn)品推薦
URF02超聲波傳感器
無線藍(lán)牙模塊
樹莓派二代控制器
相關(guān)問題解答
新買的樹莓派2,HDMI無信號,ACT燈常亮
Raspberry Pi 常見問題的解決方法
相關(guān)學(xué)習(xí)資料
玩轉(zhuǎn)樹莓派系列視頻教程(一)
玩轉(zhuǎn)樹莓派系列視頻教程(二)
玩轉(zhuǎn)樹莓派系列視頻教程(三)
玩轉(zhuǎn)樹莓派系列視頻教程(四)
玩轉(zhuǎn)樹莓派系列視頻教程(五)
樹莓派新手教程三---使用raspi-config工具配置樹莓派
樹莓派新手教程二---如何安裝和啟動你的樹莓派!
奧松機器人技術(shù)論壇樹莓派控制器版塊