Array di segnali IR

Vorrei creare un codice che mi permetta di caricare un Array di 5 elementi con dei segnali a infrarossi di un telecomando.
Qui vi mostro il codice che ho iniziato a fare, come potete vedere mi sono bloccato nel ciclo for, non ho idea di come caricare i valori dei segnali nell' Array.
Spero che voi mi possiate aiutare.

#include <IRremote.h>
 
int RECV_PIN = 5;
 
IRrecv irrecv(RECV_PIN);
 
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  Serial.print("Attendi un segnale\n");
}

void loop() {
  int vett[5];
  char tastiera=Serial.read();
  
  if (irrecv.decode(&results)) {
    for(int i=0;i<5;i++){
      Serial.print("Ricevuto un segnale\n");
  /*??????????????????????????????????*/
      //Serial.print(results.value, HEX);
      irrecv.resume(); // Receive the next value
    }
  }
    switch(tastiera){
    case '1':
    Serial.print(vett[1], HEX);
    Serial.print("\n");
    case '2':
    Serial.print(vett[2], HEX);
    Serial.print("\n");
    case '3':
    Serial.print(vett[3], HEX);
    Serial.print("\n");
    case '4':
    Serial.print(vett[4], HEX);
    Serial.print("\n");
    case '5':
    Serial.print(vett[5], HEX);
    Serial.print("\n");
    default:
    Serial.flush();
  }
  delay(500);
}

IR_Ricevitoretest.ino (932 Bytes)

un numero che sia decimale, esadecimale o binario, verrà salvato in memoria sempre in formato binario, quindi se ricevi un valore esadecimale lo puoi assegnare a una variabile intera, i valori che ricevi possono essere superiori a 255, quindi devi usare una variabile che possa contenere valori numerici più grandi, quindi un tipo int.

Esempio:

#include <IRremote.h>
 
int RECV_PIN = 5;
 
IRrecv irrecv(RECV_PIN);
 
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  Serial.print("Attendi un segnale\n");
}

int i=0;// indice array
int vett[5];

void loop() {
  
  
  char tastiera=Serial.read();
  
  if (irrecv.decode(&results)) {


      array[i]=result.value;


      i++; // aumento di uno la variabile


      if(i>4) i=0;//se la variabile raggiunge il valore 4 torna a zero
                      // e i nuovi dati verranno inseriti in posizione zero


      //Serial.print(results.value, HEX);
      irrecv.resume(); // Receive the next value
    }
  }
    switch(tastiera){
    case '1':
    Serial.print(vett[1], HEX);
    Serial.print("\n");
    case '2':
    Serial.print(vett[2], HEX);
    Serial.print("\n");
    case '3':
    Serial.print(vett[3], HEX);
    Serial.print("\n");
    case '4':
    Serial.print(vett[4], HEX);
    Serial.print("\n");
    case '5':
    Serial.print(vett[5], HEX);
    Serial.print("\n");
    default:
    Serial.flush();
  }
  delay(500);
}