1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
//Bluetooth
SoftwareSerial Bluetooth(6, 7); // (RX, TX) (pin Rx BT, pin Tx BT)
int Donnees=0;
// Ecran LCD
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Moteur CC
const byte MotorA1 = 2;
const byte MotorA2 = 3;
const byte MotorB1 = 4;
const byte MotorB2 = 5;
void setup() {
// Ouvre la voie série avec le module BT
Bluetooth.begin(9600);
// Démarrage sur port série PC
Serial.begin(9600);
// Clignotement "PRET"
lcd.clear(); // Effacer l'écran LCD
delay(1000);
lcd.write("PRET"); // "PRET" clignotement
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
if (Bluetooth.available()) {
Donnees = Bluetooth.read();
Serial.write(Donnees);
if (Donnees==1){
Serial.write("AVANCER");
Avancer();
}
else if (Donnees==2){
Reculer();
}
else if (Donnees==3){
Gauche();
}
else if (Donnees==4){
Droite();
}
else if (Donnees==5){
Droite();
}
}
}
void Avancer(){
lcd.clear();
lcd.write("AVANCER");
Serial.write("AVANCER");
digitalWrite (MotorA1, LOW);
digitalWrite (MotorA2, HIGH);
digitalWrite (MotorB1, LOW);
digitalWrite (MotorB2, HIGH);
delay(3000);
}
void Reculer(){
lcd.clear();
lcd.write("RECULER");
digitalWrite (MotorA1, HIGH);
digitalWrite (MotorA2, LOW);
digitalWrite (MotorB1, HIGH);
digitalWrite (MotorB2, LOW);
}
void Arret(){
lcd.clear();
lcd.write("ARRET");
digitalWrite (MotorA1, LOW);
digitalWrite (MotorA2, LOW);
digitalWrite (MotorB1, LOW);
digitalWrite (MotorB2, LOW);
}
void Droite(){
lcd.clear();
lcd.write("DROITE");
digitalWrite (MotorA1, HIGH);
digitalWrite (MotorA2, LOW);
digitalWrite (MotorB1, LOW);
digitalWrite (MotorB2, HIGH);
}
void Gauche(){
lcd.clear();
lcd.write("GAUCHE");
digitalWrite (MotorA1, LOW);
digitalWrite (MotorA2, HIGH);
digitalWrite (MotorB1, HIGH);
digitalWrite (MotorB2, LOW);
} |
Partager