RAGGRUPPAMENTO SERIE DI FUNZIONI

Salve a tutti, sto iniziando il mio progetto di quinta e non riesco a capire come potrei fare per raggruppare una serie di istruzioni in un'unica funzione: ho creato un carattere speciale, in questo caso un numero 3 alto tre righe e largo 3 colonne ma leggermente personalizzato. Ho usato l'istruzione byte per byte così da personalizzarlo a piacere. Ora vorrei nel Main Loop poterlo richiamare come ho scritto nel programma con un semplice array. Magari mi direte che è una cavolata ma io lo posto e mi dite cosa posso fare e se l'idea che ho è fattibile. Inoltre nel setup mi dà un errore: expected } before ; ma non capisco perchè !?
ecco il programma e grazie in anticipo

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C  lcd(0x3F, 2, 1, 0, 4, 5, 6, 7);

byte A[] =
{
  B00111,
  B01111,
  B11111,
  B11111,
  B00000,
  B00000,
  B00000,
  B00000
};
byte B[] =
{
  B11100,
  B11110,
  B11111,
  B11111,
  B00000,
  B00000,
  B00000,
  B00000
};
byte C[] =
{
  B00000,
  B00000,
  B00000,
  B10000,
  B11000,
  B11100,
  B11100,
  B11100
};
byte D[] =
{
  B11100,
  B11100,
  B11000,
  B10000,
  B10000,
  B11000,
  B11100,
  B11100
};
byte E[] =
{
  B00000,
  B00000,
  B00111,
  B01111,
  B01111,
  B00111,
  B00000,
  B00000
};
byte F[] =
{
  B11100,
  B11100,
  B11100,
  B11000,
  B10000,
  B00000,
  B00000,
  B00000
}
; byte G[] =
{
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B11110,
  B11100
};
; byte H[] =
{
  B00000,
  B00000,
  B00000,
  B00000,
  B11111,
  B11111,
  B01111,
  B00111
};

void setup()
{
  lcd.begin (20, 4);
  lcd.setBacklightPin(3, POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.createChar(1, A);
  lcd.createChar(2, B);
  lcd.createChar(3, C);
  lcd.createChar(4, D);
  lcd.createChar(5, E);
  lcd.createChar(6, F);
  lcd.createChar(7, G);
  lcd.createChar(8, H);

  int num3[] ={
    lcd.home();                    // set cursor to 0,0
    // lcd.print((char)0xFF);      // full char
    lcd.write((uint8_t)1);
    lcd.write((uint8_t)2);
    lcd.write((uint8_t)3);
    lcd.setCursor(2, 1);
    lcd.write((uint8_t)4);
    lcd.setCursor(1, 1);
    lcd.write((uint8_t)5);
    lcd.setCursor(2, 2);
    lcd.write((uint8_t)6);
    lcd.setCursor(1, 2);
    lcd.write((uint8_t)7);
    lcd.setCursor(0, 2);
    lcd.write((uint8_t)8);
  }
}

void loop()
{
  lcd.write(num3);

}

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

In questa sezione c'e' scritto BELLO GRANDE, NON POSTARE QUI.

Quinta di che scuola ? Spero non informatica, perchè sta roba è una cavolata pazzesca:

 int num3[] ={
    lcd.home();

Mica un array/vettore puoi inizializzarlo con del codice/istruzioni !! (in nessun linguaggio)

Fai una funzione void che chiami Lcd_Num3 e che contiene quel codice.

void Lcd_Num3()
{ lcd.home(); .... resto del codice
}

void loop()
{ Lcd_Num3();
}

Ti consiglio un testo di C e magari una lettura a questo pdf gratuito sul C di Arduino, cerca "Tiziana Marsella Arduino", il testo è free

NutriaCavallo:
Mangiamelo con il tonno

Cioè ?