- C++ 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| fliperama.ino | ||
| README.md | ||
Fliperama Wi-Fi com ESP32
O ESP32 cria uma rede Wi-Fi própria. Os alunos se conectam pelo celular e escolhem uma "máquina de fliperama". Cada máquina é uma página com 1 ou 2 botões, e cada botão aciona um relé.
Celular do aluno --Wi-Fi--> ESP32 (página web) --fios--> Placas de relé
Material
- 1 ESP32 (DevKit / "ESP32 Dev Module")
- 1 placa de 4 relés + 1 placa de 8 relés (5 V, do tipo comum para Arduino)
- Fonte de 5 V para os relés (2 A ou mais é o ideal)
- Jumpers
Ligações
| Relé | Placa | Entrada da placa | Pino do ESP32 |
|---|---|---|---|
| 1 | 4 relés | IN1 | GPIO 16 |
| 2 | 4 relés | IN2 | GPIO 17 |
| 3 | 4 relés | IN3 | GPIO 18 |
| 4 | 4 relés | IN4 | GPIO 19 |
| 5 | 8 relés | IN1 | GPIO 21 |
| 6 | 8 relés | IN2 | GPIO 22 |
| 7 | 8 relés | IN3 | GPIO 23 |
| 8 | 8 relés | IN4 | GPIO 25 |
| 9 | 8 relés | IN5 | GPIO 26 |
| 10 | 8 relés | IN6 | GPIO 27 |
| 11 | 8 relés | IN7 | GPIO 32 |
| 12 | 8 relés | IN8 | GPIO 33 |
Se a sua montagem já usa outros pinos, não precisa refazer os fios: é só
mudar a lista pinosReles no começo do programa.
Alimentação:
- VCC das placas de relé → 5 V da fonte
- GND das placas de relé → GND da fonte e GND do ESP32 (o GND precisa ser comum!)
- Não alimente as 12 bobinas pelo pino 3V3 do ESP32: ele não aguenta a corrente.
Pinos que foram evitados de propósito: 0, 2, 12 e 15 (mexem no boot do ESP32), 6 a 11 (memória flash) e 34 a 39 (só funcionam como entrada). Em placas com módulo WROVER, os pinos 16 e 17 são usados pela memória PSRAM. Nesse caso, troque por 4 e 13, por exemplo.
Gravando no ESP32
- Instale a Arduino IDE.
- Em Arquivo → Preferências, no campo "URLs adicionais para Gerenciadores de Placas", cole:
https://espressif.github.io/arduino-esp32/package_esp32_index.json - Em Ferramentas → Placa → Gerenciador de Placas, procure por esp32 (da Espressif) e instale.
- Abra o arquivo
fliperama.ino. - Em Ferramentas → Placa, escolha ESP32 Dev Module e selecione a porta COM.
- Clique em Carregar (a setinha). Se ficar parado em "Connecting...", segure o botão BOOT do ESP32 até começar a gravar.
Não é preciso instalar nenhuma biblioteca extra. WiFi.h e WebServer.h já
vêm com o pacote do ESP32.
Usando
- No celular, conecte na rede FLIPERAMA (senha 12345678).
- Abra o navegador e digite http://192.168.4.1
- Escolha a máquina e jogue!
No Monitor Serial (115200 baud) aparece cada botão apertado, por exemplo:
Botao ESQUERDO -> rele 1 LIGADO.
Personalizando
Quase tudo fica na parte CONFIGURAÇÕES do programa.
A tabela de botões
// máquina texto relé tipo tempo cor formato
{ 1, "ESQUERDO", 1, PULSO, 500, "#e74c3c", "redondo" },
{ 1, "DIREITO", 2, PULSO, 500, "#e74c3c", "redondo" },
| Coluna | O que é |
|---|---|
| máquina | Em qual página o botão aparece. Repita o número para ter 2 botões na mesma página |
| texto | O que vai escrito no botão |
| relé | Qual relé ele aciona (1 a 12) |
| tipo | PULSO (liga e desliga sozinho, o flipper) ou LIGA_DESLIGA (cada toque inverte) |
| tempo | Só para PULSO: quanto tempo o relé fica ligado, em milissegundos (1000 = 1 s) |
| cor | Nome em inglês ("red", "blue") ou código ("#ff0000") |
| formato | "redondo" ou "quadrado" |
Exemplos:
- Flipper mais longo: mude o tempo de
500para1500(1,5 segundo). - Botão que fica ligado: troque
PULSOporLIGA_DESLIGA. - Nova máquina: adicione um nome em
nomesMaquinase linhas com o novo número na tabela de botões. - Novo formato de botão: crie uma classe no CSS (ex.:
.losango { ... }) e use"losango"na coluna formato.
Outras configurações
NOME_REDEeSENHA_REDE: nome e senha do Wi-Fi (a senha precisa ter 8 caracteres ou mais).RELE_ATIVO_EM_LOW: troque parafalsese os relés funcionarem ao contrário.ESTILO_CSS: cores de fundo, tamanho dos botões, sombras, efeito de apertar...
Problemas comuns
| Problema | Solução |
|---|---|
| Todos os relés ligam quando o ESP32 inicia | Troque RELE_ATIVO_EM_LOW para false |
| A página não abre | Digite http:// antes do endereço. No Android, desligue os dados móveis ou, quando aparecer "Esta rede não tem acesso à internet", escolha manter a conexão |
| A rede FLIPERAMA não aparece | A senha precisa ter pelo menos 8 caracteres |
| O ESP32 reinicia quando vários relés ligam | A fonte está fraca. Use uma fonte de 5 V separada para os relés |
| Mais de 10 alunos não conseguem conectar | É o limite do ESP32 no modo AP |
| O relé estala mas o botão não muda de cor | Atualize a página no celular |
Ideias para depois
- Botão do tipo "segurar" (fica ligado só enquanto o dedo está na tela)
- Abrir a página sozinha ao conectar no Wi-Fi (portal cativo, com a biblioteca
DNSServer) - Placar de pontos usando sensores ligados ao ESP32
- Sons no celular quando o botão é apertado