极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12865|回复: 7

WIFI小车代码问题

[复制链接]
发表于 2015-6-7 20:49:53 | 显示全部楼层 |阅读模式
  1. int IN1 = 9;
  2. int IN2 = 10;
  3. int IN3 = 11;
  4. int IN4 = 12;
  5. int lkf;

  6. void setup()
  7. {
  8.     pinMode(IN1,OUTPUT);  
  9.     pinMode(IN2,OUTPUT);  
  10.     pinMode(IN3,OUTPUT);  
  11.     pinMode(IN4,OUTPUT);  
  12.     Serial.begin(9600);//设置波特率为9600bps
  13.     lkf=0;
  14.     digitalWrite(IN1,LOW);   
  15.     digitalWrite(IN2,LOW);
  16.     digitalWrite(IN3,LOW);   
  17.     digitalWrite(IN4,LOW);
  18. }
  19. void loop()
  20. {
  21.   
  22.    lkf=0;
  23.   if(Serial.available())
  24.   {
  25.     lkf = Serial.read();
  26.   switch(lkf)
  27.   {
  28.   case 'A':  //qianjin
  29.      Move();
  30.      lkf=0;  
  31.      break;   
  32.    case 'B': //houtui
  33.      Back();
  34.      lkf=0;
  35.      break;     
  36.    case 'C': //zuozhuan
  37.      TurnLeft();
  38.      lkf=0;
  39.      break;
  40.    case 'D': //youzhuan
  41.     TurnRight();
  42.     lkf=0;
  43.     break;
  44.    case 'E':
  45.     Stop(); //tingzhi
  46.     lkf=0;
  47.     break;  
  48.     }
  49.   }
  50.   lkf=0;
  51.    
  52.    
  53.    
  54. }
  55. void Move()
  56. {
  57.     digitalWrite(IN1,LOW);
  58.    digitalWrite(IN2,HIGH);
  59.    digitalWrite(IN3,LOW);
  60.    digitalWrite(IN4,HIGH);
  61. }
  62. void Stop()
  63. {
  64.    digitalWrite(IN1,LOW);
  65.    digitalWrite(IN2,LOW);
  66.    digitalWrite(IN3,LOW);
  67.    digitalWrite(IN4,LOW);
  68. }
  69. void Back()
  70. {
  71.    digitalWrite(IN1,HIGH);
  72.    digitalWrite(IN2,LOW);
  73.    digitalWrite(IN3,HIGH);
  74.    digitalWrite(IN4,LOW);
  75. }
  76. void TurnLeft()//左转
  77. {
  78. //左转,就是左轮不动,右轮前进
  79.   digitalWrite(IN1,LOW);
  80.   digitalWrite(IN2,LOW);
  81.   digitalWrite(IN3,LOW);
  82.   digitalWrite(IN4,HIGH);  
  83. }
  84. void TurnRight()//右转
  85. {
  86. //右转,就是右轮不动,左轮前进
  87.   digitalWrite(IN1,LOW);
  88.   digitalWrite(IN2,HIGH);
  89.   digitalWrite(IN3,LOW);
  90.   digitalWrite(IN4,LOW);
  91. }
复制代码


上面的代码我下载到小车的时候,打开串口监视器,向里面发送数据如‘A’,可小车只有右轮转动,
发送数据'B',小车向后退,这是对的,
发送数据'c'小车左轮向后转,右轮向前转,
发送数据'D',小车停止,发
送数据'E',小车左轮转。
小车请各位大神看看哪里出了问题。先谢谢各位了!
回复

使用道具 举报

 楼主| 发表于 2015-6-8 12:03:11 | 显示全部楼层
各位大神,有什么解决方法没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-8 12:03:35 | 显示全部楼层
咋没有人啊,求帖子不要沉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-8 20:15:04 | 显示全部楼层
我的程序好像只要一加Serial。begin(9600)就会出问题,这是为啥呢
回复 支持 反对

使用道具 举报

发表于 2015-6-9 12:59:42 | 显示全部楼层
楼主用的什么wifi模块?
ESP8266吗   
如果要8266  得注意其串口的占用和干扰   

你简要说说你的8266的连发吧
回复 支持 反对

使用道具 举报

发表于 2015-6-9 13:01:24 | 显示全部楼层
而且  我记得主板自带频率不是9600   是11600(具体忘记了), 9600只是蓝牙的默认

虽然你这里写的是wifi小车。 我觉得也许是频率哪里错了 导致数据传输时好时坏
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-9 19:58:06 | 显示全部楼层
UIUC 发表于 2015-6-9 13:01
而且  我记得主板自带频率不是9600   是11600(具体忘记了), 9600只是蓝牙的默认

虽然你这里写的是wif ...

波特率就是9600啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-9 19:59:51 | 显示全部楼层
UIUC 发表于 2015-6-9 13:01
而且  我记得主板自带频率不是9600   是11600(具体忘记了), 9600只是蓝牙的默认

虽然你这里写的是wif ...

我在串口监视器里面的波特率也是设为9600的,在里面发送数据时,小车不受代码控制
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 20:01 , Processed in 0.042214 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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