Referências e Links para o Wokwi
Como criar um projeto no Wokwi
- Acesse wokwi.com
- Clique em New Project
- Selecione ESP32 → MicroPython
- Monte o circuito na aba Diagram
- Cole o código na aba main.py
- Clique em Play para simular
Mapeamento de pinos por aula
ESP32 (principal)
| Função | GPIO | Aulas |
|---|---|---|
| LED0 — bit 0 | 2 | 1, 2, 3, 4, 6, 7, 8 |
| LED1 — bit 1 | 4 | 2, 3, 4, 6, 8 |
| LED2 — bit 2 | 5 | 3, 4, 6, 8 |
| LED3 — bit 3 | 18 | 3, 4, 6, 8 |
| Botão A (único) | 4 | 1 |
| Botão A (dois botões) | 13 | 2, 5, 6 |
| Botão B | 14 | 2, 6 |
| LED Verde (semáforo) | 2 | 5 |
| LED Amarelo (semáforo) | 4 | 5 |
| LED Vermelho (semáforo) | 5 | 5 |
| Botão semáforo | 13 | 5 |
| UART1 TX (loopback) | 4 | 7, 8 |
| UART1 RX (loopback) | 5 | 7, 8 |
| UART2 TX (loopback) | 17 | 7, 8 |
| UART2 RX (loopback) | 16 | 7, 8 |
| LED (loopback aula 7) | 2 | 7 |
| Botão (loopback aula 7) | 13 | 7 |
Raspberry Pi Pico (alternativa)
| Função | GPIO |
|---|---|
| LED0 | 0 |
| LED1 | 1 |
| LED2 | 2 |
| LED3 | 3 |
| Botão A | 14 |
| Botão B | 15 |
| UART0 TX | 0 |
| UART0 RX | 1 |
Para o Pico, selecione Raspberry Pi Pico ao criar o projeto no Wokwi. O código MicroPython é idêntico — ajuste apenas os números dos pinos conforme a tabela acima.
Templates de circuito por aula
Atenção: os templates abaixo são pontos de partida. Os
diagram.jsonvalidados pelo professor estão dentro de cada arquivo de aula — use-os preferencialmente.
Aulas 1 e 2 — 1 LED + 1 ou 2 botões
{
"version": 1,
"author": "RMB - Mini Curso Embarcados",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-led", "id": "led1", "top": 100, "left": 200, "attrs": { "color": "red" } },
{ "type": "wokwi-resistor", "id": "r1", "top": 140, "left": 200, "attrs": { "value": "220" } },
{ "type": "wokwi-pushbutton", "id": "btn1", "top": 100, "left": 350, "attrs": {} },
{ "type": "wokwi-resistor", "id": "r2", "top": 140, "left": 350, "attrs": { "value": "10000" } }
],
"connections": [
["esp:2", "r1:1", "green", []],
["r1:2", "led1:A", "green", []],
["led1:K", "esp:GND.1","black", []],
["esp:4", "btn1:1.l", "blue", []],
["btn1:2.l","esp:3V3", "red", []],
["btn1:1.l","r2:1", "blue", []],
["r2:2", "esp:GND.1","black", []]
]
}
Aulas 3 e 4 — 4 LEDs
{
"version": 1,
"author": "RMB - Mini Curso Embarcados",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-led", "id": "led0", "top": 80, "left": 250, "attrs": { "color": "red" } },
{ "type": "wokwi-led", "id": "led1", "top": 80, "left": 290, "attrs": { "color": "yellow" } },
{ "type": "wokwi-led", "id": "led2", "top": 80, "left": 330, "attrs": { "color": "green" } },
{ "type": "wokwi-led", "id": "led3", "top": 80, "left": 370, "attrs": { "color": "blue" } },
{ "type": "wokwi-resistor", "id": "r0", "top": 120, "left": 250, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r1", "top": 120, "left": 290, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r2", "top": 120, "left": 330, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r3", "top": 120, "left": 370, "attrs": { "value": "220" } }
],
"connections": [
["esp:2", "r0:1", "green", []], ["r0:2", "led0:A", "green", []], ["led0:K", "esp:GND.1", "black", []],
["esp:4", "r1:1", "green", []], ["r1:2", "led1:A", "green", []], ["led1:K", "esp:GND.1", "black", []],
["esp:5", "r2:1", "green", []], ["r2:2", "led2:A", "green", []], ["led2:K", "esp:GND.1", "black", []],
["esp:18", "r3:1", "green", []], ["r3:2", "led3:A", "green", []], ["led3:K", "esp:GND.1", "black", []]
]
}
Aula 5 — Semáforo (diagram.json validado — use o da própria aula)
O
diagram.jsonvalidado está em Aula 5. Projeto Wokwi: https://wokwi.com/projects/462409529242615809
Aula 6 — 4 LEDs + 2 botões (flags)
{
"version": 1,
"author": "RMB - Mini Curso Embarcados",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-led", "id": "led0", "top": 80, "left": 250, "attrs": { "color": "green" } },
{ "type": "wokwi-led", "id": "led1", "top": 80, "left": 290, "attrs": { "color": "blue" } },
{ "type": "wokwi-led", "id": "led2", "top": 80, "left": 330, "attrs": { "color": "yellow" } },
{ "type": "wokwi-led", "id": "led3", "top": 80, "left": 370, "attrs": { "color": "red" } },
{ "type": "wokwi-resistor", "id": "r0", "top": 120, "left": 250, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r1", "top": 120, "left": 290, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r2", "top": 120, "left": 330, "attrs": { "value": "220" } },
{ "type": "wokwi-resistor", "id": "r3", "top": 120, "left": 370, "attrs": { "value": "220" } },
{ "type": "wokwi-pushbutton", "id": "btnL", "top": 180, "left": 250, "attrs": { "color": "green" } },
{ "type": "wokwi-pushbutton", "id": "btnT", "top": 180, "left": 340, "attrs": { "color": "yellow" } },
{ "type": "wokwi-resistor", "id": "rpL", "top": 220, "left": 210, "attrs": { "value": "10000" } },
{ "type": "wokwi-resistor", "id": "rpT", "top": 220, "left": 300, "attrs": { "value": "10000" } }
],
"connections": [
["esp:2", "r0:1", "green", []], ["r0:2", "led0:A", "green", []], ["led0:K", "esp:GND.1", "black", []],
["esp:4", "r1:1", "blue", []], ["r1:2", "led1:A", "blue", []], ["led1:K", "esp:GND.1", "black", []],
["esp:5", "r2:1", "yellow", []], ["r2:2", "led2:A", "yellow", []], ["led2:K", "esp:GND.1", "black", []],
["esp:18", "r3:1", "red", []], ["r3:2", "led3:A", "red", []], ["led3:K", "esp:GND.1", "black", []],
["esp:13", "btnL:1.l", "green", []], ["btnL:2.l", "esp:3V3", "red", []], ["btnL:1.l", "rpL:1", "green", []], ["rpL:2", "esp:GND.1", "black", []],
["esp:14", "btnT:1.l", "yellow", []], ["btnT:2.l", "esp:3V3", "red", []], ["btnT:1.l", "rpT:1", "yellow", []], ["rpT:2", "esp:GND.1", "black", []]
]
}
Aulas 7 e 8 — Loopback UART (diagram.json validado — use o da própria aula)
O
diagram.jsonvalidado da Aula 7 está em Aula 7. Projeto Wokwi: https://wokwi.com/projects/462409529242615809
Esquema do loopback interno para referência:
UART1 TX (GPIO 4) ──────► UART2 RX (GPIO 16)
UART2 TX (GPIO 17) ──────► UART1 RX (GPIO 5)
UART0 ──────► $serialMonitor (monitor serial — não usar para dados)
Restrições importantes do Wokwi
| Situação | Problema | Solução |
|---|---|---|
| Comunicação serial | UART0 reservada ao monitor | Usar UART1 + UART2 em loopback |
| Leitura serial no terminal | uart.any() falha com UART0 |
Usar input() |
| Circuitos gerados automaticamente | Conexões frequentemente incompletas | Validar no Wokwi antes de publicar |