Mini Robot Bluetooth
Sortie Alimentation Moteur Droit
Alimentaion des Moteurs 6V
Sortie Alimentation Moteur Gauche
Alimentation de la carte Arduino
La soudure surligner en rouge est une soudure en trop donc a ne pas faire.
Matériel:
- Arduino Nano
- Plaque d'essai avec soudure
- Recepteur Bluetooth HC-05 ici
- Kit du chassis ici
- 2 Transistor ici
- Fer a souder + étain
- Pin mâle ici
Code:
#include <SoftwareSerial.h>
SoftwareSerial MonPort(2, 4); //Port qui reçoie les données du bluetooth
int PinMoteurDroit = 6, PinMoteurGauche = 5;
int ValeurMoteurDroit = 0, ValeurMoteurGauche = 0;
int Data_Vitesse = 0;
int Data_Direction = 0;
void setup() {
pinMode(PinMoteurDroit, OUTPUT);
pinMode(PinMoteurGauche, OUTPUT);
MonPort.begin(9600);
}
void loop(){
char Mode;
if(MonPort.available()){
Mode = MonPort.read();
}
if(Mode == '#'){
while (MonPort.available()<1);
Data_Direction = MonPort.read()-'0';
analogWrite(PinMoteurDroit, 255);
analogWrite(PinMoteurGauche, 255);
delay(20);
}
if(Mode == '$'){
while (MonPort.available()<3);
int a3=MonPort.read()-'0';
int a2=MonPort.read()-'0';
int a1=MonPort.read()-'0';
Data_Vitesse = a1 + a2*10 + a3*100;
ValeurMoteurDroit = Data_Vitesse - 20;
ValeurMoteurGauche = Data_Vitesse - 20;
}
if(Data_Direction == 1){ //Avancer
analogWrite(PinMoteurDroit, ValeurMoteurDroit);
analogWrite(PinMoteurGauche, ValeurMoteurGauche);
}
else if(Data_Direction == 2){ //Droite
analogWrite(PinMoteurDroit, 0);
analogWrite(PinMoteurGauche, ValeurMoteurGauche);
}
else if(Data_Direction == 3){ //Gauche
analogWrite(PinMoteurDroit, ValeurMoteurDroit);
analogWrite(PinMoteurGauche, 0);
}
else{ //Stop si on ne reçois pas d'instruction
analogWrite(PinMoteurDroit, 0);
analogWrite(PinMoteurGauche, 0);
}
}
Application pour piloter le robot.