|
发表于 2014-7-5 12:29:47
|
显示全部楼层
49741933o 发表于 2014-7-5 09:46
貌似不对,但感觉对。。。。。我调试了一下,当我推到320的时候(也就是稍左边一点),现象是:前进、后退 ...
你程式里 CASE 的语法好像错了。
另外 CASE 0 及 CASE 2 没有考虑停车。
再试试这个。
int R_pin = 14; //定义电位器的引脚
int S=0; ////////////////////////////////////////////////////////////////////////////
void setup()
{
pinMode(8,OUTPUT);//定义输入、输出接口
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(14,INPUT);
Serial.begin(9600);
}
void qianjin()//前进,
{
digitalWrite(10,300);
digitalWrite(5,255);
digitalWrite(7,HIGH);//使直流电机(左)逆时针转
digitalWrite(6,LOW);
digitalWrite(8,LOW);//使直流电机(右)顺时针转
digitalWrite(9,HIGH);
}
void tingzhi()//停止
{
digitalWrite(6,HIGH);//使直流电机(左)制动
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);//使直流电机(右)制动
digitalWrite(9,HIGH);
}
void houtui()
{
digitalWrite(10,255);
digitalWrite(5,255);
digitalWrite(6,HIGH);//使直流电机(左)逆时针转
digitalWrite(7,LOW);
digitalWrite(8,HIGH);//使直流电机(右)顺时针转
digitalWrite(9,LOW);
}
void loop()
{ int x,val;
float t;
val= analogRead(R_pin);
Serial.println(val);
if(val< 341)
{ x=0; t=0.0088*(341-val);}
else
{
if(val<682)
{x=1;}
else
{x=2; t=0.0088*(val-682);}
}
//Serial.println(x); //////////////////////////////////
//Serial.println(S); //////////////////////////////////
//////////////////////////
switch(x)
{
case 0:
if (S==0) ///////////////////////////////////////////////
{ ///////////////////////////////////////////////
qianjin();delay(t*1000+1000);
houtui();delay(1000);
qianjin();delay(1000);
houtui();delay(t*1000+1000);
S=1; //////////////////////////////////////////////
} //////////////////////////////////////////////
else
{
tingzhi();
}
break;
case 1:
tingzhi();
S=0; //////////////////////////////////////////////
break;
case 2:
if (S==0) ///////////////////////////////////////////////
{ ///////////////////////////////////////////////
houtui();delay(t*1000+1000);
qianjin();delay(1000);
houtui();delay(1000);
qianjin();delay(1000);
S=1; //////////////////////////////////////////////
} //////////////////////////////////////////////
else
{
tingzhi();
}
break;
}
}
我用小车试验过 OK 的。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|