voila la présentation de mon robot V1.0 et bientôt je mettrais la Version V2.0. Donc dans un premier temps les composants :
_Arduino (Mega2560 dans mon cas)
_Kit Magician Châssis (contient: 2 moteurs, 2 roues , un châssis , une roue folle , support piles)
_Contrôleur de moteur L293D
_Capteur infrarouge TSOP1838 (voir modèle joint)
_Télécommande infrarouge (télé, DVD, ou n'importe)
_Pile 9V (alimention Arduino)
_4 piles AA 1.5V (alimentation moteurs)
ensuite le schéma électronique (Le capteur Infrarouge n'est pas bon mais le câblage oui , regarder image jointe du capteur )
Et pour finir le code !
Télécharger la bibliotheque : NECIRrcv.h et installer la sur Arduino.
Ensuite il faut d'abord noter les codes Hex des touches de la télécommande pour les attribuer a des directions/ordres. Donc on upload le code suivant et des qu'il est uploader , ouvrir le serial monitor et appuyer sur une touches de la télécommande pour afficher a l'écran le code HEX de la touche pressée. Après avoir noter la touche et son code vous aller copier le code HEX dans la partie a changer du code :
// telecharger la librairie sur ce lien http://www.4shared.com/zip/JgqhuOpr/NECIRrcv.html
#include <NECIRrcv.h>
//declaration du capteur qui est sur le pin 10
#define IRPIN 10
//declaration des moteurs + L293D
#define motor1Pin1 3
#define motor1Pin2 4
#define motor2Pin1 6
#define motor2Pin2 7
#define enable1 2
#define enable2 5
//Partie du code a changer !
#define n1 3877174785 //noter le code HEX ,reçu sur le serial monitor pour la touche 1
#define n2 3108437505 // faites de même avec les autres
#define n3 3191995905
#define n4 3058302465
#define n5 3125149185
NECIRrcv ir(IRPIN) ;
unsigned long ircode; // Variable servant à mémoriser le code reçu
void setup()
{
//reglage des moteurs en mode sortie
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
Serial.begin(9600);
ir.begin() ;
}
void loop()
{
while (ir.available()) // tant que le capteur est disponible ...
{
// Lire et mémoriser le code dans la variable ircode
ircode = ir.read();
Serial.print(ircode);
switch(ircode)
{
case n1:
{
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
break;
}
case n2:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
break;
}
case n3:
{
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
break;
}
case n4:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
break;
}
case n5:
{
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
break;
}
}
}
}
Re-Uploader le code pour que le robot fonctionne avec la télécommande.


















