极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13596|回复: 5

直流电机转动问题

[复制链接]
发表于 2015-1-20 10:24:23 | 显示全部楼层 |阅读模式
int EA = 9;
int IN1 = 8;
int IN2 = 7;
void setup()
{
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
Serial.begin(9600);
}
void loop()
{
  if (Serial.available())
  {
    char s = Serial.read();
    if(s =='a')
    {
      aa();//直流电机正转1秒 暂停一秒 反转一秒  
    }
    else
    {
       stopMotor(true);
    }
   
  }
}
void Motor(boolean reverse)
{
if(reverse) //正转
{
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
}
else  //反转
{
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);  
}
}
void stopMotor(boolean r)//电机停转
{
  if (r)
  {
    analogWrite(EA,0);
  }
  else
  {
    analogWrite(EA,255);
  }
}
void aa()//先正转1秒停1秒后反转1秒
{
  //正转
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  delay(1000);

  //暂停一秒
  stopMotor(true);
  delay(1000);
  stopMotor(false);//恢复电机使能端高电平


  //反转
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  delay(1000);
  // 暂停
  stopMotor(true);
  delay(1000);
  stopMotor(false);
}

我想在键盘上输入一个字符,电机就开始先正转1秒,再暂停一秒,接着反转一秒,可使把程序烧入芯片时,电机的转动及其不规律,求大神指导一下!谢谢啦!
回复

使用道具 举报

 楼主| 发表于 2015-1-20 10:39:02 | 显示全部楼层
帖子不要沉啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-20 10:39:29 | 显示全部楼层
求大神帮忙!
回复 支持 反对

使用道具 举报

发表于 2015-1-20 13:45:06 | 显示全部楼层
芯片直接驱动马达 吗?电流不够吧,最好加驱动而且电源单独用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-20 19:13:00 | 显示全部楼层
林定祥 发表于 2015-1-20 13:45
芯片直接驱动马达 吗?电流不够吧,最好加驱动而且电源单独用。

我这款板子有驱动的
回复 支持 反对

使用道具 举报

发表于 2015-1-20 19:54:32 | 显示全部楼层
转身已是黄昏 发表于 2015-1-20 19:13
我这款板子有驱动的

那电源是否有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 16:51 , Processed in 0.056560 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表