Étape 2: Code d’Arduino
#define CON_MOTOR1 0
#define CON_MOTOR2 0
Flasque arrière utilise quatre pins - 4, 5, 6, 7 pour gérer les moteurs
4 et 7 — direction, 5 et 6 — pour la vitesse
#define SPEED_1 5
#define DIR_1 4
#define SPEED_2 6
#define DIR_2 7
Raccourcis pour les mouvements du robot possible
#define avancées 0
#define 1 vers l’arrière
#define gauche 2
#define droite 3
Variable pour le tampon de bluetooth
int RX_buff ;
/ * * Cette fonction sert à gérer les mouvements réels * /
{} void go (int newDirection, int vitesse)
Boolean motorDirection_1, motorDirection_2 ;
Switch (newDirection) {}
FORWARD-affaire : motorDirection_1 = true ; motorDirection_2 = true ; rupture ;
BACKWARD-affaire : motorDirection_1 = false ; motorDirection_2 = false ; rupture ;
affaire de gauche : motorDirection_1 = true ; motorDirection_2 = false ; rupture ;
droit : motorDirection_1 = false ; motorDirection_2 = true ; rupture ;
}
En cas d’erreur de montage moteur juste changer les numéros
motorDirection_1 = CON_MOTOR1 ^ motorDirection_1 ;
motorDirection_2 = CON_MOTOR2 ^ motorDirection_2 ;
Let's move !
analogWrite (SPEED_1, vitesse) ;
analogWrite (SPEED_2, vitesse) ;
digitalWrite (DIR_1, motorDirection_1) ;
digitalWrite (DIR_2, motorDirection_2) ;
}
void setup() {}
Serial.Begin(9600) ;
Ensembles de goupilles 4, 5, 6, 7 du mode de sortie
pour (int i = 4; i < 8; i ++)
pinMode (i, sortie) ;
Delay(5000) ;
}
void loop() {}
Lecture de données bluetooth
RX_buff = Serial.read() ;
En réponse aux données bluetooth
Si (RX_buff == 1) {}
aller (vers l’avant, 125) ;
Delay(1000) ;
}
Si (RX_buff == 2) {}
aller (gauche, 80) ;
Delay(1500) ;
}
Si (RX_buff == 4) {}
aller (vers l’arrière, 70) ;
Delay(1500) ;
}
Si (RX_buff == 3) {}
aller (droit, 80) ;
Delay(1500) ;
}
Arrêter, si nécessaire
Si (RX_buff == 5 || RX_buff == 0) {}
analogWrite (SPEED_1, 0) ;
analogWrite (SPEED_2, 0) ;
}
}