Använda Arduino och Bluetooth kontroll en två-bil (3 / 4 steg)
Steg 3: kod
Freaduino kontroll Side-koden#include < NewSoftSerial.h >
#include < avr/pgmspace.h >
#define rxPin 2
#define txPin 3
NewSoftSerial mySerial (rxPin, txPin);
void setup()
{
definiera pin lägen för tx, rx stift:
pinMode (rxPin, ingång);
pinMode (txPin, produktionen);
pinMode (A0, indata);
pinMode (A1, indata);
mySerial.begin(9600);
Serial.BEGIN(9600);
}
void loop() {
0.175 är för att korrigera pox till 90, servor pos defoult 90. Dessa data kan du ändra själv
int posX (int) analogRead (A0) = * 0.175;
int posY = (int) analogRead (A1) * 0.175;
mySerial.print("x");
mySerial.print(posX);
mySerial.print("y");
mySerial.print(posY);
mySerial.println("End");
Serial.Print("x=");
Serial.println(posX);
Serial.Print("y=");
Serial.println(posY);
Delay(300);
}
Arduino kontroll Side-koden
#include < NewSoftSerial.h >
#include < Servo.h >
#include < String.h >
#define rxPin 2
#define txPin 3
NewSoftSerial mySerial (rxPin, txPin);
Servo myservoX; skapa objekt för att styra en servo servo
Servo myservoY; maximalt åtta servo objekt kan skapas
void setup()
{
Serial.BEGIN(9600);
mySerial.begin(9600);
myservoX.attach(5); tillmäter objektet servo servo på pin 9
myservoY.attach(3);
}
void loop() {
int jag = 0, n = 0, count = 0;
char someChar [32] = {0}.
När anländer tecken över den seriella porten...
IF(Serial.available()) {
göra {
someChar [i ++] = Serial.read();
} medan (Serial.available() > 0);
om (someChar [0] == "x")
{
int flagga = 1;
While(Flag)
{
IF(Serial.available()) {
göra {
someChar [count ++] = Serial.read();
} medan (Serial.available() > 0);
om (strstr (someChar, "Slutet"))
{
flagga = 0;
medan (someChar [n]! = "y") n ++;
char tmpbufx [4] = {0}.
strncpy (tmpbufx, someChar, n);
int posX = atoi(tmpbufx);
myservoX.write(posX);
n = 0;
char * str = strchr(someChar,'y');
char tmpbufy [4] = {0}.
medan (str [n]! = 'E') n ++;
strncpy (tmpbufy, str + 1, n-1);
int posY = atoi(tmpbufy);
IF(posY>105) posY = 105;
annat if(posY<85) posY = 85.
myservoY.write(posY);
}
}
}
}
}
}