Memorizzare molte variabili in eeprom

Non sono molto pratico con arduino.
Sto realizzando un accordatore di antenna remotizzato con due servo RC ed un relè, utilizzando due Arduino UNO interconnessi RS485.
Il sistema già funziona e tramire un display nextion basic ho realizzato tre schermate con 40 tasti memoria, ogni memoria dovrà conservare la posizione in gradi (0-180) dei due servo denominati L e C e se un relè è eccitato o meno, quindi ogni tasto memoria dovra immagazzinare 3 byte, lo so che usare un byte per uno stato logico è scialacquare EEprom.
Come posso organizzare queste memorie perche la prima potrebbe parire dall'indirezzo 0, la seconda dal 3, la terza dal 6, ma scrivere 40 volte lo stesso codice di assegnazione mi sembra criminale pur non conoscendo l'alternativa.
Ho letto di strutture dati ma credo che poi dovrei creare un array di queste strutture, ma come?

Avete un esempio da suggerirmi?

Grazie Carlo

Un unico array (matrice) di 40 righe ciascuna di 3 colonne ... in pratica un vettore con due indici ... esempio:

uint8_t miaMatrice[40][3];

In questo modo hai a disposizione 40 righe (il primo dei due indici dell'array) ciascuna di tre elementi (il secondo indice dell'array).

Ad esempio, per il tasto di memoria 25 (numero a caso) avresti:

miaMatrice[24][0] = valoreL;
miaMatrice[24][1] = valoreC;
miaMatrice[24][2] = statoRele;

... ricorda che tutti gli indici partono da 0 :wink:

Poi, in EEPROM, scrivi/leggi in un sol colpo la tua matrice composta da 120 bytes.

Guglielmo

Grazie, appena il tempo me lo consente metto in pratica tutto.