INEMA.CLUB
Desafio 3 · Eletrônica · ESP32 · ★★★

O sensor que passou do limite

Este é o código de verdade da irrigação inteligente: um ESP32 lê um sensor capacitivo de umidade do solo e mostra a porcentagem num painel. O número do sensor cai quando a terra molha. Calcule o que o ESP32 guarda em cada variável.

Como o sensor é lido

1400molhado100% 3300seco0% 2350leitura A 3500leitura B
Valores de calibração do guia: sensor no ar dá 3300 (seco), no copo d'água dá 1400 (molhado). O ADC do ESP32 vai de 0 a 4095.
int SECO = 3300, MOLHADO = 1400;   // calibração

void ler() {
  int bruto = analogRead(PINO_SOLO);           // 0 a 4095
  int pct = map(bruto, SECO, MOLHADO, 0, 100);
  umidade = constrain(pct, 0, 100);            // vai para o painel
}

O map() do Arduino/ESP32 faz a conta com números inteiros:

long map(long x, long in_min, long in_max, long out_min, long out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
  1. Leitura A: bruto = 2350. Quanto vale pct?
  2. Leitura B: o vaso ficou no sol e bruto = 3500. Quanto vale pct?
  3. Ainda na leitura B, quanto vale umidade (o que o painel mostra)?

Sua resposta

Números inteiros. Se der negativo, use o sinal de menos.

Dicas

Para ir além

Monte a irrigação completa (sensor, relé, bomba e painel no celular) com o guia Irrigação inteligente. Para começar no ESP32 do zero, o curso Robótica do Zero ao Expert vai do primeiro LED ao robô com sensores.