Pessoal estou com problema, meu sensor mesmo seco fica dando 100% de umidade, alguém possa me ajuda ?
int pinoSensor = 36; // Conectado ao pino GPIO36 (A0)
int valorSensor = 0; // Variável para armazenar o valor do sensor
int umidadePercentual = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
valorSensor = analogRead(pinoSensor); // Leitura do valor analógico
umidadePercentual = map(valorSensor, 0, 4095, 0, 100); // Converte para 0-100%
Serial.print("Valor do sensor: ");
Serial.print(valorSensor);
Serial.print(" - Umidade: ");
Serial.print(umidadePercentual);
Serial.println("%");
delay(1000); // Espera 1 segundo antes da próxima leitura
(post flagged for moderation to move to International/Portuguese)
Olá! Tudo bem? Bem vindo ao Forum.
Antes de mais nada, parabéns por ter colocado seu código usando a formatação correta já no seu primeiro post.
A escolha do seu tópico, por outro lado, não foi das melhores...
O tópico Nano ESP32 é específico para a placa de mesmo nome, mas o que você tem é um ESP32 puro. Além disso, no Forum global, a língua adotada é o inglês. Para posts em Português há uma seção específica: https://forum.arduino.cc/c/international/portugues/ e ela não tem subdivisão de assuntos.
Eu vou pedir para um moderador mudar o post de lugar.
Quanto a sua dúvida, vale observar que o sensor DIMINUI a resistência quanto mais úmido estiver o ambiente. Então, no seco, é de se esperar que ele retorne o valor máximo mesmo. Para o sistema se comportar como você espera, você precisa inverter a lógica do map(), alterando essa linha: