Ollivier

Telecommande IR recup valeurs boutons

Sep 3rd, 2020
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.70 KB | None | 0 0
  1. // une nouvelle version de ce code existe ici : https://pastebin.com/vcvNTAE8
  2. // celui ci sert à recupérer les valeurs de chaque bouton, on ne s'en sert qu'un fois
  3. // il faut décocher #define INIT, puis lire la valeur sur le moniteur série
  4.  
  5. // Ce code est tres lourd, d'où la nouvelle version
  6.  
  7. #include <IRremote.h>
  8.  
  9. int LedIRLecture = 11;
  10. IRrecv recepteurIR(LedIRLecture);
  11. decode_results resultat;
  12.  
  13. String tableauValeurBouton[37] = {
  14.   // valeur     Télécommande         boutonActif
  15.   "fb003bc4",   // ON/OFF                (0)
  16.   "fb00d12e",   // Couper Son            (1)
  17.   "fb00936c",   // >| (suivant)          (2)
  18.   "fb0013ec",   // STOP                  (3)
  19.   "fb009966",   // REC                   (4)
  20.   "fb00b34c",   // INFO                  (5)
  21.   "fb00e31c",   // TV/RADIO              (6)
  22.   "fb00639c",   // MEDIA                 (7)
  23.   "fb00a35c",   // AUDIO                 (8)
  24.   "fb0023dc",   // "BLEU"                (9)
  25.   "fb00f906",   // EPG                  (10)
  26.   "fb00d926",   // BACK                 (11)
  27.   "fb007b84",   // Haut                 (12)
  28.   "fb006b94",   // Bas                  (13)
  29.   "fb00db24",   // Gauche               (14)
  30.   "fb001be4",   // Droite               (15)
  31.   "fb005ba4",   // OK                   (16)
  32.   "fb002bd4",   // MENU                 (17)
  33.   "fb00eb14",   // EXIT                 (18)
  34.   "fb00c13e",   // USB                  (19)
  35.   "fb00738c",   // FAV                  (20)
  36.   "fb00b946",   // <<                   (21)
  37.   "fb00bb44",   // >>                   (22)
  38.   "fb000bf4",   // |<<                  (23)
  39.   "fb0033cc",   // >>|                  (24)
  40.   "fb00718e",   // 1                    (25)
  41.   "fb00619e",   // 2                    (26)
  42.   "fb00f10e",   // 3                    (27)
  43.   "fb0049b6",   // 4                    (28)
  44.   "fb00e11e",   // 5                    (29)
  45.   "fb00c936",   // 6                    (30)
  46.   "fb006996",   // 7                    (31)
  47.   "fb0041be",   // 8                    (32)
  48.   "fb00e916",   // 9                    (33)
  49.   "fb0059a6",   // 0                    (34)
  50.   "fb00fb04",   // TTX                  (35)
  51.   "fb00916e"    // SUBTITLE             (36)
  52. };
  53.  
  54. int boutonActif;
  55.  
  56. //#define INIT         // à décocher pour récupérer les valeurs des boutons
  57.  
  58. void setup() {
  59.  
  60.   Serial.begin(9600);
  61.   recepteurIR.enableIRIn();
  62.  
  63. }
  64.  
  65. void loop() {
  66.  
  67. // Gestion de la télécommande -----
  68.  
  69.   if (recepteurIR.decode(&resultat)) {
  70.     String valeur = String(resultat.value, HEX);
  71.     String debutValeur = valeur.substring(0, 2);
  72.     if (valeur != "ffffffff" && debutValeur == "fb" && valeur.length() == 8) {
  73.       #if defined(INIT)
  74.       Serial.println(valeur);
  75.       #else
  76.       for (int i = 0; i < 37; i++) {
  77.         if (valeur == tableauValeurBouton[i]) {
  78.           boutonActif = i;
  79.         }
  80.       }
  81.       switch (boutonActif) {
  82.         case 0:
  83.           Serial.println("Bouton ON / OFF");
  84.           break;
  85.         case 1:
  86.           Serial.println("Bouton MUTE");
  87.           break;
  88.         case 2:
  89.           Serial.println("Bouton NEXT");
  90.           break;
  91.         case 3:
  92.           Serial.println("Bouton STOP");
  93.           break;
  94.         case 4:
  95.           Serial.println("Bouton REC");
  96.           break;
  97.         case 5:
  98.           Serial.println("Bouton INFO");
  99.           break;
  100.         case 6:
  101.           Serial.println("Bouton TV / RADIO");
  102.           break;
  103.         case 7:
  104.           Serial.println("Bouton MEDIA");
  105.           break;
  106.         case 8:
  107.           Serial.println("Bouton AUDIO");
  108.           break;
  109.         case 9:
  110.           Serial.println("Bouton BLEU");
  111.           break;
  112.         case 10:
  113.           Serial.println("Bouton EPG");
  114.           break;
  115.         case 11:
  116.           Serial.println("Bouton BACK");
  117.           break;
  118.         case 12:
  119.           Serial.println("Bouton HAUT");
  120.           break;
  121.         case 13:
  122.           Serial.println("Bouton BAS");
  123.           break;
  124.         case 14:
  125.           Serial.println("Bouton GAUCHE");
  126.           break;
  127.         case 15:
  128.           Serial.println("Bouton DROITE");
  129.           break;
  130.         case 16:
  131.           Serial.println("Bouton OK");
  132.           break;
  133.         case 17:
  134.           Serial.println("Bouton MENU");
  135.           break;
  136.         case 18:
  137.           Serial.println("Bouton EXIT");
  138.           break;
  139.         case 19:
  140.           Serial.println("Bouton USB");
  141.           break;
  142.         case 20:
  143.           Serial.println("Bouton FAV");
  144.           break;
  145.         case 21:
  146.           Serial.println("Bouton <<");
  147.           break;
  148.         case 22:
  149.           Serial.println("Bouton >>");
  150.           break;
  151.         case 23:
  152.           Serial.println("Bouton |<<");
  153.           break;
  154.         case 24:
  155.           Serial.println("Bouton >>|");
  156.           break;
  157.         case 25:
  158.           Serial.println("Bouton 1");
  159.           break;
  160.         case 26:
  161.           Serial.println("Bouton 2");
  162.           break;
  163.         case 27:
  164.           Serial.println("Bouton 3");
  165.           break;
  166.         case 28:
  167.           Serial.println("Bouton 4");
  168.           break;
  169.         case 29:
  170.           Serial.println("Bouton 5");
  171.           break;
  172.         case 30:
  173.           Serial.println("Bouton 6");
  174.           break;
  175.         case 31:
  176.           Serial.println("Bouton 7");
  177.           break;
  178.         case 32:
  179.           Serial.println("Bouton 8");
  180.           break;
  181.         case 33:
  182.           Serial.println("Bouton 9");
  183.           break;
  184.         case 34:
  185.           Serial.println("Bouton 0");
  186.           break;
  187.         case 35:
  188.           Serial.println("Bouton TTX");
  189.           break;
  190.         case 36:
  191.           Serial.println("Bouton SUBTITLE");
  192.           break;
  193.       }
  194.       #endif
  195.     }
  196.     recepteurIR.resume();
  197.     delay(50);
  198.   }
  199.  
  200. }
Add Comment
Please, Sign In to add comment