Robot-Car - Feux AV/AR et Klaxon (2ème partie)
Réalisation d'un Robot-Car piloté en Bluetooth avec une application sur Smartphone (Androïd) en trois modules.
- Robot-Car - Les moteurs (1ère partie)
- Robot-Car - Les feux AV/AR et le klaxon (2ème partie) Vous y êtes ....
- Robot-Car - La vitesse (3ème partie)
**************
Ajout des feux AV/AR et du klaxon sur le Robot-Car
Matériel nécessaire:
- 2 leds rouges
- 2 leds blanches
- 4 résistances 220 Ohms
- 1 buzzer
- des fils
Prérequis
Pour réaliser ce projet, il est conseillé d'avoir suivi la page:
Et de savoir câbler les leds et reconnaitre la valeur des résistances
Câblage des leds
Feux AR - Leds Rouges - Utilisation de la pin digital D3
- Chaque anode est reliée à une résistance de 220 Ohms - Couleurs de la résistance
- L'autre patte de la résistance est reliée à l'Arduino - pin D3
- Chaque cathode est reliée au GND de l'Arduino
Feux AV - Leds Blanches - Utilisation de la pin digital D2
- Chaque anode est reliée à une résistance de 220 Ohms - Couleurs de la résistance
- L'autre patte de la résistance est reliée à l'Arduino - pin D2
- Chaque cathode est reliée au GND de l'Arduino
Couleurs des résistances
Soit 220 Ohms avec 5% de tolérance
2 2 0 5%
Caractères utilisés
Feux AV | Feux AR | Klaxon | Warning | |
---|---|---|---|---|
ON | W (Majuscule) | U (Majuscule) | V (Majuscule) | X (Majuscule) |
OFF | w (Minuscule) | u (Minuscule) | v (Minuscule) | x (Minuscule) |
L'application Bluetooth RC Controller utilise les caractères ci-dessous pour commander les feux AV et AR, le klaxon et le warning
Code
/*
* Commander un Robot-Car en Bluetooth avec un Smartphone Android ONLY
* Application Bluetooth RC Controller
* Alimenter 6 x piles 1,2v 2500mA = 7.8v
* HC-05 - RXD en D1, TXD en D0, VCC en +5v ,GND en GND
* L298n - ENA en D11, IN1 en D13, IN2 en D12, IN3 en D8, IN4 en D7, ENB en D6
* Feux AV en D2, Feux AR en D3, Klaxon en D4
*/
int in1 = 13; // broche in1 - l298n
int in2 = 12; // broche in2 - l298n
int in3 = 8; // broche in3 - l298n
int in4 = 7; // broche in4 - l298n
char command; //stockage du caractère
int feuAV = 2; // broche feu AV
int feuAR = 3; // broche feu AR
int klaxon = 4; // broche klaxon AV
int Tempo=200;
* Commander un Robot-Car en Bluetooth avec un Smartphone Android ONLY
* Application Bluetooth RC Controller
* Alimenter 6 x piles 1,2v 2500mA = 7.8v
* HC-05 - RXD en D1, TXD en D0, VCC en +5v ,GND en GND
* L298n - ENA en D11, IN1 en D13, IN2 en D12, IN3 en D8, IN4 en D7, ENB en D6
* Feux AV en D2, Feux AR en D3, Klaxon en D4
*/
int in1 = 13; // broche in1 - l298n
int in2 = 12; // broche in2 - l298n
int in3 = 8; // broche in3 - l298n
int in4 = 7; // broche in4 - l298n
char command; //stockage du caractère
int feuAV = 2; // broche feu AV
int feuAR = 3; // broche feu AR
int klaxon = 4; // broche klaxon AV
int Tempo=200;
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(feuAV,OUTPUT);
pinMode(feuAR,OUTPUT);
pinMode(klaxon,OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()>0) {
command = Serial.read(); // Lecture de la variable contenant le caractère
Serial.println(command);
// Les Moteurs
if(command == 'F'){ //AV 13-8 - lettre F
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
}
else if(command == 'B'){ //AR 12-7 - lettre B
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
}
else if(command == 'L'){ //DROITE 12-8 - lettre L
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
}
else if(command == 'R'){ //GAUCHE 13-7 - lettre R
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
}
else if(command == 'S'){ //STOP (all motors stop)= S - Lettre S
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
}
delay(100);
}
// Feux AV et AR
else if(command == 'W'){ //Feu AV ON = W - Lettre W
digitalWrite(feuAV,HIGH);
}
else if(command == 'w'){ //Feu AV Off = w - Lettre w (petit)
digitalWrite(feuAV,LOW);
}
else if(command == 'U'){ //Feu AR ON = U - Lettre U
digitalWrite(feuAR,HIGH);
}
else if(command == 'u'){ //Feu AR Off = X - Lettre u (petit)
digitalWrite(feuAR,LOW);
}
else if(command == 'X'){ //Warning ON = X
digitalWrite(feuAV,HIGH);
digitalWrite(feuAR,HIGH);
delay(100);
digitalWrite(feuAV,LOW);
digitalWrite(feuAR,LOW);
delay(100);
}
else if(command == 'x'){ //Warning Off = x - Lettre u (petit)
digitalWrite(feuAV,LOW);
digitalWrite(feuAR,LOW);
}
else if(command == 'V'){ //Klaxon On = V - lettre V
tone(klaxon,750,250); // tone(pin,frequence,durée);
delay(Tempo);
tone(klaxon, 1000,250);
delay(Tempo);
tone(klaxon, 900,250);
delay(Tempo);
}
else if(command == 'v'){ //Klaxon Off = v - Lettre v (petit)
//digitalWrite(klaxon,LOW);
noTone(klaxon);
}
delay(100);
}
(Le fichier est zippé)
Gestion de la vitesse du Robot-Car
La gestion de la vitesse est présentée dans la page Robot-Car - la vitesse (3ème partie)
Voir la page Robot-Car - La vitesse (3ème partie)