0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Arduino控制直流电机

454398 来源:wv 2019-09-27 14:25 次阅读

步骤1:设置

软件

在此步骤中,我将提供零件清单和下载Arduino软件的链接。我为此项目使用了Arduino Create。您可以使用Arduino程序执行相同的操作,该程序可从此处下载。

部件列表:

Arduino Uno(其他板可能

标准直流电动机

L293DNE H桥

2个按钮

跳线

面包板

所有这些物品都可以很便宜地在线购买。

步骤2:串行通信-接线

首先,让我们进行串行通信。如图所示连接Arduino。

第3步:串行通信-代码

现在,您已将Arduino连接好,将代码复制并粘贴到Arduino IDE。将读取此代码的作用,以获取您将在串行监视器中手动键入的信号。输入1或2时,电动机将在短时间内顺时针或逆时针旋转。做一点实验!键入多个1或2,然后看看会发生什么!

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步:按钮命令-代码

现在,制作新草图并复制并粘贴此代码,然后播放周围。

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);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    36

    文章

    1710

    浏览量

    70151
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186907
收藏 人收藏

    评论

    相关推荐

    如何使用MOS管进行直流电机控制

    在现代电子技术中,直流电机因其高效、可控和可靠的特性而被广泛应用于各种工业和消费产品中。MOS管因其高速开关特性和低导通电阻成为控制直流电机的理想选择。 MOS管的工作原理 MOS管是一种电压
    的头像 发表于 11-05 13:51 474次阅读

    有刷直流电机是什么?有刷直流电机的工作原理是什么?

    有刷直流电机是一种常见的直流电机,它通过电刷和换向器来实现电流方向的改变,从而驱动电机旋转。有刷直流电机具有结构简单、成本较低、控制方便等优
    的头像 发表于 10-22 16:03 443次阅读

    直流电机的应用原理及控制原理是什么?

    直流电机(Direct Current Motor,简称DC Motor)是一种将直流电能转换为机械能的电机。它广泛应用于各种工业和民用设备中,如电动车辆、机床、起重机、电梯、家用电器等。 一
    的头像 发表于 10-22 14:23 279次阅读

    直流电机有哪些型号?如何分类的?

    直流电机是一种将直流电能转换为机械能的电机,广泛应用于各种工业、交通和家用电器等领域。直流电机的型号和分类方式多样,可以根据不同的标准进行分类。以下是对
    的头像 发表于 10-22 14:20 572次阅读

    直流电机是什么?具有什么特点?

    直流电机是一种利用直流电能来驱动的电机,其主要特点是具有较高的启动转矩、良好的调速性能和较高的效率。直流电机广泛应用于各种工业、交通、航空、航天等领域。 一、
    的头像 发表于 10-22 14:10 485次阅读

    直流电机是什么 直流电机介绍及其工作原理

    直流电机(Direct Current Machine)是一种能够实现直流电能与机械能互相转换的旋转电机。根据应用场景的不同,直流电机既可以作为直流
    的头像 发表于 10-18 15:09 792次阅读

    直流电机的转速与线圈的关系

    直流电机的转速与线圈的关系是一个复杂而深入的话题,涉及到电机的工作原理、构造、控制方式等多个方面。 直流电机的基本原理 直流电机是一种将
    的头像 发表于 09-06 16:47 882次阅读

    直流电机正反转的控制方式

    直流电机,作为一种将直流电能转化为机械能的电动机,广泛应用于各种工业和民用领域。在实际应用中,经常需要实现直流电机的正反转,以满足不同的工作需求。本文将详细介绍直流电机正反转的实现方法
    的头像 发表于 06-04 17:20 4648次阅读

    永磁无刷直流电机控制方法

    永磁无刷直流电机(BLDCM)因其高效率、高功率密度、低维护成本等优点,在电动汽车、航空航天、工业自动化等领域得到了广泛应用。为了充分发挥永磁无刷直流电机的性能,采用合适的控制方法至关重要。本文将详细介绍永磁无刷
    的头像 发表于 06-03 18:21 1325次阅读

    如何使用Arduino UNO和TIP120晶体管驱动和控制直流电机的速度

    在本 Arduino 电机指南中,您将学习如何使用 Arduino UNO 和 TIP120晶体管驱动和控制直流电机的速度。在此示例中,您将
    的头像 发表于 02-11 10:08 1433次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO和TIP120晶体管驱动和<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>的速度

    直流电机是否可以变频器控制

    突然想到一个问题,交流电机变频器控制调速,那么直流电机什么设备调速。根据电机原理,
    发表于 02-10 17:36

    直流电机控制器电路图分享

    直流电机控制器是一种电子控制系统,用于控制直流电机的转速、转向和扭矩等参数,从而实现直流电机的自
    的头像 发表于 02-04 15:52 7754次阅读
    <b class='flag-5'>直流电机</b><b class='flag-5'>控制</b>器电路图分享

    直流电机的励磁是直流电吗?直流电机励磁的作用?

    直流电机的励磁是直流电吗?直流电机励磁的作用?直流电机励磁方式的区分  直流电机的励磁是直流电
    的头像 发表于 01-18 16:07 2969次阅读

    直流电机加一固定直流电源能转吗?

    直流电机加一固定直流电源能转吗?如果不能为什么,该怎样测验。我想通过实验的方法检测直流电机好坏。
    发表于 01-01 06:49

    直流电机控制电路的工作原理

    直流电机是一种将直流电能转化为机械能的装置,广泛应用于电动机、发电机等领域。直流电机控制电路是对直流电机
    的头像 发表于 12-20 14:39 1805次阅读