PTENES
TRILHA 2 · INTERMEDIÁRIO

🧭 Robô autônomo

O rover da Trilha 1 ganha controle pelo celular, sentidos de posição e um cérebro de controle de verdade. Você liga Wi-Fi e BLE, mede giro e distância com IMU e encoders, domina o PID, roda várias tarefas ao mesmo tempo, registra tudo em gráficos e termina com um seguidor de linha com PID que você ajusta olhando os dados.

6
Módulos
36
Tópicos
Intermediário
Nível
ESP32 + IMU
Base do robô
0%
0 de 0 tópicos lidos nesta trilha
2.1celular 2.2posição 2.3PID 2.4tarefas 2.5dados 2.6seguidor azul: comandar, medir, controlar ciano: organizar e enxergar cada módulo funciona sozinho; o 2.3 (PID) é o que mais se reaproveita

Como ler: os três primeiros passos (azul) dão ao robô controle remoto, noção de onde está e a capacidade de chegar a um alvo sem oscilar. Os dois seguintes (ciano) organizam o código e mostram o que acontece por dentro. O último, com brilho, junta tudo no seguidor de linha. Já sabe Wi-Fi? Comece no 2.2.

🏁 O que você monta nesta trilha

O mesmo rover da Trilha 1, agora com encoders nas rodas, IMU e uma barra de sensores de linha embaixo. Pelo caminho ficam prontos: um controle por joystick no navegador do celular, um medidor de inclinação, a posição do robô em x, y e θ, duas rodas que andam na mesma velocidade, um registro de dados em cartão microSD e um painel ao vivo. No fim, o robô segue uma linha preta em curvas fechadas e cruzamentos, contra o cronômetro.

  • ✓Código ESP32 completo na API 3.x
  • ✓PID testável num motor simulado
  • ✓Parada segura quando o sinal cai
  • ✓Base direta para micro-ROS na Trilha 4

💡 Antes de começar

Você precisa do rover da 1.6 andando e de saber usar o Serial Monitor. O PID (2.3) e o código sem bloqueio (2.4) rodam no Wokwi; IMU e encoders pedem as peças do kit abaixo.

Mapa da trilha

Conteúdo detalhado

2.1
Prática
0%

📱 Controle pelo celular: Wi-Fi e BLE

Wi-Fi em modo estação e ponto de acesso, página com botões, WebSocket sem atraso, BLE com app genérico, watchdog de comando e um joystick no navegador para dirigir o rover.

O que é:

Os dois jeitos de o ESP32 usar o Wi-Fi: entrar na rede da casa ou criar a própria rede, com um sketch que tenta um e cai no outro.

Por que aprender:

Todo controle sem fio e toda telemetria começam aqui; o modo certo evita o robô que não conecta na feira.

Conceitos-chave:

STA · AP · endereço IP · 2,4 GHz.

O que é:

A biblioteca WebServer da 3.x servindo uma página com cinco botões que mandam comandos ao robô.

Por que aprender:

Qualquer celular vira controle, sem instalar app, e o mesmo servidor depois ajusta parâmetros.

Conceitos-chave:

Rota · pedido GET · handleClient · fetch.

O que é:

Um canal que fica aberto entre o navegador e o ESP32, levando comandos curtos nos dois sentidos.

Por que aprender:

Joystick e telemetria contínua precisam de pouco atraso; HTTP abre e fecha conexão a cada comando.

Conceitos-chave:

Latência · canal aberto · mão dupla · biblioteca WebSockets.

O que é:

Bluetooth de baixo consumo com a biblioteca BLE embutida no pacote esp32: um serviço, uma característica e um app genérico.

Por que aprender:

Funciona sem rede nenhuma e é o mesmo padrão de controles e sensores sem fio.

Conceitos-chave:

Serviço · característica · UUID · advertising.

O que é:

Senha na rede do robô e watchdog de comando: sem mensagem nova por 300 ms, o robô para sozinho.

Por que aprender:

Sinal cai; robô que continua no último "frente" bate. Falha segura é regra de todo robô real.

Conceitos-chave:

Watchdog · timeout · falha segura · velocidade máxima no robô.

O que é:

Sketch completo: ponto de acesso, página com joystick, WebSocket, mistura diferencial e watchdog, dirigindo o rover real.

Por que aprender:

É o modo manual que todo robô autônomo precisa para testes e resgates.

Conceitos-chave:

Mistura diferencial · pointer events · string crua · 10 envios por segundo.

Ver Completo
2.2
Fundamento
0%

🧭 IMU e encoders: saber onde está

Acelerômetro e giroscópio, a MPU-6050 lida direto pelos registradores, o filtro complementar, encoders em quadratura e a odometria em x, y e θ, com os erros que se acumulam.

O que é:

O chip que sente gravidade e giro em três eixos, e o ponto forte e o fraco de cada sensor.

Por que aprender:

Girar 90° certinho, sentir rampa e detectar tombo dependem dela.

Conceitos-chave:

g · °/s · integrar · deriva · MPU-6050 x ICM-20948.

O que é:

Quatro fios e um sketch que acorda o sensor e lê 14 bytes de aceleração e giro, sem biblioteca extra.

Por que aprender:

O mesmo roteiro serve para quase todo sensor I2C que você usar depois.

Conceitos-chave:

Registrador · endereço 0x68 · leitura em rajada · conversão de unidade.

O que é:

Juntar giroscópio (rápido, deriva) e acelerômetro (lento, ruidoso) numa inclinação estável, com três curvas no Serial Plotter.

Por que aprender:

É a fusão de sensores mais simples e a porta de entrada para o filtro de Kalman.

Conceitos-chave:

atan2 · offset do giroscópio · α = 0,98 · dt fixo.

O que é:

Disco ou ímã que vira pulsos; dois canais em quadratura dão o sentido; interrupção conta sem perder nenhum.

Por que aprender:

Velocidade real da roda é a entrada do PID e a base da odometria.

Conceitos-chave:

Pulsos por volta · quadratura · ISR com IRAM_ATTR · volatile.

O que é:

Cinco linhas de conta que somam o quanto cada roda andou e transformam isso em posição e direção.

Por que aprender:

Voltar à base e andar até um ponto exigem saber onde se está; é o que o micro-ROS publica na Trilha 4.

Conceitos-chave:

Pose · metros por pulso · distância entre rodas · radiano.

O que é:

Por que a posição estimada se afasta da real e a calibração em quatro passos que reduz o erro.

Por que aprender:

Mostra quando a odometria basta e quando o robô precisa de linha, câmera ou LiDAR para se corrigir.

Conceitos-chave:

Erro acumulado · erro sistemático · escorregamento · referência externa.

Ver Completo
2.3
Fundamento
0%

🎯 Controle PID na prática

Por que liga/desliga oscila, o papel de P, I e D, um PID completo testado num motor simulado, sintonia com método, anti-windup e duas rodas na mesma velocidade.

O que é:

O vaivém de quem só conhece "tudo ou nada" e a ideia de corrigir proporcionalmente ao erro.

Por que aprender:

É o problema que o PID resolve em carros, drones, impressoras 3D e braços.

Conceitos-chave:

Alvo · medida · erro · malha fechada.

O que é:

Volante proporcional, correção do vento constante e freio antes de passar: as três letras com uma analogia e três curvas.

Por que aprender:

Com o papel de cada ganho claro, você sintoniza lendo o gráfico, não no chute.

Conceitos-chave:

Kp · Ki · Kd · overshoot · erro em regime.

O que é:

Um PID completo a 100 Hz contra um motor simulado, com ganhos ajustáveis pelo Serial Monitor, rodando no Wokwi.

Por que aprender:

É a estrutura que você reaproveita no seguidor de linha e em todo controle depois.

Conceitos-chave:

Período fixo · micros() · planta simulada · Serial Plotter.

O que é:

A ordem P → I → D para ajustar na mão e a tabela de Ziegler-Nichols a partir do ganho crítico.

Por que aprender:

PID mal sintonizado oscila e esquenta motor; com método, poucos testes bastam.

Conceitos-chave:

Ku · Tu · um ganho por vez · teste no chão.

O que é:

As três armadilhas do PID real e as quatro linhas de código que as resolvem.

Por que aprender:

É a diferença entre o PID que funciona na simulação e o que funciona no robô.

Conceitos-chave:

Saturação · anti-windup · derivada da medida · passa-baixa.

O que é:

Um PI por roda, mesmo alvo em RPM, cada um lendo o próprio encoder: o rover anda reto.

Por que aprender:

Base estável para o seguidor de linha e para o /cmd_vel do ROS 2.

Conceitos-chave:

Um PID por roda · RPM medido · PI basta · zerar a integral ao parar.

Ver Completo
2.4
Prática
0%

🧵 Várias tarefas ao mesmo tempo

Por que delay() trava o robô, tarefas sem bloqueio com millis(), máquina de estados, FreeRTOS com tarefas nos dois núcleos, filas e semáforos e código organizado em arquivos e classes.

O que é:

O que acontece com sensores, PID e comunicação enquanto o programa está parado num delay().

Por que aprender:

Robô "cego" por meio segundo bate antes de perceber o obstáculo.

Conceitos-chave:

Código bloqueante · tempo de resposta · laço principal.

O que é:

Cada tarefa com o próprio relógio: ler sensor a cada 20 ms, piscar LED a cada 500 ms, mandar telemetria a cada 100 ms.

Por que aprender:

É o jeito mais simples de fazer várias coisas "ao mesmo tempo" num só laço.

Conceitos-chave:

Tarefa periódica · estouro do millis() · agendador cooperativo.

O que é:

Estados, eventos e transições desenhados antes do código, com ações de entrada e saída.

Por que aprender:

Comportamento complexo sem ninho de if; fácil de testar e de mudar.

Conceitos-chave:

Estado · evento · transição · enum class.

O que é:

O sistema de tempo real que já roda dentro do ESP32: criar tarefas com prioridade e escolher o núcleo de cada uma.

Por que aprender:

O controle dos motores fica em dia mesmo com Wi-Fi e telemetria ocupando o processador.

Conceitos-chave:

Tarefa · prioridade · núcleo · vTaskDelayUntil.

O que é:

Como uma tarefa passa dados para outra com segurança, sem duas mexerem na mesma variável ao mesmo tempo.

Por que aprender:

Evita os erros mais difíceis de achar: valores corrompidos que aparecem uma vez por hora.

Conceitos-chave:

Fila · mutex · semáforo · condição de corrida.

O que é:

Separar motores, sensores e controle em abas .h/.cpp e classes pequenas dentro do sketch.

Por que aprender:

O seguidor do 2.6 e o robô da Trilha 3 crescem sem virar um arquivo de mil linhas.

Conceitos-chave:

Classe · cabeçalho .h · responsabilidade única · reaproveitamento.

Ver Completo
2.5
Prática
0%

📈 Telemetria e registro de dados

O que medir e com que frequência, gráfico ao vivo no Serial Plotter, log em CSV no cartão microSD, MQTT pela rede, painel no navegador ou no Node-RED/Grafana e análise em Python.

O que é:

Escolher as variáveis que explicam o comportamento do robô e a taxa certa para cada uma.

Por que aprender:

Medir tudo afoga o processador; medir pouco não explica a falha.

Conceitos-chave:

Taxa de amostragem · carimbo de tempo · variável de estado.

O que é:

O formato "nome:valor" que a Arduino IDE 2 transforma em curvas, com várias variáveis juntas.

Por que aprender:

É a ferramenta mais rápida para sintonizar PID e achar ruído.

Conceitos-chave:

Rótulo · escala · janela de tempo.

O que é:

Registrar os dados num arquivo de texto separado por vírgulas, sem cabo, com o robô andando de verdade.

Por que aprender:

O robô longe do computador também precisa contar o que aconteceu.

Conceitos-chave:

SPI · arquivo CSV · flush · cartão FAT32.

O que é:

O protocolo leve de publicar e assinar mensagens por tópicos, com um broker no PC ou no Raspberry Pi.

Por que aprender:

Vários robôs e painéis conversam pelo mesmo canal; é a ideia que o ROS 2 amplia.

Conceitos-chave:

Broker · tópico · publicar · assinar.

O que é:

Ver a telemetria em tempo real: página servida pelo próprio ESP32 ou painel montado no Node-RED ou no Grafana.

Por que aprender:

Mostrar o robô "por dentro" ajuda a depurar e a apresentar o projeto.

Conceitos-chave:

Painel · série temporal · WebSocket · indicador.

O que é:

Abrir o CSV no computador, calcular médias e erros e desenhar o gráfico de antes e depois.

Por que aprender:

Decidir com números se o ajuste melhorou o robô, não pela impressão.

Conceitos-chave:

pandas · DataFrame · matplotlib · comparação antes/depois.

Ver Completo
2.6
Projeto
0%

🏁 Projeto: seguidor de linha com PID

Pista e barra de sensores, erro da linha por média ponderada, PID de direção sobre a velocidade base, calibração automática, ajuste por telemetria e desafios contra o cronômetro.

O que é:

Montar uma pista com fita isolante preta e posicionar a barra de 5 sensores IR na altura certa.

Por que aprender:

Altura e espaçamento dos sensores decidem metade do desempenho do seguidor.

Conceitos-chave:

TCRT5000 / QTR · altura do sensor · contraste da pista.

O que é:

Transformar cinco leituras num único número: a posição da linha em relação ao centro do robô.

Por que aprender:

Erro contínuo, e não "esquerda/direita", é o que permite um PID suave.

Conceitos-chave:

Média ponderada · posição da linha · linha perdida.

O que é:

A correção do PID somada a uma roda e subtraída da outra, sobre uma velocidade base.

Por que aprender:

É a arquitetura de quase todo seguidor de competição.

Conceitos-chave:

Velocidade base · correção · saturação por roda.

O que é:

O robô gira sobre a linha nos primeiros segundos e aprende o mínimo e o máximo de cada sensor.

Por que aprender:

Luz ambiente e pista mudam de lugar para lugar; calibrar na hora evita refazer o código.

Conceitos-chave:

Mínimo e máximo · normalização · EEPROM/Preferences.

O que é:

Gravar o erro da linha numa volta, mudar um ganho, gravar de novo e comparar os gráficos.

Por que aprender:

Transforma "parece melhor" em "o erro médio caiu pela metade".

Conceitos-chave:

Erro médio · tempo de volta · um ajuste por vez.

O que é:

Pistas mais difíceis, como reconhecer cruzamento e linha perdida, e cronometrar a volta.

Por que aprender:

Prepara para competições como a OBR e para o robô com visão da Trilha 3.

Conceitos-chave:

Velocidade adaptativa · memória do último erro · volta cronometrada.

Ver Completo

📌 Mapa de pinos da trilha

Toda a Trilha 2 usa o mesmo mapa. Ele muda um pouco em relação ao rover da Trilha 1: o motor direito sai dos pinos 33/32/4 e vai para 14/16/17, e o STBY do driver passa a ficar ligado direto no 3V3. Assim sobram pinos do ADC1 para os sensores de linha e os pinos 18/19 para os encoders ou para o microSD.

PeçaPino do ESP32Módulos
Motor esquerdo (TB6612FNG)PWMA 25, AIN1 26, AIN2 272.1, 2.3, 2.4, 2.6
Motor direitoPWMB 14, BIN1 16, BIN2 172.1, 2.3, 2.4, 2.6
STBY do driver3V3todos
Encodersesquerdo 18/19, direito 34/352.2, 2.3
HC-SR04TRIG 13, ECHO 4 (divisor para 3,3 V)2.4
microSDCS 5, SCK 18, MISO 19, MOSI 232.5, 2.6
Sensores de linha36, 39, 34, 35, 32 (só ADC1)2.6

✗ O que não liga junto

Encoders e microSD disputam os pinos 18 e 19, e o encoder direito usa 34/35, que também são sensores de linha. Por isso cada projeto liga só o que usa: o PID do 2.3 usa encoders sem microSD; o seguidor do 2.6 usa sensores e microSD sem encoders.

🧰 Kit da trilha

Peças a somar ao rover da Trilha 1. Faixa aproximada de R$ 150 a R$ 350 pelo conjunto extra (out/2026, confira antes de comprar: varia por loja, frete e câmbio).

🧭 IMU

Módulo MPU-6050 (GY-521), o mais barato e documentado. Alternativa com bússola: ICM-20948 (9 eixos), mais caro.

⚙️ Motores com encoder

Par de motores N20 com encoder magnético (dois canais) e rodas, ou os motores TT da T1 com disco de encoder e sensor óptico.

〰️ Sensores de linha

Barra de 5 sensores infravermelhos (TCRT5000) ou barra QTR, com saída analógica, para o seguidor do 2.6.

💾 Registro

Módulo leitor de cartão microSD (SPI, 3,3 V) e um cartão de 8 a 32 GB formatado em FAT32.

🖥️ Opcional

Display OLED SSD1306 (I2C, 0,96") para mostrar estado, ganhos e tempo de volta no próprio robô.

🏁 Pista

Fita isolante preta de 19 mm sobre cartolina branca, MDF claro ou piso liso.

✓ Vale a pena

Encoders de dois canais (dão o sentido do giro) e rodas de borracha firme, que escorregam menos e deixam a odometria mais confiável.

✗ Não compre para esta trilha

Sensores de linha digitais de um só bit (só dizem "linha sim/não") e módulos de IMU de 5 V sem regulador.