BT的App用前後左右中的按鈕傳遞FBLRS字元
#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial BT(2,3); // 接收腳(RX) pin 2 接藍芽Tx, 傳送腳(TX) pin 3 接藍芽Rx
//98:servo stop:It depends.
#define servoLPin 9
//90:servo stop:It depends.
#define servoRPin 10
Servo myservoL;
Servo myservoR;
char ch;
void setup(){
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
BT.begin(9600);
}
void loop(){
if (BT.available()) {
ch = BT.read();
switch(ch){
case 'F': goF();break;
case 'B': goB();break;
case 'L': goL();break;
case 'R': goR();break;
case 'S': goS();break;
}
}
}
void goB(){
if(!myservoL.attached()){
myservoL.attach(servoLPin);
}
if(!myservoR.attached()){
myservoR.attach(servoRPin);
}
myservoL.write(81);
myservoR.write(107);
}
void goF(){
if(!myservoL.attached()){
myservoL.attach(servoLPin);
}
if(!myservoR.attached()){
myservoR.attach(servoRPin);
}
myservoL.write(102);
myservoR.write(80);
}
void goR(){
if(!myservoL.attached()){
myservoL.attach(servoLPin);
}
if(myservoR.attached()){
myservoR.write(90);
myservoR.detach();
}
myservoL.write(98);
}
void goL(){
if(myservoL.attached()){
myservoL.write(98);
myservoL.detach();
}
if(!myservoR.attached()){
myservoR.attach(servoRPin);
}
myservoR.write(86);
}
void goS(){
if(myservoL.attached()){
myservoL.write(98);
myservoL.detach();
}
if(myservoR.attached()){
myservoR.write(90);
myservoR.detach();
}
}