QRICHIE 发表于 2020-3-31 12:13:55

求助大神帮忙 菜鸟刚入坑

按照下面的代码输入后IDE报错
求大神帮忙纠错 谢谢 新手刚入手的板子 想试一下进步电机怎么操作 UNO+CNC SHIELD V3+DRV8825 要做3D打印机的话也不知道这套配置是否可以 买了以后才发现v3板连线引脚的介绍并不是很详细 很多都是制作雕刻机的简单介绍 望大神指导一下 在此感谢


//下面是简单的步进电机控制程序,
#define EN8   //步进电机使能端,低电平有效
#define X_DIR5//X轴 步进电机方向控制
#define Y_DIR6//Y轴 步进电机方向控制
#define Z_DIR7//Z轴 步进电机方向控制
#define X_STP2//X轴 步进控制
#define Y_STP3//Y轴 步进控制
#define Z_STP4//Z轴 步进控制
/*
//函数: step 功能: 控制步进电机方向,步数。
//参数: dir 方向控制,dirpin对应步进电机的DIR引脚,
Stepperpin 对应步进电机的step引脚,steps 步进的步数
//无返回值
Void step(boolean dir,byte dirPin,byte stepperPin,int steps)
{
digitalWrite(dirPin,dir);
delay(50);
for(inti=0;i<steps;i++){
digitalWrite(stepperPin,HIGH);
delayMicroseconds(800);
digitalWrite(stepperPin,LOW);
delayMicroseconds(800);
}
}
Void setup(){//将步进电机用到的IO管脚设置成输出
pinMode(X_DIR,OUTPUT);pinMode(X_STP,OUTPUT);
pinMode(Y_DIR,OUTPUT);pinMode(Y_STP,OUTPUT);
pinMode(Z_DIR,OUTPUT);pinMode(Z_STP,OUTPUT);
pinMode(EN,OUTPUT);
digitalWrite(EN,LOW);
}
Void loop(){
step(false,X_DIR,X_STP,200); //X轴电机 反转1圈,200步为一圈
step(false,Y_DIR,Y_STP,200); //Y轴电机 反转1圈,200步为一圈
step(false,Z_DIR,Z_STP,200); //Z轴电机 反转1圈,200步为一圈
delay(1000);
step(true,X_DIR,X_STP,200); //X轴电机 正转1圈,200步为一圈
step(true,Y_DIR,Y_STP,200); //Y轴电机 正转1圈,200步为一圈
step(true,Z_DIR,Z_STP,200); //Z轴电机 正转1圈,200步为一圈
delay(1000);
}

t3486784401 发表于 2020-3-31 13:02:44

各种语法错误,已经改好:

//下面是简单的步进电机控制程序,
#define EN8   //步进电机使能端,低电平有效
#define X_DIR5//X轴 步进电机方向控制
#define Y_DIR6//Y轴 步进电机方向控制
#define Z_DIR7//Z轴 步进电机方向控制
#define X_STP2//X轴 步进控制
#define Y_STP3//Y轴 步进控制
#define Z_STP4//Z轴 步进控制

/*
//函数: step 功能: 控制步进电机方向,步数。
//参数: dir 方向控制,dirpin对应步进电机的DIR引脚,
Stepperpin 对应步进电机的step引脚,steps 步进的步数
//无返回值
*/
void step(boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite(dirPin, dir);
delay(50);
for (int i = 0; i < steps; i++) {
    digitalWrite(stepperPin, HIGH);
    delayMicroseconds(800);
    digitalWrite(stepperPin, LOW);
    delayMicroseconds(800);
}
}

void setup() { //将步进电机用到的IO管脚设置成输出
pinMode(X_DIR, OUTPUT); pinMode(X_STP, OUTPUT);
pinMode(Y_DIR, OUTPUT); pinMode(Y_STP, OUTPUT);
pinMode(Z_DIR, OUTPUT); pinMode(Z_STP, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN, LOW);
}

void loop() {
step(false, X_DIR, X_STP, 200); //X轴电机 反转1圈,200步为一圈
step(false, Y_DIR, Y_STP, 200); //Y轴电机 反转1圈,200步为一圈
step(false, Z_DIR, Z_STP, 200); //Z轴电机 反转1圈,200步为一圈
delay(1000);
step(true, X_DIR, X_STP, 200); //X轴电机 正转1圈,200步为一圈
step(true, Y_DIR, Y_STP, 200); //Y轴电机 正转1圈,200步为一圈
step(true, Z_DIR, Z_STP, 200); //Z轴电机 正转1圈,200步为一圈
delay(1000);
}

QRICHIE 发表于 2020-3-31 13:31:51

t3486784401 发表于 2020-3-31 13:02
各种语法错误,已经改好:

谢过大神

QRICHIE 发表于 2020-4-3 09:38:26

请问各位大神 为什么用这个代码 我的步进电机 至少动一下 然后锁死 就不动了 是我的连线错了还是代码有问题 可否给你一个步进电机的正反转的测试码
页: [1]
查看完整版本: 求助大神帮忙 菜鸟刚入坑