La prima funzione PatternA (linea 119) non è chiusa da una graffa.
Poi ci sono tutte le funzioni duplicate. Due Setup, due loop, ecc ecc.
Così non funzionerà.
EDIT:
Ho tolto le prime 120 righe e adesso compila...
ma --> Dimensione del file binario dello sketch: 123.050 bytes (su un massimo di 32.256 bytes)
il file è troppo grande per Arduino.
Dovresti modificare il codice e inserire dei cicli for
Ogni blocco:
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
mystrip.pushCmd(BL);
sostituiscilo con
for (int x=1; x >= 15; x++){
mystrip.pushCmd(BL);
}
il numero lo modifichi in base a quante volte devi ripetere il comando.
In questo modo la funzione ClearStrip diventa
void ClearStrip(int duration)
{
for (int x=1; x >= 48; x++){
mystrip.pushCmd(BL);
}
mystrip.latch();
delay(duration);
}
Per contare 48 elementi o vai da 0 a 47 o da 1 a 48. Meglio da 1 a 48 così non ti confondi.