|
小弟目前是新手 對藍芽的控制不是很清楚,
想請問要如何透過藍芽控制直流馬達
已寫好用鍵盤控制馬達
我是用 UNO 版加上 馬達驅動版
程式如下
#include <AFMotor.h> //呼叫該函式庫
AF_DCMotor motor3(3, MOTOR34_8KHZ); //
AF_DCMotor motor4(4, MOTOR34_8KHZ);
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("press'0':stop");
Serial.println("press'1':back");
Serial.println("press'2':go");
Serial.println("press'3':trun left");
Serial.println("press'4':turn right");
motor3.setSpeed(255);
motor4.setSpeed(255);// set the speed to 200/255
}
void loop()
{
if(Serial.available())
{
char key=Serial.read();
Serial.print("key=");
Serial.println(key);
if (key=='0')
{
Serial.print("stop");
motor3.run(RELEASE);
motor4.run(RELEASE);// turn it on going forward
delay(5000);
}
else if (key=='1')
{
Serial.print("back");
motor3.run(BACKWARD);
motor4.run(BACKWARD);// the other way
delay(5000);
}
else if (key=='2')
{
Serial.print("go");
motor3.run(FORWARD);
motor4.run(FORWARD);// the other way
delay(5000);
}
else if (key=='4')
{
Serial.print("right");
motor3.run(RELEASE);
motor4.run(FORWARD);// the other way
delay(5000);
}
else if (key=='3')
{
Serial.print("left");
motor3.run(FORWARD);
motor4.run(RELEASE);// stopped
delay(5000);
}
}
}
有找到藍芽的連接方式
是參考 版上的資料 如下
#include<SoftwareSerial.h>
#include<Servo.h>
Servo servo1;
SoftwareSerial BT(1,0);
char command;
int ang=90;
void setup()
{
BT.begin(9600);
servo1.attach(9);
servo1.write(90);
;
}
void loop()
{
if(BT.available()>0)
{
command=BT.read();
switch(command)
{
case'w':servo1.write(10);//tell servo togo posetion in variable 'pos'
break;
case'x':servo1.write(90);
break;
case'a':ang +=3;
if(ang>180)ang=180;
servo1.write(ang);
delay(20);
break;
case'd':ang-=3;
if(ang<0)ang=0;
servo1.write(ang);
delay(20);
break;
case's':
break;
}
}
}
請問要如何將兩程式做結合 |
|