Guardar y mostrar enteros en un arreglo

Quiero guardar numeros en un arreglo:

#include <LiquidCrystal.h> 
LiquidCrystal lcd (12,11,5,4,3,2);

void setup() {
 Serial.begin(9600);
 int i,m[6];
for (i = 0; i < 5; i = i + 1) {
  lcd.setCursor(0,1);
  lcd.print("Dame numero %d",i+1); // Sé que es incorrecto pero quiero que i vaya mostrando el 
                                                   numero.
   
  (m[i])=Serial.read();
}
for (i = 0; i < 5; i = i + 1) {
  lcd.setCursor(0,0);
  lcd.println(m[i]);
  delay(1000);
}
}

void loop() {
 
}

Quiero saber en que me equivoque

Okey, creo que esto es lo que he logrado:

#include <LiquidCrystal.h> 
LiquidCrystal lcd (12,11,5,4,3,2);
int array1[5];
void setup(){
  Serial.begin(9600);
  for(int i=0; i<4; i++){
  array1[i];
}
}
void loop(){
  for(int j=0;j<4;j++){
    lcd.setCursor(0,0);
    lcd.print(array1[j]);
  }
}

Ahora solo me aparece un 0. Me pueden ayudar por favor, es urgente :,c

lcd.print("Dame numero %d",i+1); Así no va

 lcd.print("Dame numero ";
lcd.print(i+1);

Así quizás si

O asi

char buffer[20];
sprintf(buffer, "Dame numero %d",i+1);
lcd.print(buffer);

Doble posteo por 3ra vez.
Envio privado para que luego te informes.