极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22771|回复: 3

求助大神帮忙 菜鸟刚入坑

[复制链接]
发表于 2020-3-31 12:13:55 | 显示全部楼层 |阅读模式
按照下面的代码输入后IDE报错
求大神帮忙纠错 谢谢 新手刚入手的板子 想试一下进步电机怎么操作 UNO+CNC SHIELD V3+DRV8825 要做3D打印机的话也不知道这套配置是否可以 买了以后才发现v3板连线引脚的介绍并不是很详细 很多都是制作雕刻机的简单介绍 望大神指导一下 在此感谢


//下面是简单的步进电机控制程序,
#define EN  8     //步进电机使能端,低电平有效
#define X_DIR  5  //X轴 步进电机方向控制
#define Y_DIR  6  //Y轴 步进电机方向控制
#define Z_DIR  7  //Z轴 步进电机方向控制
#define X_STP  2  //X轴 步进控制
#define Y_STP  3  //Y轴 步进控制
#define Z_STP  4  //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);
}

回复

使用道具 举报

发表于 2020-3-31 13:02:44 | 显示全部楼层
各种语法错误,已经改好:

  1. //下面是简单的步进电机控制程序,
  2. #define EN  8     //步进电机使能端,低电平有效
  3. #define X_DIR  5  //X轴 步进电机方向控制
  4. #define Y_DIR  6  //Y轴 步进电机方向控制
  5. #define Z_DIR  7  //Z轴 步进电机方向控制
  6. #define X_STP  2  //X轴 步进控制
  7. #define Y_STP  3  //Y轴 步进控制
  8. #define Z_STP  4  //Z轴 步进控制

  9. /*
  10.   //函数: step 功能: 控制步进电机方向,步数。
  11.   //参数: dir 方向控制,dirpin对应步进电机的DIR引脚,
  12.   Stepperpin 对应步进电机的step引脚,steps 步进的步数
  13.   //无返回值
  14. */
  15. void step(boolean dir, byte dirPin, byte stepperPin, int steps)
  16. {
  17.   digitalWrite(dirPin, dir);
  18.   delay(50);
  19.   for (int i = 0; i < steps; i++) {
  20.     digitalWrite(stepperPin, HIGH);
  21.     delayMicroseconds(800);
  22.     digitalWrite(stepperPin, LOW);
  23.     delayMicroseconds(800);
  24.   }
  25. }

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

  33. void loop() {
  34.   step(false, X_DIR, X_STP, 200); //X轴电机 反转1圈,200步为一圈
  35.   step(false, Y_DIR, Y_STP, 200); //Y轴电机 反转1圈,200步为一圈
  36.   step(false, Z_DIR, Z_STP, 200); //Z轴电机 反转1圈,200步为一圈
  37.   delay(1000);
  38.   step(true, X_DIR, X_STP, 200); //X轴电机 正转1圈,200步为一圈
  39.   step(true, Y_DIR, Y_STP, 200); //Y轴电机 正转1圈,200步为一圈
  40.   step(true, Z_DIR, Z_STP, 200); //Z轴电机 正转1圈,200步为一圈
  41.   delay(1000);
  42. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 13:31:51 | 显示全部楼层
t3486784401 发表于 2020-3-31 13:02
各种语法错误,已经改好:

谢过大神
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-3 09:38:26 | 显示全部楼层
请问各位大神 为什么用这个代码 我的步进电机 至少动一下 然后锁死 就不动了 是我的连线错了还是代码有问题 可否给你一个步进电机的正反转的测试码
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 12:13 , Processed in 0.043742 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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