Projeto de Bancada #04 🌡️ Climatização & Sensores Ambientais

Sensor de Temperatura & Umidade AM2301 / Si7021

Sonda industrial protegida em cápsula perfurada para leitura de temperatura (-40°C a +80°C) e umidade relativa (0 a 99.9% RH). Mapeamento de pinagem para conectores de áudio Jack 2.5mm TRRS, conector RJ9 (Sonoff TH Elite), ligação com resistor pull-up em ESP32/Raspberry Pi e integração no Home Assistant.

📋 Especificações Técnicas e Comparativo

Faixa de Temperatura

-40°C a +80°C (Precisão ±0.5°C, Resolução 0.1°C).

Faixa de Umidade Relativa

0% a 99.9% RH (Precisão ±3% RH a 25°C, Resolução 0.1% RH).

Tensão de Operação

3.3V a 5.2V DC (baixo consumo: ~1.5mA em medição, 50µA standby).

Protocolo de Comunicação

Single-Bus Digital (1-Wire DHT proprietário), amostragem recomendada a cada 2s a 10s.

Modelo Elemento Sensor Interno Tipo de Conector Compatibilidade Nativa
AM2301 (DHT21) Polímero Capacitivo + Termistor NTC Jack 2.5mm / 3 Fios Soltos Sonoff TH10/TH16, ESP32, ESP8266, Arduino, Raspberry Pi
Sonoff Si7021 Silicon Labs Si7021 Digital CMOS Jack 2.5mm de 4 polos (TRRS) Sonoff TH10/TH16 (Alta imunidade a ruídos elétricos)
Sonoff THS01 Sensor Digital de Alta Estabilidade Plug RJ9 (4P4C) Sonoff THR316D / THR320D Origin & Elite

📌 Modelo de Pinagem & Esquema do Resistor Pull-up

Pinagem detalhada para conector Jack 2.5mm, conector RJ9 e fios decapados.

ESQUEMA FÍSICO DO PLUG JACK 2.5mm (SONOFF TH10 / TH16):
        [ Ponta / TIP ]    [ Anel / RING ]      [ Corpo / SLEEVE ]
            ( VDD 3.3V )       ( DATA Sinal )          ( GND Terra )
       ======|==========|===========|==================[ CORPO CABO ]====
             |          |           |
          Vermelho    Amarelo     Preto

1. Conexão em Placas ESP32 DevKit / Raspberry Pi (Fios Soltos)

Cor do FioPino do SensorPino ESP32Pino Raspberry PiFunção
● Vermelho VDD 3V3 (Pino 3.3V) Pino 1 (3V3) Alimentação positiva de 3.3V (evite 5V para proteger o GPIO).
● Amarelo / Branco DATA GPIO 4 GPIO 4 (Pino 7) Linha serial bidirecional de dados (com resistor pull-up 4.7kΩ).
● Preto GND GND Pino 6 (GND) Referência comum de terra.
ESQUEMA DE LIGAÇÃO COM RESISTOR PULL-UP (4.7kΩ A 10kΩ)
   ESP32 3V3 --------------------+----> Sensor AM2301 VDD (Fio Vermelho)
                                    |
                             [ Resistor 4.7kΩ ]
                                    |
   ESP32 GPIO4 --------------------+----> Sensor AM2301 DATA (Fio Amarelo)
   
   ESP32 GND ---------------------------> Sensor AM2301 GND (Fio Preto)

🔨 Passo a Passo de Montagem e Testes

1 Posicionamento e Instalação da Sonda

Instale a sonda com a grade perfurada voltada para baixo para evitar acúmulo de água condensada ou poeira sobre o elemento sensor. Mantenha a sonda afastada de fontes diretas de calor (como transformadores ou lâmpadas incandescentes) e de correntes de ar forçado direto.

2 Extensão do Cabo para Longas Distâncias

O sensor suporta cabos de até 20 metros sem perda de sinal. Para cabos com mais de 5 metros, utilize cabo blindado (shielded) de 3 ou 4 vias, ligue a malha de blindagem ao GND na extremidade do microcontrolador e utilize um resistor pull-up menor (ex: 2.2kΩ a 3.3kΩ) para compensar a capacitância parasita do cabo.

3 Frequência de Amostragem

O sensor AM2301 necessita de pelo menos 2 segundos entre cada requisição para estabilizar as medições térmicas. Leituras com intervalo inferior a 2s resultarão em autoaquecimento interno (self-heating) do elemento e distorção dos valores de umidade.

⚡ Código ESPHome com Cálculo de Ponto de Orvalho

Configuração completa com filtro median para descartar ruídos e cálculo automático de Dew Point.

am2301-sensor.yaml (ESPHome)
sensor:
  - platform: dht
    pin: GPIO4
    model: AM2301 # ou SI7021
    temperature:
      name: "Temperatura AM2301"
      id: temp_am2301
      filters:
        - filter_out: nan
        - median:
            window_size: 5
            send_every: 2
    humidity:
      name: "Umidade Relativa AM2301"
      id: hum_am2301
      filters:
        - filter_out: nan
    update_interval: 10s

  # Ponto de Orvalho (Dew Point)
  - platform: template
    name: "Ponto de Orvalho"
    unit_of_measurement: "°C"
    lambda: |-
      float t = id(temp_am2301).state;
      float rh = id(hum_am2301).state;
      if (isnan(t) || isnan(rh)) return {};
      float alpha = ((17.27 * t) / (237.7 + t)) + log(rh / 100.0);
      return (237.7 * alpha) / (17.27 - alpha);

🍓 Leitura em Python no Raspberry Pi Zero W / Pi 5

Script leve com biblioteca `adafruit-circuitpython-dht`.

leitura_am2301.py (Python 3)
import time, board, adafruit_dht

dht_device = adafruit_dht.DHT21(board.D4)

while True:
    try:
        temp = dht_device.temperature
        hum = dht_device.humidity
        if temp is not None:
            print(f"Temperatura: {temp:.1f}°C | Umidade: {hum:.1f}%")
    except RuntimeError:
        pass
    time.sleep(3.0)

🏠 Automação de Desumidificador e Alerta de Mofo

Liga o exaustor ou desumidificador se a umidade subir acima de 70% por mais de 5 minutos.

automations.yaml (Home Assistant)
alias: "Climatização - Controle de Umidade Excessiva"
trigger:
  - platform: numeric_state
    entity_id: sensor.umidade_relativa_am2301
    above: 70
    for:
      minutes: 5
action:
  - service: switch.turn_on
    target:
      entity_id: switch.exaustor_lab
  - service: notify.notify
    data:
      title: "💧 Alerta de Alta Umidade"
      message: "Umidade em {{ states('sensor.umidade_relativa_am2301') }}%. Exaustor acionado!"

🛒 Onde Comprar no Brasil

Adquira a sonda AM2301 / Sonoff Si7021 e componentes complementares com envio rápido:

🛍️ Comprar na Shopee Brasil 🛒 Comprar no Mercado Livre 📦 Comprar na Amazon Brasil