proramme arduino

bonjour a tous;

je me presente ,debutant dans la prgrammation de l’arduino et ses ma premiere sur un forum je me suis toujour debrouiller tous seul mais la ! je seche :0 en esperant que je me suis pas tromper de rubrique en mettend mon post ; je suis en train de faire un petit projet avec une ancienne telecommande,de television

le but:

j’ais pris exemple d’un programme de mrs pelletier yves que j’ais trouver formidale pour allumer plusieurs led avec differente touches d’une telecomande! apres plusieurs essais j’ais enfin reussit a refaire la meme chose!!! cependant maintenant se que j’aimerais realiser ses qu’une fois l’impultion emise sur une touche la led s’allume et s’eteingne 2 seconde apres! j’ais essayer plusieurs met hode d’apres se programme mais je vous avoue que ses que des echecs!!! tous se que j’arrive a faire ses de donner un temps avant la reaction de l’allumage de led !! hors se n’est pas sa que je cherche.

mon projet conssiste si j’y arrive est de pouvoir demarrer mon vehicule de la fenetre de chez moi (distance du vehicule3metres)

le programme de depart que je me sert est celui ci (qui n’est pas le mien ! je n’est changer que les valeurs de ma propre telec omande qui elle est en NEC)

/*************Telecommande_et_LEDs *********************
 * 8 LEDs branchées aux sorties 2-9 de l'Arduino sont contrôlées
 * au moyen d'une télécommande recyclée suivant le protocole RC5.
 * Utilisation de la librairie IRremote de Ken Shirriff
 * (http://www.righto.com/).
 ********************************************************/
 
#include <IRremote.h>
 
int RECV_PIN = 11;  // récepteur IR à la pin 11
 
IRrecv irrecv(RECV_PIN);
 
decode_results results;
 
int LED_state [8];// 0 quand la LED est éteinte
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); 
 
  for (int i=0; i <= 7; i++){
    pinMode(i+2, OUTPUT);
  } 
 
}
 
 
void action(decode_results *results) {
  int count = results->rawlen;
 
  if (results->decode_type == NEC) {
 
    switch (results->value) {
 
    
    case 0xffc837:
      Serial.println("Bouton 1");
      LED_state[0] = !(LED_state[0]);
      break;
    case 0xff48b7:
      Serial.println("Bouton 2");
      LED_state[1] = !(LED_state[1]);
      break;
    case 0xff8877:
      Serial.println("Bouton 3");
      LED_state[2] = !(LED_state[2]);
      break; 
    case 0xff08f7:    
      Serial.println("Bouton 4");
      LED_state[3] = !(LED_state[3]);
      break; 
    case 0xfff00f:    
      Serial.println("Bouton 5");
      LED_state[4] = !(LED_state[4]);
      break; 
    case 0xff708f:    
      Serial.println("Bouton 6");
      LED_state[5] = !(LED_state[5]);
      break;
    case 0xffb04f:    
      Serial.println("Bouton 7");
      LED_state[6] = !(LED_state[6]);
      break;   
    case 0xff30cf:    
      Serial.println("Bouton 8");
      LED_state[7] = !(LED_state[7]);
      break;
    case 0xffd02f:    
      Serial.println("Bouton 9");
      break;  
    case 0xff50af:   
      Serial.println("Bouton 0");
      break;
    }
  } 
 
  for (int i=0; i <= 7; i++){
    digitalWrite(i+2, LED_state[i]);
  }
}
 
 
void loop() {
  if (irrecv.decode(&results)) {
    action(&results);
    irrecv.resume(); // Receive the next value
  }
}

si il y a des personnes competentes et je n en doute pas vue tous se que j’ais lu sur se forum!!! il ya des betes :smiley:
pour me donner un petit coup pouce se sera tres aimable merci d’avance!

pour les reponsses n’allez pas trop vite dans les explications j’ais 40 ans :slight_smile: non que ses “trop vieux” mais il ya des termes techeniques dans se forum que je ne comprend pas tous le temps! mais je vous assure que je fait des efforts :smiley:

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

Ha, un lecteur de mon blog! Je suis bien content que mon article sur les télécommandes vous ait plu! :slight_smile:

Voici une version modifiée du sketch pour que les LEDs s’allument pendant deux secondes avant de s’éteindre à nouveau. (On peut certainement faire quelque chose de plus élégant mais bof ça fonctionne…)

#include <IRremote.h>

int RECV_PIN = 11;  // récepteur IR à la pin 11

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); 

  for (int i=0; i <= 7; i++){
    pinMode(i+2, OUTPUT);
  } 

}

void blinkLED (int quelleLED){

  // on allume la LED branchée à la sortie
  // "quelleLED + 2" pendant 2 secondes,
  // puis on l'éteint

  digitalWrite(quelleLED+2, 1);
  delay(2000);
  digitalWrite(quelleLED+2, 0);

}

void action(decode_results *results) {
  int count = results->rawlen;

  if (results->decode_type == RC5) {

    switch (results->value) {

    case 0x1:
    case 0x801:
      Serial.println("Bouton 1");
      blinkLED(0);
      break;
    case 0x2:
    case 0x802:
      Serial.println("Bouton 2");
      blinkLED(1);
      break;
    case 0x3:
    case 0x803:
      Serial.println("Bouton 3");
      blinkLED(2);
      break;
    case 0x4: 
    case 0x804:    
      Serial.println("Bouton 4");
      blinkLED(3);
      break;
    case 0x5: 
    case 0x805:    
      Serial.println("Bouton 5");
      blinkLED(4);
      break;
    case 0x6: 
    case 0x806:    
      Serial.println("Bouton 6");
      blinkLED(5);
      break;
    case 0x7: 
    case 0x807:    
      Serial.println("Bouton 7");
      blinkLED(6);
      break;   
    case 0x8:
    case 0x808:    
      Serial.println("Bouton 8");
      blinkLED(7);
      break;
    case 0x9:
    case 0x809:    
      Serial.println("Bouton 9");
      break;
    case 0x0:  
    case 0x800:   
      Serial.println("Bouton 0");
      break;
    }
  } 
}


void loop() {
  if (irrecv.decode(&results)) {
    action(&results);
    irrecv.resume(); // Receive the next value
  }
}

bonjour mrs pelletier

un grand merci pour votre reponsse!!!!!!!

effectivement je suis vos petit montage et je les trouves tres interressant je m éfforce de les reproduires mais se n 'est pas toujour facile quand on est debutant :D

continué comme sa ;) vous devez interressé beaucoup de monde!!!! j ais un metier assez prennent sur les heures mais des que j' ais fini aujourd hui je regarderais de plus pres votre programme XD je ne regrette pas de m'avoir inscrit sur un forum :) au plaisir de rediscuter a vous!

cordialement.

à: claas900, Si ypelletier n'avait pas vu ton message, ou n'y avait pas répondu en mettant son lien dans sa signature; nous n'aurions jamais trouvé son blog. Pense donc à mettre du lien, quand il est intéressant que celui-ci. (troisième icone ligne du bas de la barre d'outils au dessus des smileys) à: ypelletier: Je me suis permis de "piquer" votre module midi, et vous ai postés quelques com's de mon crû.

bj carolyne

premiere fois sur un forum je n'est pas toute les suptilités des messages mon but etait de trouver une perssonne qui puisse m'aider j"esserais de faire mieux la prochaine fois XD