0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用Arduino控制直流電機

454398 ? 來源:wv ? 2019-09-27 14:25 ? 次閱讀

步驟1:設置

軟件

在此步驟中,我將提供零件清單和下載Arduino軟件的鏈接。我為此項目使用了Arduino Create。您可以使用Arduino程序執(zhí)行相同的操作,該程序可從此處下載。

部件列表:

Arduino Uno(其他板可能

標準直流電動機

L293DNE H橋

2個按鈕

跳線

面包板

所有這些物品都可以很便宜地在線購買。

步驟2:串行通信-接線

首先,讓我們進行串行通信。如圖所示連接Arduino。

第3步:串行通信-代碼

現(xiàn)在,您已將Arduino連接好,將代碼復制并粘貼到Arduino IDE。將讀取此代碼的作用,以獲取您將在串行監(jiān)視器中手動鍵入的信號。輸入1或2時,電動機將在短時間內(nèi)順時針或逆時針旋轉(zhuǎn)。做一點實驗!鍵入多個1或2,然后看看會發(fā)生什么!

int in1pin = 6;

int in2pin = 7; // connections to H-Bridge, clockwise / counter

char receivedChar; // store info

boolean newData = false; // create a true/false statement

void setup() {

pinMode(in1pin, OUTPUT);

pinMode(in2pin, OUTPUT); // set pins to OUTPUTS

Serial.begin(9600); // start up serial communication

}

void loop() {

recvData(); // read and store data

moveMotor(); // move motor according to data and then reset

}

void recvData() {

if (Serial.available() 》 0) { // if the serial monitor has a reading

receivedChar = Serial.read(); // set char to be what is read

newData = true; // make statement true

}

}

void moveMotor() {

int motordirection = (receivedChar - ‘0’); // turn recieved data into usable form and give it a name

while(newData == true) {

Serial.println(motordirection); // print motor direction

if (motordirection == 1) { // if it reads 1.。.

digitalWrite(in1pin, HIGH); // turn motor one way

digitalWrite(in2pin, LOW);

delay(250);

}

else if (motordirection == 2) { // if it reads 2.。.

digitalWrite(in1pin, LOW); // turn motor other way

digitalWrite(in2pin, HIGH);

delay(250);

}

else { // if nothing is read

digitalWrite(in1pin, LOW); // motor is off

digitalWrite(in2pin, LOW);

}

newData = false; // reset value to false

}

}

步驟4:按鈕命令-接線

要進行按鈕通訊,請如圖所示添加按鈕。

第5步:按鈕命令-代碼

現(xiàn)在,制作新草圖并復制并粘貼此代碼,然后播放周圍。

int in1pin = 6;

int in2pin = 7; // h bridge pins

int leftButton = 8;

int rightButton = 9; // buttons

void setup() {

pinMode(in1pin, OUTPUT);

pinMode(in2pin, OUTPUT); // outputs

pinMode(leftButton, INPUT_PULLUP);

pinMode(rightButton, INPUT_PULLUP); // inputs w internal pullup resistors

}

void loop() {

int leftPinState = digitalRead(leftButton);

int rightPinState = digitalRead(rightButton); // set value names for read data

if (leftPinState == LOW) { // if left button is pressed 。..

digitalWrite(in1pin, HIGH); // make motor go one way

digitalWrite(in2pin, LOW);

}

else if (rightPinState == LOW) { // if right button is pressed 。..

digitalWrite(in1pin, LOW);

digitalWrite(in2pin, HIGH); // make motor go other way

}

else { // if neither button is pressed 。..

digitalWrite(in1pin, LOW); // nothing happens

digitalWrite(in2pin, LOW);

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 直流電機
    +關注

    關注

    36

    文章

    1710

    瀏覽量

    70283
  • Arduino
    +關注

    關注

    188

    文章

    6473

    瀏覽量

    187417
收藏 人收藏

    評論

    相關推薦

    如何使用MOS管進行直流電機控制

    在現(xiàn)代電子技術中,直流電機因其高效、可控和可靠的特性而被廣泛應用于各種工業(yè)和消費產(chǎn)品中。MOS管因其高速開關特性和低導通電阻成為控制直流電機的理想選擇。 MOS管的工作原理 MOS管是一種電壓
    的頭像 發(fā)表于 11-05 13:51 ?801次閱讀

    有刷直流電機是什么?有刷直流電機的工作原理是什么?

    有刷直流電機是一種常見的直流電機,它通過電刷和換向器來實現(xiàn)電流方向的改變,從而驅(qū)動電機旋轉(zhuǎn)。有刷直流電機具有結(jié)構(gòu)簡單、成本較低、控制方便等優(yōu)
    的頭像 發(fā)表于 10-22 16:03 ?709次閱讀

    直流電機的應用原理及控制原理是什么?

    直流電機(Direct Current Motor,簡稱DC Motor)是一種將直流電能轉(zhuǎn)換為機械能的電機。它廣泛應用于各種工業(yè)和民用設備中,如電動車輛、機床、起重機、電梯、家用電器等。 一
    的頭像 發(fā)表于 10-22 14:23 ?406次閱讀

    直流電機有哪些型號?如何分類的?

    直流電機是一種將直流電能轉(zhuǎn)換為機械能的電機,廣泛應用于各種工業(yè)、交通和家用電器等領域。直流電機的型號和分類方式多樣,可以根據(jù)不同的標準進行分類。以下是對
    的頭像 發(fā)表于 10-22 14:20 ?885次閱讀

    直流電機主要種類有哪些?直流電機的勵磁方式有哪些?

    直流電機是一種將直流電能轉(zhuǎn)換為機械能的電機,廣泛應用于各種工業(yè)和民用領域。根據(jù)其結(jié)構(gòu)和用途,直流電機可以分為以下幾種主要類型: 永磁直流電機
    的頭像 發(fā)表于 10-22 14:16 ?742次閱讀

    直流電機是什么?具有什么特點?

    直流電機是一種利用直流電能來驅(qū)動的電機,其主要特點是具有較高的啟動轉(zhuǎn)矩、良好的調(diào)速性能和較高的效率。直流電機廣泛應用于各種工業(yè)、交通、航空、航天等領域。 一、
    的頭像 發(fā)表于 10-22 14:10 ?725次閱讀

    直流電機是什么 直流電機介紹及其工作原理

    直流電機(Direct Current Machine)是一種能夠?qū)崿F(xiàn)直流電能與機械能互相轉(zhuǎn)換的旋轉(zhuǎn)電機。根據(jù)應用場景的不同,直流電機既可以作為直流
    的頭像 發(fā)表于 10-18 15:09 ?1083次閱讀

    直流電機的轉(zhuǎn)速與線圈的關系

    直流電機的轉(zhuǎn)速與線圈的關系是一個復雜而深入的話題,涉及到電機的工作原理、構(gòu)造、控制方式等多個方面。 直流電機的基本原理 直流電機是一種將
    的頭像 發(fā)表于 09-06 16:47 ?1114次閱讀

    直流電機的主磁極由什么組成

    直流電機是一種將直流電能轉(zhuǎn)換為機械能的設備,廣泛應用于工業(yè)、交通、航空、航天等領域。直流電機的工作原理是利用電磁感應原理,將電能轉(zhuǎn)換為機械能。直流電機主要由定子、轉(zhuǎn)子、換向器、電刷等部
    的頭像 發(fā)表于 08-26 10:28 ?990次閱讀

    直流電機正反轉(zhuǎn)的控制方式

    直流電機,作為一種將直流電能轉(zhuǎn)化為機械能的電動機,廣泛應用于各種工業(yè)和民用領域。在實際應用中,經(jīng)常需要實現(xiàn)直流電機的正反轉(zhuǎn),以滿足不同的工作需求。本文將詳細介紹直流電機正反轉(zhuǎn)的實現(xiàn)方法
    的頭像 發(fā)表于 06-04 17:20 ?5099次閱讀

    永磁無刷直流電機控制方法

    永磁無刷直流電機(BLDCM)因其高效率、高功率密度、低維護成本等優(yōu)點,在電動汽車、航空航天、工業(yè)自動化等領域得到了廣泛應用。為了充分發(fā)揮永磁無刷直流電機的性能,采用合適的控制方法至關重要。本文將詳細介紹永磁無刷
    的頭像 發(fā)表于 06-03 18:21 ?1473次閱讀

    如何使用Arduino UNO和TIP120晶體管驅(qū)動和控制直流電機的速度

    在本 Arduino 電機指南中,您將學習如何使用 Arduino UNO 和 TIP120晶體管驅(qū)動和控制直流電機的速度。在此示例中,您將
    的頭像 發(fā)表于 02-11 10:08 ?1576次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO和TIP120晶體管驅(qū)動和<b class='flag-5'>控制</b><b class='flag-5'>直流電機</b>的速度

    直流電機是否可以變頻器控制

    突然想到一個問題,交流電機變頻器控制調(diào)速,那么直流電機什么設備調(diào)速。根據(jù)電機原理,
    發(fā)表于 02-10 17:36

    直流電機控制器電路圖分享

    直流電機控制器是一種電子控制系統(tǒng),用于控制直流電機的轉(zhuǎn)速、轉(zhuǎn)向和扭矩等參數(shù),從而實現(xiàn)直流電機的自
    的頭像 發(fā)表于 02-04 15:52 ?8346次閱讀
    <b class='flag-5'>直流電機</b><b class='flag-5'>控制</b>器電路圖分享

    直流電機的勵磁是直流電嗎?直流電機勵磁的作用?

    直流電機的勵磁是直流電嗎?直流電機勵磁的作用?直流電機勵磁方式的區(qū)分? 直流電機的勵磁是直流電
    的頭像 發(fā)表于 01-18 16:07 ?3115次閱讀