1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 初學Arduino單片機的藍牙小車,倒退時小車異常 [打印本頁]

作者: 7686876786875    時間: 2019-11-7 21:40
標題: 初學Arduino單片機的藍牙小車,倒退時小車異常
代碼如下:#include <SoftwareSerial.h>

SoftwareSerial  mySerial(8,9);  //定義軟串口對象

void setup() {
  // put your setup code here, to run once:
  mySerial.begin(115200);  //藍牙接收串口
  int_car_pin();
  set_speed(140);
}
//前進--0xa
//后退--0xb
//前進--0xc
//后退--0xd
//停止--0x10
void loop() {
  // put your main code here, to run repeatedly:
  int ch = 0;

  mySerial.listen(); //表示監聽我們的軟串口數據

  while(mySerial.available() > 0)
  {
         Serial.println("Recv data : ");
        ch = mySerial.read(); //軟串口讀出,寫到arduino開發板上
        switch(ch)
        {
            case 0xa:  
              car_forward();
              break;
            case 0xb:
              car_back();
               break;
            case 0xc:
              car_left();
              break;
            case 0xd:
              car_right();
              break;
            case 0x10:
              car_stop();
              break;
        }
  }
  return ;
}
--------------------------------------------------------------------------

//對應的四個電機驅動
int  IN1 = 13;  //右邊輪子
int  IN2 = 12;  //右邊輪子
int  IN3 = 11;  //左邊輪子
int  IN4 = 10;  //左邊輪子

int pwmleft  = 5;
int pwmright = 6;

void int_car_pin() {
  // put your setup code here, to run once:
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
}

void leftMotorForward() //左邊正轉
{
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
}

void leftMotorBack() //左邊反轉
{
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
}

void rightMotorForward() //右邊正轉
{//1
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
}

void rightMotorBack() //右邊發轉
{//2
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
}

void car_forward()
{
     leftMotorForward();
     rightMotorForward();
     delay(500);
}


void car_back()
{
      leftMotorBack();
      rightMotorBack();
      delay(500);
}

void car_left()
{
      leftMotorBack();
      rightMotorForward();
      delay(500);
      car_forward();
      delay(500);
}

void car_right()
{
      leftMotorForward();
      rightMotorBack();
      delay(500);
      car_forward();
      delay(500);
}

void car_stop()
{
     digitalWrite(IN1, LOW);
     digitalWrite(IN2, LOW);
     digitalWrite(IN3, LOW);
     digitalWrite(IN4, LOW);
     delay(500);
}
void set_speed(int speed_value)
{
     analogWrite(pwmleft, speed_value);
     analogWrite(pwmright, speed_value);
}

運行后,小車前行,哎左轉,右轉正常。
倒退時小車異常

求大神解決









歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1