Étape 3: Code
C’est le code que nous utilisons pour déplacer le chariot via Bluetooth dans la base de l’Arduino
#include
#include
#include « utility/Adafruit_MS_PWMServoDriver.h »
#include
int bluetoothTx = 51 ; TX-O code pin bluetooth mate, Arduino D2
int bluetoothRx = 50 ; RX-je goupille de bluetooth mate, Arduino D3
int i, ia, vDI, DMV, 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) ; Commencer la série monitor à 9600 bits/s
Bluetooth.Begin(115200) ; Le lieutenant de Bluetooth par défaut à 115200bps
Bluetooth.Print("$") ; Imprimer trois fois individuellement
Bluetooth.Print("$") ;
Bluetooth.Print("$") ; Passer en mode commande
Delay(100) ; Quelques instants, attendre pour le second d’envoyer dos CMD
Bluetooth.println("U,9600,N") ; Modifier temporairement le débit en bauds à 9600, pas de parité
115200 peut être trop vite parfois pour NewSoftSerial relayer les données de façon fiable
Bluetooth.Begin(9600) ; Début bluetooth de série à 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()) / / si le bluetooth envoyé tous les caractères
{
J’ai = bluetooth.read() ;
}
if(Serial.available()) / / si la substance a été tapé dans le moniteur de la série
{
Envoyer tous les caractères que le Serial monitor imprime au bluetooth
Bluetooth.Print((Char)Serial.Read()) ;
}
Si (ia! = i)
{
interrupteur (i)
{
cas 119 :
Bluetooth.println("w") ;
vDI = 250 ;
vDD = 250 ;
vTI = 250 ;
vTD = 250 ;
DI = 1 ;
DD = 1 ;
rupture ;
cas 101 :
Bluetooth.println("e") ;
vDI = 220 ;
vDD = 50 ;
vTI = 220 ;
vTD = 50 ;
DI = 1 ;
DD = 1 ;
rupture ;
boîte de 100 :
Bluetooth.println("d") ;
vDI = 250 ;
vDD = 250 ;
vTI = 250 ;
vTD = 250 ;
DI = 1 ;
DD = 2 ;
rupture ;
cas 115 :
Bluetooth.println("s") ;
vDI = 0 ;
vDD = 0 ;
vTI = 0 ;
vTD = 0 ;
DI = 1 ;
DD = 1 ;
rupture ;
décision 97 :
Bluetooth.println("a") ;
vDD = 250 ;
vDI = 250 ;
vTD = 250 ;
vTI = 250 ;
DI = 2 ;
DD = 1 ;
rupture ;
cas 113 :
Bluetooth.println("q") ;
vDD = 250 ;
vDI = 50 ;
vTD = 250 ;
vTI = 50 ;
DI = 1 ;
DD = 1 ;
rupture ;
cas 120 :
Bluetooth.println("x") ;
vDI = 220 ;
vDD = 220 ;
vTI = 220 ;
vTD = 220 ;
DI = 2 ;
DD = 2 ;
rupture ;
}
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 ;
}
}