Bil av Mario Kart (3 / 4 steg)
Steg 3: kod
Detta var den kod som vi använder för att flytta vagnen via Bluetooth i Arduino base
#include
#include
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include
int bluetoothTx = 51. TX-O pin av bluetooth mate, Arduino D2
int bluetoothRx = 50; RX-jag pin av bluetooth mate, Arduino D3
int i, ia, vDI, vDD, vTI, vTD, DI, DD;
SoftwareSerial bluetooth (bluetoothTx, bluetoothRx);
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor * MotorDI = AFMS.getMotor(1);
Adafruit_DCMotor * MotorDD = AFMS.getMotor(2);
Adafruit_DCMotor * MotorTI = AFMS.getMotor(3);
Adafruit_DCMotor * MotorTD = AFMS.getMotor(4);
void setup() {
Serial.BEGIN(9600); Börja den seriella bildskärmen på 9600bps
Bluetooth.BEGIN(115200); Den Bluetooth kompis som standard 115200bps
Bluetooth.Print("$"); Skriva ut tre gånger individuellt
Bluetooth.Print("$");
Bluetooth.Print("$"); Ange kommandoläge
Delay(100); Kort fördröjning, vänta för kompis att skicka tillbaka CMD
Bluetooth.println("U,9600,N"); Tillfälligt ändra vilket baudvärde till 9600, ingen paritet
115200 kan vara för snabb ibland för NewSoftSerial att vidarebefordra data tillförlitligt
Bluetooth.BEGIN(9600); Starta bluetooth seriell på 9600
AFMS.begin();
MotorDI -> setSpeed(150);
MotorDI -> run(FORWARD);
MotorDI -> run(RELEASE);
MotorDD -> setSpeed(150);
MotorDD -> run(FORWARD);
MotorDD -> run(RELEASE);
MotorTI -> setSpeed(150);
MotorTI -> run(FORWARD);
MotorTI -> run(RELEASE);
MotorTD -> setSpeed(150);
MotorTD -> run(FORWARD);
MotorTD -> run(RELEASE);
}
void loop() {
IF(Bluetooth.available()) / / om bluetooth skickas alla tecken
{
Jag = bluetooth.read();
}
IF(Serial.available()) / / om saker skrevs i följetong monitor
{
Skicka alla tecken seriell bildskärmen skriver ut till bluetooth
Bluetooth.Print((Char)Serial.Read());
}
om (ia! = jag)
{
Switch (i)
{
fall 119:
Bluetooth.println("w");
vDI = 250;
vDD = 250;
vTI = 250;
vTD = 250;
DI = 1;
DD = 1;
bryta;
fall 101:
Bluetooth.println("e");
vDI = 220;
vDD = 50;
vTI = 220;
vTD = 50;
DI = 1;
DD = 1;
bryta;
fallet 100:
Bluetooth.println("d");
vDI = 250;
vDD = 250;
vTI = 250;
vTD = 250;
DI = 1;
DD = 2;
bryta;
fall 115:
Bluetooth.println("s");
vDI = 0;
vDD = 0;
vTI = 0;
vTD = 0;
DI = 1;
DD = 1;
bryta;
fall 97:
Bluetooth.println("a");
vDD = 250;
vDI = 250;
vTD = 250;
vTI = 250;
DI = 2;
DD = 1;
bryta;
fall 113:
Bluetooth.println("q");
vDD = 250;
vDI = 50;
vTD = 250;
vTI = 50;
DI = 1;
DD = 1;
bryta;
fall 120:
Bluetooth.println("x");
vDI = 220;
vDD = 220;
vTI = 220;
vTD = 220;
DI = 2;
DD = 2;
bryta;
}
MotorDI -> setSpeed(vDI);
MotorDI -> run(DI);
MotorDD -> setSpeed(vDD);
MotorDD -> run(DD);
MotorTI -> setSpeed(vTI);
MotorTI -> run(DI);
MotorTD -> setSpeed(vTD);
MotorTD -> run(DD);
IA = i.
}
}