Ajuda com lógica para esteira seletora de metais

O código parece bastante confuso...

Que é que aparece no serial.print? O que é que o programa não faz? Sem saber qual é o problema ao certo é impossível de dizer qual é o problema.

Não gosto muito desses delays no programa... Esse de 3 segundos é, muito provavelmente, o que está a dar barraca. Explica o que vês de errado e a gente ajuda.