37款傳感器與執(zhí)行器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟?,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動(dòng)手嘗試系列實(shí)驗(yàn),不管成功(程序走通)與否,都會(huì)記錄下來(lái)—小小的進(jìn)步或是搞不掂的問(wèn)題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)一百五十四:L293D四路電機(jī)驅(qū)動(dòng)擴(kuò)展板 motor control shield 馬達(dá)板 Adafruit Motor Shield模塊 Arduino AFMotor 電機(jī)擴(kuò)展板

知識(shí)點(diǎn):L293D芯片
L293D是ST公司生產(chǎn)的一種高電壓、小電流電機(jī)驅(qū)動(dòng)芯片,其設(shè)計(jì)用于在4.5 V至36 V的電壓下提供高達(dá)600 mA的雙向驅(qū)動(dòng)電流??梢杂糜隍?qū)動(dòng)電感性負(fù)載,例如繼電器,螺線管,DC和雙極步進(jìn)電機(jī),以及在正電源應(yīng)用中的其他大電流/高壓負(fù)載。
每個(gè)輸出都是一個(gè)完整的圖騰柱驅(qū)動(dòng)電路,帶有一個(gè)達(dá)林頓晶體管沉和一個(gè)偽達(dá)林頓源。驅(qū)動(dòng)程序成對(duì)啟用,驅(qū)動(dòng)程序1和2由1,2EN啟用,驅(qū)動(dòng)程序3和4由3,4EN啟用。
L293D的工作溫度范圍為0°C至70°C。

L293D特性
電源電壓范圍:4.5V至36V
單獨(dú)的輸入邏輯電源
內(nèi)部ESD保護(hù)
熱關(guān)斷
高噪聲抗擾度輸入的
通標(biāo)L293和L293DSGS的功能替代
輸出電流1A每通道(600毫安L293D)
峰值輸出電流每通道2A(1.2 L293D)
輸出鉗位二極管的感性瞬態(tài)抑制(L293D)
L293D參數(shù)
制造商: STMicroelectronics
產(chǎn)品種類: 電機(jī)/運(yùn)動(dòng)控制器和驅(qū)動(dòng)器
類型: Driver
工作電源電壓: 4.5 V to 36 V
封裝 / 箱體: POWERDIP
封裝: Tube

該器件是單片集成的高電壓,高電流的四通道驅(qū)動(dòng)器,旨在接受標(biāo)準(zhǔn)的DTL或TTL邏輯電平并驅(qū)動(dòng)感性負(fù)載(例如繼電器螺線管,直流和步進(jìn)電機(jī))和開(kāi)關(guān)功率晶體管。為了簡(jiǎn)化用作兩個(gè)橋接器的使用,每對(duì)通道都配備了一個(gè)使能輸入。 獨(dú)立為邏輯電路提供了電源輸入,允許在較低電壓下工作,并包括內(nèi)部鉗位二極管。該設(shè)備適合在高達(dá)5 kHz的頻率下切換應(yīng)用。L293D用16引線塑料組裝具有4個(gè)中心引腳連接到gether并用于散熱的包裝L293DD裝配在20引線表面中具有8個(gè)中心引腳連接到gether并用于散熱的安裝座。
內(nèi)部電路框圖



1,2EN:?jiǎn)⒂抿?qū)動(dòng)器通道1和2(高可用有效輸入)
<1-4> A:驅(qū)動(dòng)器輸入,同相
<1-4>Y:驅(qū)動(dòng)輸出
3,4EN:?jiǎn)⒂抿?qū)動(dòng)器通道3和4(高允許有效輸入)
4、5、12、13:設(shè)備接地和散熱器引腳。通過(guò)多個(gè)實(shí)心通孔連接到印刷電路板接地層
V CC1:用于內(nèi)部邏輯轉(zhuǎn)換的5V電源
V CC2:驅(qū)動(dòng)器的電源VCC 4.5 V至36 V

L293D電氣特性
(對(duì)于每個(gè)通道,VS = 24 V,VSS = 5 V,Tamb = 25°C,除非另有規(guī)定)








L293D(雙H橋路)工作原理(視頻21分鐘)
L293D驅(qū)動(dòng)電機(jī)原理視頻講解
https://www.bilibili.com/video/BV1Kz4y1R7u6/?spm_id_from=333.788.videocard.15

L293D四路電機(jī)驅(qū)動(dòng)模塊 擴(kuò)展板 motor control shield 馬達(dá)板

這是一款常用的直流電機(jī)驅(qū)動(dòng)模塊,采用293D芯片小電流直流電機(jī)驅(qū)動(dòng)芯片。管腳被做成了rduino兼容的,也方便了愛(ài)好者快速的基于rduino的開(kāi)發(fā)。
rduino 是一款很好的電子制作入門,有了電機(jī)擴(kuò)展板可以很好的成為機(jī)器人開(kāi)發(fā)平臺(tái)。這里介紹一款能驅(qū)動(dòng)各種簡(jiǎn)單到稍復(fù)雜項(xiàng)目的全功能的電機(jī)擴(kuò)展板。
適用范圍:rduino初學(xué)者,rduino實(shí)驗(yàn)器材平臺(tái),rduino互動(dòng)電子,Arduino機(jī)器人等。
特點(diǎn):功能多,操作方便,有強(qiáng)大的驅(qū)動(dòng)庫(kù)支持及功能更新。
缺點(diǎn):I/O占用較多在同時(shí)驅(qū)動(dòng)四路電機(jī)的情況下(相對(duì)rduino I/O少的版本而言),小功率。
可驅(qū)動(dòng)4路直流電機(jī)或者2路步進(jìn)電機(jī)的同時(shí)還能驅(qū)動(dòng)2路舵機(jī),支持最新rduino UNO, rduino Mega 2560
可以這樣搭配:
驅(qū)動(dòng)四路直流電機(jī)和兩路舵機(jī)
驅(qū)動(dòng)兩路直流電機(jī)和一路步進(jìn)電機(jī)和兩路舵機(jī)
驅(qū)動(dòng)兩路步進(jìn)電機(jī)和兩路舵機(jī)

L293D四路電機(jī)擴(kuò)展板特點(diǎn)
2個(gè)5V伺服電機(jī)(舵機(jī))端口 聯(lián)接到Arduino的高解析高精度的定時(shí)器-無(wú)抖動(dòng)!
多達(dá)4個(gè)雙向直流電機(jī)及4路PWM調(diào)速(大約0.5%的解析度)
多達(dá)2個(gè)步進(jìn)電機(jī)正反轉(zhuǎn)控制,單/雙步控制,交錯(cuò)或微步及旋轉(zhuǎn)角度控制。
4路H-橋:L293D 芯片每路橋提供.0.6A(峰值1.2A)電流并且?guī)в袩釘嚯姳Wo(hù),4.5V to 36V。
下拉電阻保證在上電時(shí)電機(jī)保持停止?fàn)顟B(tài)。
大終端接線端子使接線更容易(10 - 22AWG)和電源。
帶有Arduino復(fù)位按鈕。
2個(gè)大終端外部電源接線端子 保證邏輯和電機(jī)驅(qū)動(dòng)電源分離。
兼容Mega, Diecimila, & Duemilanove。
*下載方便使用的Arduino軟件庫(kù)快速進(jìn)行項(xiàng)目開(kāi)發(fā)。

L293D四路電機(jī)擴(kuò)展板電原理圖


L293D四路電機(jī)擴(kuò)展板模塊原理
使用L293D來(lái)驅(qū)動(dòng)電機(jī)的,中間有一個(gè)74HC595芯片,是將串行信號(hào)轉(zhuǎn)為并行信號(hào)的,因?yàn)樵撃K是為arduino設(shè)計(jì)的,arduino的I/O口較少,控制4個(gè)直流電機(jī)需要12個(gè)引腳,使用74HC595可以減少4個(gè)引腳的使用,也可以取掉74HC595芯片,焊接接線,直接使用51單片機(jī)并行控制2個(gè)L293D芯片從而控制電機(jī)。
74HC595
74HC595是一個(gè)8位串行輸入、并行輸出的位移緩存器:并行輸出為三態(tài)輸出。在SCK 的上升沿,串行數(shù)據(jù)由SDL輸入到內(nèi)部的8位位移緩存器,并由Q7'輸出,而并行輸出則是在LCK的上升沿將在8位位移緩存器的數(shù)據(jù)存入到8位并行輸出緩存器。當(dāng)串行數(shù)據(jù)輸入端OE的控制信號(hào)為低使能時(shí),并行輸出端的輸出值等于并行輸出緩存器所存儲(chǔ)的值。簡(jiǎn)單的說(shuō),先將模塊的引腳7置0,然后模塊的引腳4(74HC595芯片的數(shù)據(jù)輸入時(shí)鐘端)接受到一個(gè)上升沿,就將芯片中的8位數(shù)據(jù)左移一位,空出低位將引腳8(74HC595芯片的串行數(shù)據(jù)輸入端)的0或1信號(hào)寫(xiě)入低位,寫(xiě)入八次就將控制4個(gè)電機(jī)的8位信號(hào)寫(xiě)入74HC595的芯片中了(M3M4M3M2M1M1M2M4),然后在給引腳12一個(gè)上升沿,就將芯片中的數(shù)據(jù)輸出在芯片的引腳上(Q0~Q7)。
程序計(jì)數(shù)器——74HC595(視頻6分32秒)
https://www.bilibili.com/video/BV1ME411T7EY/?from=search&seid=17494597794294138238

電機(jī)和驅(qū)動(dòng)器
電機(jī)是許多機(jī)器人和電子項(xiàng)目不可分割的一部分,根據(jù)應(yīng)用的不同,它們可以使用不同的類型。以下是有關(guān)不同類型電機(jī)的一些信息:
直流電機(jī)(DC Motor):直流電機(jī)是最常見(jiàn)的電機(jī),可用于許多應(yīng)用。我們可以在遙控車、機(jī)器人等中看到它。這種電機(jī)結(jié)構(gòu)簡(jiǎn)單。它將通過(guò)向其端部施加適當(dāng)?shù)碾妷翰⑼ㄟ^(guò)切換電壓極性來(lái)改變其方向來(lái)開(kāi)始滾動(dòng)。直流電機(jī)的速度由施加的電壓直接控制。當(dāng)電壓電平小于最大容許電壓時(shí),速度會(huì)降低。
步進(jìn)電機(jī)(Stepper Motor):在一些項(xiàng)目中,如3D打印機(jī)、掃描儀和數(shù)控機(jī)床,我們需要準(zhǔn)確了解電機(jī)旋轉(zhuǎn)步數(shù)。在這些情況下,我們使用步進(jìn)電機(jī)。步進(jìn)電機(jī)可將整個(gè)旋轉(zhuǎn)分成多個(gè)相等的步長(zhǎng)。每步的旋轉(zhuǎn)量由電機(jī)結(jié)構(gòu)決定。這些電機(jī)具有非常高的精度。
伺服電機(jī)(Servo Motor):伺服電機(jī)是一種簡(jiǎn)單的直流電機(jī),帶有位置控制服務(wù)。通過(guò)使用伺服電機(jī),您將能夠控制軸的旋轉(zhuǎn)量并將其移動(dòng)到特定位置。它們通常尺寸小,是機(jī)器人手臂的最佳選擇。
TT馬達(dá)直流減速電機(jī),作為一款被廣泛應(yīng)用于電子DIY,機(jī)器人制作,智能車制作環(huán)節(jié)重點(diǎn)動(dòng)力裝置,以其組裝簡(jiǎn)單,擴(kuò)展性能強(qiáng),價(jià)格低廉等諸多特點(diǎn)受到廣大師生和電子愛(ài)好者的喜歡。
主要參數(shù)
額定電壓:4.5-6V
空載轉(zhuǎn)速:90±10rpm (具體視減速比而定)
負(fù)載電流:190mA(250mA 最大)
最大扭矩:0.8Kg·cm
這里做實(shí)驗(yàn)準(zhǔn)備使用TT馬達(dá)

為什么用L293D驅(qū)動(dòng)電機(jī)?
驅(qū)動(dòng)電動(dòng)機(jī)需要大電流。另外,旋轉(zhuǎn)方向和速度是兩個(gè)需要控制的重要參數(shù)。這些要求可以通過(guò)使用微控制器(或像Arduino這樣的開(kāi)發(fā)板)來(lái)處理。但有個(gè)問(wèn)題;微控制器無(wú)法提供足夠的電流來(lái)運(yùn)行電機(jī),如果直接將電機(jī)連接到微控制器,可能會(huì)損壞微控制器。例如,Arduino UNO引腳限制為40mA電流,遠(yuǎn)小于控制小型電機(jī)所需的100-200mA電流。要解決這個(gè)問(wèn)題,我們應(yīng)該使用電機(jī)驅(qū)動(dòng)器。電機(jī)驅(qū)動(dòng)器可以連接到微控制器以接收命令并以高電流運(yùn)行電機(jī)。L293D是最受歡迎的電機(jī)驅(qū)動(dòng)器之一,可驅(qū)動(dòng)直流電機(jī),電流負(fù)載高達(dá)1A.L293D有4個(gè)輸出,適用于4線步進(jìn)電機(jī)。 L293D也可用于驅(qū)動(dòng)伺服電機(jī)。

L293D四路電機(jī)擴(kuò)展板支持Arduino UNO. Arduino Mega2560
可以這樣搭配
驅(qū)動(dòng)四路直流電機(jī)和兩路舵機(jī)
驅(qū)動(dòng)兩路直流電機(jī)和一路步進(jìn)電機(jī)和兩路舵機(jī)
驅(qū)動(dòng)兩路步進(jìn)電機(jī)和兩路舵機(jī)
可以同時(shí)控制4個(gè)直流電機(jī)和2個(gè)步進(jìn)電機(jī)和兩個(gè)伺服電機(jī)(舵
機(jī))。有專門的代碼庫(kù)。導(dǎo)入庫(kù)后,簡(jiǎn)單使用。

L293D四路電機(jī)擴(kuò)展板接線圖


在L293D上哪些引腳我們可以使用呢?
所有的六個(gè)模擬輸入引腳都是可用的。它們也可以當(dāng)做數(shù)字芯片來(lái)使用。(引腳14到19),數(shù)字引腳2和13可用。
下面的引腳只有在下面提到的直流或者步進(jìn)電機(jī)工作時(shí)才會(huì)被用到
數(shù)字引腳11: 1號(hào)直流電機(jī)或者1號(hào)步進(jìn)電機(jī)
數(shù)字引腳3: 2號(hào)直流電機(jī)或者1號(hào)步進(jìn)電機(jī)
數(shù)字引腳5: 3號(hào)直流電機(jī)或者2號(hào)步進(jìn)電機(jī)
數(shù)字引腳6:4號(hào)直流電機(jī)或者2號(hào)步進(jìn)電機(jī)
下面的引腳只有在下面的直流或者步進(jìn)電機(jī)工作時(shí)才會(huì)被用到
數(shù)字信號(hào)4,7,8,和12通過(guò)74hc595(serial-to-parallel)來(lái)驅(qū)動(dòng)直流或者步進(jìn)電機(jī)
數(shù)字引腳4:DIR CLK觸發(fā)
數(shù)字引腳7:DIR EN指令的允許端EN
數(shù)字引腳8:DIR SER
數(shù)字引腳12:DIR ATCH中斷連接
下面的引腳只有在舵機(jī)工作時(shí)才會(huì)被用到
數(shù)字信號(hào)9:1號(hào)舵機(jī)
數(shù)字信號(hào)10: 2號(hào)舵機(jī)
所以只要相應(yīng)的引腳沒(méi)被L293D驅(qū)動(dòng)板使用到,你也是可以拿來(lái)用的但前提是你得自己焊出引腳來(lái)。另外,GND、5V引腳必須也要連接,否則的話就無(wú)法穩(wěn)定地控制直流電動(dòng)機(jī)。

外接電源供電
如下圖所示,AFMotor電機(jī)擴(kuò)展板上配有外接電源接口。該接口所連接的直流電源可以為電機(jī)和Arduino開(kāi)發(fā)板供電。
使用AFMotor電機(jī)擴(kuò)展板驅(qū)動(dòng)電機(jī)時(shí),首要考慮的問(wèn)題就是如何為擴(kuò)展板供電。如果電源輸出功率達(dá)不到驅(qū)動(dòng)電機(jī)的要求,那么電機(jī)是無(wú)法正常工作的。在考慮如何選擇電源時(shí),我們需要重點(diǎn)關(guān)注兩個(gè)方面 ,一個(gè)是電源電壓,一個(gè)是電源電流。
注意:外接電源極性千萬(wàn)不要接反,否則會(huì)對(duì)擴(kuò)展板造成損壞!
外接電源電壓要求
AFMotor擴(kuò)展板中起關(guān)鍵作用的芯片是L293D。該芯片所允許的直流電源電壓范圍是4.5V ~25V。因此AFMotor擴(kuò)展板外接電源接口允許我們連接的電源也是4.5V ~25V。請(qǐng)注意:這是一個(gè)很寬泛的電壓指標(biāo)。具體我們應(yīng)該連接的電源電壓有多大,這是由被驅(qū)動(dòng)的電機(jī)工作電壓來(lái)決定的。
外接電源電流要求
與上面提到的電源電壓要求相同,外接電源的電流要求也是由被驅(qū)動(dòng)的電機(jī)來(lái)決定的。通常我們使用AFMotor電機(jī)擴(kuò)展板所驅(qū)動(dòng)的電機(jī)就是普通的模型電機(jī)(如以上電源講解中的圖片所示)。對(duì)于這一類型的電機(jī),它們的工作電流大約是500mA左右,因此我們只要為擴(kuò)展板配一個(gè)500 mA~1000 mA的外接電源就足夠了。請(qǐng)注意,假如您所驅(qū)動(dòng)的電機(jī)工作電流超過(guò)500mA,那么就要考慮為擴(kuò)展板上的L293D加裝散熱片了。

電源使用
為直流電動(dòng)機(jī),電壓和電流需求供電電動(dòng)機(jī)需要大量能量,尤其是便宜的電動(dòng)機(jī),因?yàn)樗鼈兊男瘦^低。首先要弄清楚電動(dòng)機(jī)要使用的電壓。如果幸運(yùn)的話,您的電動(dòng)機(jī)帶有一些規(guī)格。一些小型的業(yè)余電動(dòng)機(jī)僅打算以1.5V的電壓運(yùn)行,但6-12V電動(dòng)機(jī)的使用卻一樣普遍。該屏蔽罩的電機(jī)控制器設(shè)計(jì)為在 4.5V至25V 范圍內(nèi)運(yùn)行。
MOST 1.5-3V電動(dòng)機(jī)將無(wú)法工作
電流要求:要弄清的第二件事是電動(dòng)機(jī)需要多少電流。該套件隨附的電機(jī)驅(qū)動(dòng)器芯片旨在為每個(gè)電機(jī)提供高達(dá)600 mA的電流,峰值電流為1.2A。請(qǐng)注意,一旦接近1A,您可能會(huì)希望在電機(jī)驅(qū)動(dòng)器上放一個(gè)散熱器,否則會(huì)出現(xiàn)熱故障,從而可能燒壞芯片。
使用SN754410
某些人使用SN754410電機(jī)驅(qū)動(dòng)器芯片是因?yàn)樗c引腳兼容,具有輸出二極管,每個(gè)電機(jī)可提供1A電流,峰值2A電流。在仔細(xì)閱讀數(shù)據(jù)表并與TI技術(shù)支持和電源工程師進(jìn)行討論之后,看來(lái)輸出二極管僅設(shè)計(jì)用于ESD保護(hù),并且將其用作反沖保護(hù)是一種黑客行為,并且不能保證性能。因此,該套件不隨SN754410一起提供,而是使用帶有集成反沖保護(hù)二極管的L293D。如果您愿意冒險(xiǎn),并且需要額外的流動(dòng)資金,請(qǐng)隨時(shí)購(gòu)買SN754410并更換提供的芯片。
需要更多電源嗎?請(qǐng)購(gòu)買另一組L293D驅(qū)動(dòng)器并將其焊接在板上的頂部(背負(fù)式)。瞧,當(dāng)前功能加倍!您可以在頂部再焊接2個(gè)芯片,否則可能不會(huì)為您帶來(lái)很多好處
您不能用9V電池來(lái)驅(qū)動(dòng)電動(dòng)機(jī),因此甚至不浪費(fèi)時(shí)間/電池! 使用大號(hào)鉛酸或鎳氫電池。它還非常建議您設(shè)置兩個(gè)電源(分離電源),一個(gè)用于Arduino,另一個(gè)用于電機(jī)。 99%的“怪異電機(jī)問(wèn)題” 是由于共享電源線上的噪聲引起的供應(yīng)和/或沒(méi)有足夠的供應(yīng)!
如何設(shè)置Arduino + Shield來(lái)為電機(jī)供電 Servos的電源是與Arduino使用的相同的5V電壓。建議使用小型業(yè)余伺服器。如果您想要更好的東西,請(qǐng)切斷去往伺服連接器上+的走線,并為您自己的5-6V電源接線!
直流電動(dòng)機(jī)由“高壓電源”供電,而不是經(jīng)過(guò)調(diào)節(jié)的5V電源。請(qǐng)勿將電動(dòng)機(jī)電源連接到5V線。除非您確定自己知道自己在做什么,否則這是一個(gè)非常非常糟糕的主意!
可以在兩個(gè)地方獲得電動(dòng)機(jī)的“高壓電源”。一個(gè)是Arduino板上的DC插孔,另一個(gè)是屏蔽板上標(biāo)有 EXT_PWR 的2端子塊.Arduino上的DC插孔具有保護(hù)二極管,因此您將無(wú)法弄亂如果插入錯(cuò)誤的電源,情況可能會(huì)變得非常糟糕。但是,屏蔽層上的 EXT_PWR端子沒(méi)有保護(hù)二極管(出于相當(dāng)充分的理由)。請(qǐng)小心不要將其向后插入,否則您將破壞電機(jī)護(hù)罩和/或Arduino!
如果您想要一個(gè)為Arduino和電機(jī)提供單個(gè)DC電源,只需將其插入Arduino的DC插孔或屏蔽板上的2針PWR_EXT模塊。將電源跳線放在電動(dòng)機(jī)的護(hù)罩上。
如果您有Diecimila Arduino,請(qǐng)將Arduino電源跳線設(shè)置為EXT。
請(qǐng)注意,如果電池電源無(wú)法提供恒定的電源,您可能會(huì)遇到Arduino重置問(wèn)題,但這不是建議您為電機(jī)項(xiàng)目供電的方法
如果您想讓 Arduino的USB電源關(guān)閉,而電機(jī)的電源是直流電源,插入U(xiǎn)SB電纜。然后將電動(dòng)機(jī)電源連接到屏蔽板上的PWR_EXTblock。請(qǐng)勿將跳線放在防護(hù)罩上。這是為電機(jī)項(xiàng)目供電的建議方法
(如果您有Diecimila Arduino,請(qǐng)不要忘記將Arduino電源跳線設(shè)置為USB。如果您有Diecimila,則可以交替執(zhí)行以下操作:將DC電源插入
如果您要 2個(gè)用于Arduino和電機(jī)的獨(dú)立直流電源。請(qǐng)插入Arduino的電源插入DC插孔,然后將電動(dòng)機(jī)電源連接到PWR_EXT塊。確保將跳線從電動(dòng)機(jī)護(hù)罩上卸下。
如果您有Diecimila Arduino,請(qǐng)將Arduino跳線設(shè)置為EXT。這是為電動(dòng)機(jī)項(xiàng)目供電的建議方法。
無(wú)論哪種方式,如果要使用直流電動(dòng)機(jī)/步進(jìn)系統(tǒng),電動(dòng)機(jī)的護(hù)罩LED均應(yīng)點(diǎn)亮,指示電動(dòng)機(jī)功率良好。
這是它的工作方式:

安裝AFMotor電機(jī)庫(kù)
使用AFMotor電機(jī)擴(kuò)展板驅(qū)動(dòng)電機(jī)以前,需要先將AFMotor庫(kù)安裝到Arduino IDE中。如果您不知道如何進(jìn)行操作,請(qǐng)點(diǎn)擊這里進(jìn)入Arduino IDE安裝庫(kù)的說(shuō)明頁(yè)面(http://www.taichi-maker.com/home ... ll-arduino-library/)。
在這里我們向您推薦兩個(gè)電機(jī)程序庫(kù)。一個(gè)是必須安裝的,一個(gè)是可按您需要選擇安裝的。
必裝的庫(kù)是AFMotor庫(kù)。這個(gè)庫(kù)是AFMotor擴(kuò)展板的開(kāi)發(fā)團(tuán)隊(duì)Adafruit專門為該擴(kuò)展板編寫(xiě)的。它的優(yōu)點(diǎn)是非常簡(jiǎn)單易用,但是功能相對(duì)單一。假如您只是驅(qū)動(dòng)直流模型電機(jī),那么這個(gè)AFMotor庫(kù)就足夠了。
但是如果您還想用AFMotor擴(kuò)展板驅(qū)動(dòng)28BYJ-48步進(jìn)電機(jī)的話,AFMotor庫(kù)雖然也可以實(shí)現(xiàn)這一功能,但是它的功能太簡(jiǎn)單了。所以我們建議您使用AccelStepper庫(kù)來(lái)控制步進(jìn)電機(jī)。請(qǐng)注意:AccelStepper庫(kù)本身不能配合AFMotor電機(jī)擴(kuò)展板工作。只有安裝了AFMotor庫(kù)以后,AccelStepper庫(kù)在AFMotor庫(kù)的配合下才能用于AFMotor電機(jī)擴(kuò)展板驅(qū)動(dòng)步進(jìn)電機(jī)。這也就是說(shuō),無(wú)論您是否使用AccelStepper庫(kù),都要首先安裝AFMotor庫(kù)。
以下是這兩個(gè)庫(kù)的下載鏈接:
下載 AFMotor庫(kù)(https://pan.baidu.com/s/1xVViDOb_VIb0qenXVdGErw)
下載 AccelStepper庫(kù)(https://pan.baidu.com/s/1PXKIEiSYR-P_3IpY5cs7tw)

Arduino實(shí)驗(yàn)開(kāi)源代碼
/*
【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)一百五十四:L293D四路電機(jī)驅(qū)動(dòng)擴(kuò)展板 motor control shield 馬達(dá)板
Adafruit Motor Shield模塊 Arduino AFMotor 電機(jī)擴(kuò)展板
1、安裝庫(kù):百度搜索“AFMotor庫(kù)”— 下載 — 拷貝到Arduino-libraries 文件夾中
2、實(shí)驗(yàn)之一:測(cè)試驅(qū)動(dòng)M2直流電機(jī)
*/
#include <AFMotor.h>
AF_DCMotor motor(2, MOTOR12_64KHZ);
void setup() {
motor.setSpeed(200);
}
void loop() {
motor.run(FORWARD);
delay(1000);
motor.run(BACKWARD);
delay(1000);
motor.run(RELEASE);
delay(1000);
}
Arduino AFMotor 電機(jī)擴(kuò)展板實(shí)驗(yàn)場(chǎng)景圖
