WIFI小车代码问题
int IN1 = 9;int IN2 = 10;
int IN3 = 11;
int IN4 = 12;
int lkf;
void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
Serial.begin(9600);//设置波特率为9600bps
lkf=0;
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void loop()
{
lkf=0;
if(Serial.available())
{
lkf = Serial.read();
switch(lkf)
{
case 'A'://qianjin
Move();
lkf=0;
break;
case 'B': //houtui
Back();
lkf=0;
break;
case 'C': //zuozhuan
TurnLeft();
lkf=0;
break;
case 'D': //youzhuan
TurnRight();
lkf=0;
break;
case 'E':
Stop(); //tingzhi
lkf=0;
break;
}
}
lkf=0;
}
void Move()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void Stop()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void Back()
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
void TurnLeft()//左转
{
//左转,就是左轮不动,右轮前进
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void TurnRight()//右转
{
//右转,就是右轮不动,左轮前进
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
上面的代码我下载到小车的时候,打开串口监视器,向里面发送数据如‘A’,可小车只有右轮转动,
发送数据'B',小车向后退,这是对的,
发送数据'c'小车左轮向后转,右轮向前转,
发送数据'D',小车停止,发
送数据'E',小车左轮转。
小车请各位大神看看哪里出了问题。先谢谢各位了! 各位大神,有什么解决方法没? 咋没有人啊,求帖子不要沉 我的程序好像只要一加Serial。begin(9600)就会出问题,这是为啥呢 楼主用的什么wifi模块?
ESP8266吗
如果要8266得注意其串口的占用和干扰
你简要说说你的8266的连发吧 而且我记得主板自带频率不是9600 是11600(具体忘记了), 9600只是蓝牙的默认
虽然你这里写的是wifi小车。 我觉得也许是频率哪里错了 导致数据传输时好时坏 UIUC 发表于 2015-6-9 13:01 static/image/common/back.gif
而且我记得主板自带频率不是9600 是11600(具体忘记了), 9600只是蓝牙的默认
虽然你这里写的是wif ...
波特率就是9600啊 UIUC 发表于 2015-6-9 13:01 static/image/common/back.gif
而且我记得主板自带频率不是9600 是11600(具体忘记了), 9600只是蓝牙的默认
虽然你这里写的是wif ...
我在串口监视器里面的波特率也是设为9600的,在里面发送数据时,小车不受代码控制
页:
[1]