极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13635|回复: 2

Arduino同时控制两个工业步进电机

[复制链接]
发表于 2017-8-16 20:22:39 | 显示全部楼层 |阅读模式
试验了几天,终于写成了一个简易的代码

/* Blink without Delay
不使用delay函数来使一个连接在数字口的LED闪烁,这意味着别的代码可以同时执行,而不会被LED的代码打断。
*/

const int DianJi1 =  2;      
int DJ1State = LOW;             // 设置 LED状态
const int DianJi2 =  4;      
int DJ2State = LOW;             // 设置 LED状态
long previousMillis = 0;        // 存储上一次LED状态改变的时间

// 下面的变量是长整形,因为以毫秒为单位测量的时间会快速地变成一个更大的,整形无法存储的数字。

long interval =300 ;           // 设置间隔时间为1000毫秒

void setup() {
  // 设置数字口输出
  pinMode(DianJi1, OUTPUT);   
pinMode(DianJi2, OUTPUT);   
}

void loop()
{
  // 检查是否到了亮灭灯的时间,也就是,如果现在和上一次亮灭灯的时间差比你设置的间隔时间大
  unsigned long currentMillis = micros();
  if(currentMillis - previousMillis > interval) {
    // 保存最后一次亮灯的时间
    previousMillis = currentMillis;   

    // 如果LED灭了就点亮它 ,反之亦然:
    if (DJ1State == LOW)      DJ1State = HIGH;
    else      DJ1State = LOW;
      
       if (DJ2State == LOW)      DJ2State = HIGH;
    else      DJ2State = LOW;

    // 设置变量DJ1State为LED数字输入:
    digitalWrite(DianJi1, DJ1State);
     digitalWrite(DianJi2, DJ2State);
  }
}
回复

使用道具 举报

发表于 2017-10-24 15:01:59 | 显示全部楼层
没看懂这代码和步进电机有什么关系
回复 支持 反对

使用道具 举报

发表于 2017-10-27 10:56:08 | 显示全部楼层
老哥,有关于工业步进电机的资料吗,分享一下
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-10 20:45 , Processed in 0.037371 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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