天天看点

基于arduino的蓝牙控制双舵机 (按照不同规律运动)

基于arduino的蓝牙控制双舵机 (按照不同规律运动)

 功能:蓝牙控制双舵机按不同规律运动

需要材料:

1.arduino版

2.蓝牙模块(我用的是bt05)

3.面包板

4.两舵机

5.  8v电源

6.若干杜邦线

(手机APP控制软件:蓝牙调试助手)

具体代码如下:

#include <Servo.h>

Servo servo1,servo2; //定义舵机名1和2

int buttonPushCounter = 0;//按钮数初始

void setup() 

{

  servo1.attach(9); // 舵机1信号在9引脚 

  servo2.attach(10);//舵机2信号在10引脚 

  Serial.begin(9600);//波特率9600

  servo1.write(0);

  servo2.write(0);//舵机1、2初始角度0度

}

void loop()

{

  if(Serial.available()>0)//串口接受到的数据个数

  {char buttonState =  Serial.read();

    if (buttonState == '1')

    {buttonPushCounter++;

      Serial.println("on");

      Serial.print("number of button pushes:  ");

      Serial.println(buttonPushCounter);

    }

    if (buttonState == '2')//控制2舵机

  {servo2.write(40);

    delay(20);

    }

    else

  {if (buttonState == '0')

     {servo2.write(0); 

    delay(15);}

  }

  }

  if (buttonPushCounter==0 ) {                          

    servo1.write(0);// 舵机旋转到0位置

    delay(15); // 15ms后进入下一个位置 

  } else{

  if (buttonPushCounter ==1)// 当计数器为1时

  {

    servo1.write(90); // 舵机旋转到90度位置

    delay(15); 

  } else {

 if (buttonPushCounter  == 2)

 {

    servo1.write(180);// 舵机旋转到180度位置

    delay(15); 

  }else {

  if (buttonPushCounter  == 3) {

    servo1.write(90);// 舵机旋转到90度位置

    for(buttonPushCounter = 3; buttonPushCounter >= 0; buttonPushCounter -= 1);//将计数器清零,回到初始0状态

    delay(15);

    }

   }

   }

  }

  }

继续阅读