Bonjour, j'aimerais savoir si quelqu'un peut m'aider pour mon projet. j'ai fait le programme mais il ne marche pas si quelqu'un peut m'aider.
voici le programme: #include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int moteur_gauche=2;
const int moteur_droit=9;
int allumer_gauche, allumer_droit;
Merci d’éditer votre post pour rajouter les balises de de code, c’est quasiment illisible tel quel:
sélectionner la partie du texte qui correspond au code
appuyez sur l’icône </> dans la barre d’outils pour indiquer que c’est du code
(Assurez vous aussi d’indenter le code correctement dans l’IDE avant de le copier pour le coller ici. Cela se fait en pressant ctrlT sur PC ou cmdT sur un Mac)
Il faudrait expliquer ce que tu entends par 'il ne marche pas'. Ça compile ou pas ? Si oui, que se passe-t-il et pourquoi ça ne correspond pas à ce que tu attends ?
Ton gros problème est l'indentation, tel que ton programme est indenté, il était difficile de "voire" pourquoi il ne fonctionnait pas,
En effet, il suffisait de déplacer cette accolade:
en fin de loop(),
bien indenté, tu aurais presque certainement trouvé le problème.
Je te mets ma version de ton programme:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int moteur_gauche=2;
const int moteur_droit=9;
int allumer_gauche, allumer_droit;
void setup()
{
irrecv.enableIRIn();
allumer_gauche=0;
allumer_droit=0;
pinMode(moteur_gauche, OUTPUT);
pinMode(moteur_droit, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
// MOTEUR GAUCHE
if (results.value==0xFF22DD)
{ //fast back
if (allumer_gauche==0 )
{
allumer_gauche=1;
digitalWrite(moteur_gauche, HIGH);
}
}
//MOTEUR DROIT
if (results.value==0xFFC23D) //fast forward
{
if (allumer_droit==0 )
{
allumer_droit=1;
digitalWrite(moteur_droit, HIGH);
}
}
//MOTEUR STOP
//moteur droit
if (results.value==0xFFA25D) //power
{
if (allumer_droit==1 )
{
allumer_droit=0;
digitalWrite(moteur_droit, LOW);
}
}
//moteur gauche
if (results.value==0xFFA25D) //power
{
if (allumer_gauche==1 )
{
allumer_gauche=0;
digitalWrite(moteur_gauche, LOW);
}
}
//MARCHE AVANT
//droit
if (results.value==0xFF906F) //up
{
if (allumer_droit==0 )
{
allumer_droit=1;
digitalWrite(moteur_droit, HIGH);
}
}
//gauche
if (results.value==0xFF906F) //up
{
if (allumer_gauche==0 )
{
allumer_gauche=1;
digitalWrite(moteur_gauche, HIGH);
}
}
irrecv.resume(); // Recoit la valeur suivante
}
}
le programme compile et se télécharge mais dès que je le l'utilise sur mon montage plus rien ne répond. J'ai déja changer plusieurs fois mon montage rien ne change
J'ai légèrement modifié le programme `du post #4.
Ainsi, chaque fois que tu presses une touche de ta télécommande, il doit y avoir d'affiché dans le moniteur de l'IDE Arduino, à 115200 ceci:
Facile à vérifier. Utilises une alimentation extérieure pour la partie moteur+L293D. Tu pourrais commencer avec un vieux chargeur de téléphone (mais pas trop vieux quand même, il faudrait qu'il puisse fournir au moins 1 Ampère). Ne pas oublier de réunir les masses entre cette nouvelle alimentation et ta Uno.