Skip to content

JeffersonCarlosLima/MonitorHumorPlanta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

🪴 Monitor de Humor da Planta

Um monitor de umidade do solo com interface de pixel art que exibe o "humor" da sua planta em um display TFT usando um ESP32. Conecta ao Wi‑Fi para enviar o status da planta a uma API web.

📜 Sumário

📖 Descrição

Este projeto transforma um sensor de umidade do solo em um display interativo. Ele mede a umidade da terra e traduz a leitura em uma das três emoções faciais, em pixel art minimalista:

  • 😄 Feliz: umidade ótima (>= 50%)
  • 😐 Sério: umidade média (>= 20% e < 50%)
  • 😢 Triste: umidade baixa (< 20%), precisa de água Além de exibir o humor, o dispositivo conecta ao Wi‑Fi e envia o status (percentual de umidade e situação) para uma API web, permitindo monitoramento remoto.

⭐ Características

  • Monitoramento em tempo real: lê e atualiza a umidade do solo
  • Feedback visual imediato: UI clara em pixel art
  • Conectividade Wi‑Fi: integração com rede local
  • Integração com API: envia status ao ligar e sempre que a emoção muda
  • UI adicional:
    • Ícone de Wi‑Fi no canto superior direito (verde online, X vermelho offline)
    • Controle de backlight com ícone de "lâmpada" no canto superior esquerdo
  • Renderização eficiente: a tela só é redesenhada quando o estado emocional muda

🔧 Hardware Necessário

  • Placa ESP32‑2432S028R (ou similar com display TFT integrado)
  • Sensor de umidade do solo (preferencialmente capacitivo)
  • Fios/Jumpers para conexão

💻 Software e Bibliotecas

  • IDE: Arduino IDE ou PlatformIO
  • Bibliotecas (Arduino): TFT_eSPI, XPT2046_Touchscreen, ArduinoJson
  • Inclusas com ESP32: WiFi.h, HTTPClient.h, WiFiClientSecure.h

⚙️ Configuração e Calibração

  1. Montagem do hardware

    • VCC do sensor → 3.3V ou 5V do ESP32
    • GND do sensor → GND do ESP32
    • Analógico (AOUT) → pino 35 do ESP32 (SOIL_SENSOR_PIN)
  2. Configuração de rede (no topo do arquivo .ino)

// ===================== CONFIGURAÇÃO DE REDE =====================
const char* ssid = "SEU_WIFI";           // <-- SSID
const char* password = "SUA_SENHA_AQUI"; // <-- SENHA
const char* apiEndpoint = "https://tech-planta-api.vercel.app/";
  1. Calibração do sensor (passo mais importante)
  • Carregue o código no ESP32 e abra o Monitor Serial (115200)
  • Valor SECO: sensor no ar (defina SENSOR_DRY_VALUE)
// Exemplo:
#define SENSOR_DRY_VALUE 4095 // Valor lido com o sensor no ar (seco)
  • Valor ÚMIDO: ponta do sensor em água/terra bem úmida (defina SENSOR_WET_VALUE)
// Exemplo:
#define SENSOR_WET_VALUE 1200 // Valor lido em terra bem úmida
  • Atualize os valores no início do .ino e recompile

📡 Detalhes da API

  • Endpoint: https://tech-planta-api.vercel.app/
  • Método: POST
  • Segurança (HTTPS): usa WiFiClientSecure com client.setInsecure() para permitir conexão sem verificação de certificado
  • Payload (JSON) enviado:
{
  "valor_unidade": 75,
  "situacao_atual": "Feliz"
}
  • Exemplo de situação adicional: "situacao_atual": "Monitorando"

🧭 Estrutura do Código

  • Bibliotecas e configurações: pinos, rede, API e calibração
  • setupWiFi(): conecta ao Wi‑Fi
  • sendDataToAPI(): formata e envia JSON ao endpoint
  • drawWifiStatusIcon(): ícone de status do Wi‑Fi
  • drawToggleButton(): ícone da lâmpada (toggle da tela)
  • toggleBacklight(): liga/desliga luz de fundo
  • drawEmotionFace(): desenha o rosto na tela
  • readSoilPercent(): lê o sensor e converte para porcentagem
  • setup(): inicializa hardware/Wi‑Fi e envia status inicial
  • loop(): verifica toque, lê sensor e checa Wi‑Fi

👤 Autor

Jefferson Carlos Lima

About

🪴 Monitor de umidade do solo para ESP32 que mostra o "humor" da sua planta com um rosto emotivo em pixel art num display TFT. Feito com as bibliotecas TFT_eSPI e XPT2046_Touchscreen em C++/Arduino.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages