Faala Luan, como vai? Espero que esteja bem ^-^
A analogRead
funciona um pouco diferente do que estamos acostumados. Um sinal digital possui apenas dois valores: HIGH e LOW, por isso definimos INPUT E OUTPUT. Mas, o sinal analógico pode assumir qualquer número de valores, por isso não definimos nem INPUT ou OUTPUT para ele. Observe que utilizamos a função analogRead (pin)
para obter o valor do sinal analógico lido e esse valor geralmente varia de 0 a 1023, o que nos permite ir para caminhos diferentes a depender do valor do sinal analógico lido, com essa função basta especificarmos o pino analógico e ela nos dará o valor do mesmo. Mas observe que ao escrever utilizando a analogWrite precisamos definir o pino como saída.
Qualquer dúvida estou por aqui.
Abraços e bons estudos!