zoukankan      html  css  js  c++  java
  • Arduino开发版学习计划--蓝牙控制小车行走

    蓝牙模块一共6个引脚,我们一般只需要接4个线就可以了,分别是VCC、GND、TXD、RXD这四个引脚,我们分别接到arduino板子上,VCC接3.3V,GND接板子的GND,蓝牙TXD接板子的RXD,RXD接板子的TXD

    控制蓝牙的代码:注意使用 

     Serial1.begin(9600);
    void setup()
    {
     Serial1.begin(9600);
     Serial.begin(9600);
    }
     
    void loop()
    {
      while(Serial1.available())
       {
         char c=Serial1.read();
         Serial.println(c);
          if(c=='A')
            {
              Serial1.println("Hello I am amarino");
               Serial.println("Hello I am amarino-----------");
            }
       }
    }

     蓝牙控制小车行走:

    const unsigned char pinMotorCWA  = 5;   // 接控制电机顺时针转的 H 桥引脚
    const unsigned char pinMotorCWB = 6;   // 接控制电机逆时针转的 H 桥引脚
    const unsigned char pinMotorCWC  = 9;   // 接控制电机顺时针转的 H 桥引脚
    const unsigned char pinMotorCWD = 10;   // 接控制电机逆时针转的 H 桥引脚
    
    void motor(char pin,char pwmpin,char state,int val) // 127
    { 
      if(state==1)
      {  
        analogWrite(pwmpin,val);
        digitalWrite(pin,1);
       }
      else if(state==2)
     {  
       analogWrite(pwmpin,val);
       digitalWrite(pin,0);
     }
     else if(state==0)
     {
        analogWrite(pwmpin,0);
        digitalWrite(pin,0);
     }
    }
     
    void runfoward(int i)   //前进
    {
      motor(pinMotorCWA,pinMotorCWB,1,i+250);//black
      motor(pinMotorCWC,pinMotorCWD,1,i-100);//red 
    }
    void runback(int j)    //后退
    {
       motor(pinMotorCWA,pinMotorCWB,2,j-100);
       motor(pinMotorCWC,pinMotorCWD,2,j);
    //   motor(7,6,2,j); 
    }
    void turnL(int m)     //左转
    {
      motor(pinMotorCWA,pinMotorCWB,1,m+260);
      motor(pinMotorCWC,pinMotorCWD,0,m);
    }
    void turnR(int n)      //右转 
    {
      motor(pinMotorCWA,pinMotorCWB,0,n);
      motor(pinMotorCWC,pinMotorCWD,1,n-100);
    }
    void astop()            //停止
    {
      motor(pinMotorCWA,pinMotorCWB,0,0);
      motor(pinMotorCWC,pinMotorCWD,0,0);
    //  motor(7,6,1,0); 
    }
    void setup()
    {
      Serial.begin(9600);
      Serial1.begin(9600);
      pinMode(pinMotorCWA,  OUTPUT);
      pinMode(pinMotorCWB, OUTPUT);
     }
    void loop() 
    { 
      while(Serial1.available())
       {
         char c=Serial1.read();
         Serial.println(c);
          if(c=='A')
            {
               Serial.println("runfoward-----------");
               runfoward(180);
               delay(2000);
            }else if(c=='B'){
              Serial.println("runback***********");
              runback(180);
            }else if(c=='C'){
              Serial.println("runback$$$$$$$$$$$$");
              turnL(180);
            }else if(c=='D'){
              Serial.println("runback@@@@@@@@@@");
              turnR(180);
            }else if(c=='E'){
              Serial.println("astop!!!!!!!!!!!");
              astop();
            }
       }
    
    }

     问题就是蓝牙有时候就断掉了。

  • 相关阅读:
    组合数学练习
    floyd算法新理解
    图论练习
    GDOI2021 day2总结
    P3190 [HNOI2007]神奇游乐园
    P1932 A+B A-B A*B A/B A%B Problem
    P2289 [HNOI2004]邮递员
    P5056 【模板】插头dp
    P4323 [JSOI2016]独特的树叶
    CF1153D Serval and Rooted Tree
  • 原文地址:https://www.cnblogs.com/taiguyiba/p/7291554.html
Copyright © 2011-2022 走看看