
Dans ce projet on va réaliser une voiture télécommandée à distance (par infrarouge) contrôlable par la carte Arduino.
L’utilisateur pourra piloter la voiture par une télécommande dans les quatre directions (avant, arrière, droite et gauche) et l’arrêter.
Voici le programme pour la carte Arduino connecté à la voiture.
#include <IRremote.h>
int RECV_PIN = 4;
IRrecv irrecv(RECV_PIN);
decode_results results;
int GA=11,GB=10,DA=5,DB=6; //initialisation des pins (GA & GB pour le moteur gauche / DA & DB pour le moteur droite)
void setup()
{ irrecv.enableIRIn(); // Initialise le recepteur infrarouge
pinMode(DA,OUTPUT);
pinMode(DB,OUTPUT);
pinMode(GA,OUTPUT);
pinMode(GB,OUTPUT); }
/*******************************/ /***Les Fonctions***/
void ar() //direction arriére
{ digitalWrite(DA,HIGH);
digitalWrite(DB,LOW);
digitalWrite(GA,HIGH);
digitalWrite(GB,LOW); }
void av() //direction avant
{ digitalWrite(DA,LOW);
digitalWrite(DB,HIGH);
digitalWrite(GA,LOW);
digitalWrite(GB,HIGH); }
void d()//direction droite
{ digitalWrite(DA,LOW);
digitalWrite(DB,HIGH);
digitalWrite(GA,HIGH);
digitalWrite(GB,LOW); }
void g()//direction gauche
{ digitalWrite(DA,HIGH);
digitalWrite(DB,LOW);
digitalWrite(GA,LOW);
digitalWrite(GB,HIGH); }
void s()//arrêt de la voiture
{ digitalWrite(DA,LOW);
digitalWrite(DB,LOW);
digitalWrite(GA,LOW);
digitalWrite(GB,LOW); }
/*****************************/
void loop()
{if (irrecv.decode(&results)) {
if (results.value==0xFF18E7)//on appuie sur la touche 2
av(); // la voiture avance
if (results.value==0xFF5AA5)//on appuie sur la touche 6
d(); // la voiture tourne à droite
if (results.value==0xFF10EF)//on appuie sur la touche 4
g(); // la voiture tourne à gauche
if (results.value==0xFF4AB5)//on appuie sur la touche 8
ar(); // la voiture recule
if (results.value==0xFF38C7)// appuie sur la touche 5
s();// la voiture s’arrête
irrecv.resume(); // Recoit la valeur suivante
}
}