Stap 3: Code
Dit was de code die we gebruiken om het verplaatsen van de kar via Bluetooth in de Arduino-base
#include
#include
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include
int bluetoothTx = 51; TX-O-pin van bluetooth metgezel, Arduino D2
int bluetoothRx = 50; RX-ik pin van bluetooth metgezel, 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); Begin de seriële monitor 9600 bps
Bluetooth.begin(115200); De Mate van Bluetooth is standaard ingesteld op 115200bps
Bluetooth.Print("$"); Drie keer afzonderlijk afdrukken
Bluetooth.Print("$");
Bluetooth.Print("$"); Voer opdrachtmodus
delay(100); Korte vertraging, wachten voor naar de metgezel te verzenden terug CMD
Bluetooth.println("U,9600,N"); Tijdelijk wijzigen de baudrate te 9600, geen pariteit
115200 kan te snel ten tijden voor de NewSoftSerial om door te sturen van de gegevens op betrouwbare wijze worden
Bluetooth.begin(9600); Begin bluetooth seriële op 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()) / / als de bluetooth tekens verzonden
{
Ik = bluetooth.read();
}
if(Serial.available()) / / als spul is getypt in de seriële monitor
{
Alle tekens die worden afgedrukt de seriële monitor verzenden de bluetooth
Bluetooth.Print((char)Serial.Read());
}
Als (ia! = i)
{
schakelaar (i)
{
Case 119:
Bluetooth.println("w");
vDI = 250;
vDD = 250;
vTI = 250;
vTD = 250;
DI = 1;
DD = 1;
breken;
Case 101:
Bluetooth.println("e");
vDI = 220;
vDD = 50;
vTI = 220;
vTD = 50;
DI = 1;
DD = 1;
breken;
Case 100:
Bluetooth.println("d");
vDI = 250;
vDD = 250;
vTI = 250;
vTD = 250;
DI = 1;
DD = 2;
breken;
Case 115:
Bluetooth.println("s");
vDI = 0;
vDD = 0;
vTI = 0;
vTD = 0;
DI = 1;
DD = 1;
breken;
Case 97:
Bluetooth.println("a");
vDD = 250;
vDI = 250;
vTD = 250;
vTI = 250;
DI = 2;
DD = 1;
breken;
Case 113:
Bluetooth.println("q");
vDD = 250;
vDI = 50;
vTD = 250;
vTI = 50;
DI = 1;
DD = 1;
breken;
Case 120:
Bluetooth.println("x");
vDI = 220;
vDD = 220;
vTI = 220;
vTD = 220;
DI = 2;
DD = 2;
breken;
}
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;
}
}