极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12441|回复: 1

求高手帮忙检查程序!!!谢谢!!

[复制链接]
发表于 2015-11-21 16:05:39 | 显示全部楼层 |阅读模式
“用ARDUINO控制步进电机,加上超声波传感器,人来后给个信号顺时针转50度,人走后逆时针回到原点。”下面的这个代码我是用好多种渠道各种方法写的   我不知道是否符合我的要求,虽然我不懂编程 但是我知道会与很多的问题出现,希望高手能帮我检查一下!!谢谢!!!             以下是我的编程。。。。

int pwm =0;
int PinMode =3;
int Pin0 = 8;
int Pin1 = 9;
int Pin2 = 10;
int Pin3 = 11;
int _step = 0;
boolean dir = true;
int i,s=3000;
const int TrigPin = 2;
const int EchoPin = 3;
float cm;

void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);

pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}

void loop()
{
switch(_step){
case 0:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
case 1:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, HIGH);
break;
case 2:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 3:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 4:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 5:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 6:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 7:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
default:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0;
cm = (int(cm * 100.0)) / 100.0;  
Serial.print(cm);
Serial.print("cm");
Serial.println();

}
if(dir){
_step++;
}else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
for(i=1;i<s;i++);
}
{
analogWrite(3,  150);
delay(100);
pwm++;
}


望高手帮我找出毛病!本人很急啊!!!
回复

使用道具 举报

 楼主| 发表于 2015-11-21 16:15:26 | 显示全部楼层
麻烦各位高手耐心的检查,错误应该很多的....


减速步进电机42HS4013A4-G10      1.8    1.3A                     
驱动器M415B





型号:42HS4013A4-G10    42HS4013A4-G18
步距角:1.8°              电流:1.3A
静力矩:40N.CM        引线数:4线
机身长度:40MM        减速箱:42*42*30
轴径:6.35mm           出轴方式:单扁
速比:10  18 可选



回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 06:47 , Processed in 0.048448 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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