Here i have an IF to each day of the week.
With AFAIKT identical code for every day, why not put that code into a function so it only appears once, and why compare hours, mins and tpa every time when it's just the day that changes?
by initialised data?
Yes, the file A_Textos.ino has a huge number of strings, one array has 256 of them called texto0 through to texto256, then you have an array of 256 pointers to them
char* tabela_textos[] PROGMEM =
{
texto0, texto1, texto2, texto3, texto4, texto5, texto6, texto7,
texto8, texto9, texto10, texto11, texto12, texto13, texto14, texto15,
Just put the strings in an array to start with.
Then there are a lot of near duplications
prog_char nomecanal12 [] PROGMEM = "ALTERAR POTENCIAS DOS LEDS BRANCOS";
prog_char nomecanal13 [] PROGMEM = "ALTERAR POTENCIA DOS LEDS AZUIS";
prog_char nomecanal14 [] PROGMEM = "ALTERAR POTENCIA DOS LEDS AZUL ROYAL";
prog_char nomecanal15 [] PROGMEM = "ALTERAR POTENCIA DOS LEDS VERMELHOS";
prog_char nomecanal16 [] PROGMEM = "ALTERAR POTENCIA DOS LEDS VIOLETA";
This could be split to "ALTERAR POTENCIA DOS LEDS " (is the "S" needed on the first string?) and the colour string, that way the large part of the string will only occupy space a single time.
How about this
bled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);
wled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);
rbled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);
rled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);
uvled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);
The value assigned to these variables is exactly the same but you repeat the humungous map() code for each one.
The entire code is rife with this sort of thing, it should be totally refactored, but as you say "my programming knowledge does not allow me to do it." so the only options I can see are to learn better programming technique, pay someone to modify the code, or get a larger platform.
Rob