Mateus vi que no seu código você fez a função Map apenas uma vez em :
" int porcentagemUmidadeIdeal = map(umidadeSolo, 0, 1023, 0, 100);"
Para que o Arduino consiga ler o sensor analógico que você conectou a entrada A0 é precisa fazer um map para ele também.
O Map é fazer o Arduino entender o sensor analógico conectado a suas entradas de forma digital, tendo em vista que o sensor de umidade analógico varia sua tensão de 0 a 5 volts o Arduino precisa fatiar e dividir essas tensões e agrupá-las em forma de bits para que ele a consiga ler, ou seja ele vai fazer um Mapeamento da tensão e dividi-la em "1024" partes por assim dizer, cada numero 1, 2, 3, 4 .... 1021, 1022, 1023... será um bit para o Arduino e será um valor de tensão do seu dispositivo analógico, quando ele estiver meio seco e meio molhado estará com sua tensão em 2,5 volts, mas o Arduino não entende assim, mas com a função map feita o Arduino saberá que esta tensão é o numero de bit 512 e você poderá dizer a ele que o bit 512 é 50% de umidade do solo.
Não vi estas associações no seu código com a constante que você declarou :
"const int sensorUmidadeSoloPin = A0; // Pino analógico conectado ao sensor de umidade do solo"
De uma analisada nisto que disse e veja se ficou claro, caso não por favor me fale para que eu possa explicar de outra maneira. Há e o Chat GPT pode ajuda-lo muito a tirar duvidas sobre Arduino, ele pode embora com algumas limitações ser bem interativo quando se trata do assunto. Um abraço Mateus.