← Voltar ao Dashboard

🔧 Guia de Configuração do ESP32

Aprenda a configurar seu hardware e software para o Polígrafo funcionar perfeitamente

📦 1. Hardware Necessário

🎯 Componentes Principais

  • ESP32 Dev Board
  • Sensor GSR (Grove)
  • Sensor de Batimentos Cardíacos
  • Cabos Jumpers (Fêmea-Fêmea)
  • Protoboard (opcional)
  • Fonte USB para ESP32

🔌 Conexões Elétricas

SensorPino ESP32
GSR VCC3.3V
GSR GNDGND
GSR SIGGPIO 34
Pulse VCC3.3V
Pulse GNDGND
Pulse SIGGPIO 35
Atenção: O ESP32 funciona com 3.3V. Não conecte sensores de 5V diretamente nas portas GPIO!

💻 2. Configuração do Software (Arduino IDE)

1

Instalar suporte ao ESP32

Abra o Arduino IDE e vá em Arquivo → Preferências. Adicione a URL abaixo:

URL do Board Manager
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Depois vá em Ferramentas → Placa → Gerenciador de Placas e instale "ESP32 by Espressif Systems".

2

Instalar Bibliotecas Necessárias

Vá em Ferramentas → Gerenciar Bibliotecas e instale:

  • WebSockets por Markus Sattler
  • ArduinoJson por Benoit Blanchon (versão 6.x)
3

Código Completo para o ESP32

Copie e cole este código no Arduino IDE:

esp32_polygraph.ino
// ===== CONFIGURAÇÕES =====
#include <WiFi.h>
#include <WebSocketsServer.h>
#include <ArduinoJson.h>

const char* ssid = "SEU_WIFI";
const char* password = "SUA_SENHA";

const int GSR_PIN = 34;
const int PULSE_PIN = 35;
const int SAMPLES = 10;
const int READ_DELAY = 50;

WebSocketsServer webSocket = WebSocketsServer(81);

void setup() {
  Serial.begin(115200);
  
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("\n✅ WiFi conectado!");
  webSocket.begin();
  webSocket.onEvent(webSocketEvent);
  
  analogReadResolution(12);
  analogSetAttenuation(ADC_11db);
}

void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) {
  if(type == WStype_CONNECTED) {
    Serial.printf("📱 Cliente %u conectado!\n", num);
  }
}

int readSensor(int pin) {
  long sum = 0;
  for(int i = 0; i < SAMPLES; i++) {
    sum += analogRead(pin);
    delay(READ_DELAY / SAMPLES);
  }
  return sum / SAMPLES;
}

void loop() {
  webSocket.loop();
  
  int rawGSR = readSensor(GSR_PIN);
  int rawPulse = readSensor(PULSE_PIN);
  
  int gsrValue = map(rawGSR, 0, 4095, 0, 100);
  int pulseValue = map(rawPulse, 0, 4095, 40, 180);
  
  StaticJsonDocument<200> doc;
  doc["gsr"] = gsrValue;
  doc["pulse"] = pulseValue;
  doc["timestamp"] = millis();
  
  String output;
  serializeJson(doc, output);
  webSocket.broadcastTXT(output);
  
  delay(200);
}
4

Configurar e Carregar

  1. Substitua SEU_WIFI e SUA_SENHA pelos dados da sua rede
  2. Selecione: Ferramentas → Placa → ESP32 → ESP32 Dev Module
  3. Selecione a porta USB correta
  4. Clique em Upload (→)
Após o upload: Abra o Serial Monitor (115200 baud) para ver o IP do ESP32

📡 3. Métodos de Conexão

🌐 Opção 1: WiFi (Recomendado)

O ESP32 cria um WebSocket na porta 81. No dashboard, clique no status e escolha "WiFi (WebSocket)". O sistema conectará automaticamente no IP do ESP32.

🔷 Opção 2: Bluetooth (Alternativo)

Acesse a página connect_ble.php e pareie com o ESP32. Requer navegador Chrome/Edge com Web Bluetooth API.

💻 Opção 3: Modo Simulação

Sem hardware, o sistema gera dados fictícios realistas para testes da interface e validação do fluxo.

🐛 4. Solução de Problemas

❌ ESP32 não conecta ao WiFi
  • Verifique SSID e senha (case sensitive)
  • Use apenas rede 2.4GHz (ESP32 não suporta 5GHz)
  • Reinicie roteador e ESP32
  • Verifique se há caracteres especiais no nome da rede
❌ Leituras dos sensores instáveis
  • Verifique conexões dos jumpers (solda ajuda)
  • Aumente SAMPLES no código para 20-30
  • Mantenha sensores firmes na pele
  • Evite movimento excessivo durante leitura
❌ WebSocket não conecta
  • ESP32 e PC devem estar na mesma rede
  • Desabilite firewall temporariamente para teste
  • Tente acessar via IP direto: http://[IP]:81
  • Verifique se a porta 81 não está bloqueada
❌ Erro ao carregar código no ESP32
  • Instale driver USB correto (CP210x ou CH340)
  • Segure botão BOOT durante upload se necessário
  • Troque cabo USB e porta do computador
  • Reinicie Arduino IDE após instalar bibliotecas

📊 5. Teste Rápido

✅ Checklist de funcionamento:
  1. Após carregar o código, abra o Serial Monitor
  2. Você deve ver "GSR: XX | Pulse: XX" a cada ~200ms
  3. Toque nos sensores para ver os valores mudarem
  4. No dashboard, conecte via WiFi e veja os gráficos em tempo real
📌 Dicas para leituras precisas:
  • O sensor GSR precisa de contato firme com a pele (dedos limpos)
  • Limpe os dedos com álcool antes de usar para melhor condutividade
  • O sensor de batimentos pode levar 10-15 segundos para estabilizar
  • Mantenha o ESP32 longe de fontes de interferência eletromagnética

🆘 6. Suporte Adicional

Se ainda tiver problemas, verifique estes recursos: