Fórmula RPS: Carrinho de Corrida com Arduino Nano e Joystick PS2
Um carrinho de corrida com direção de verdade — caixa de direção com servo motor — controlado por um joystick de PS2 sem fio. Feito para as atividades da Robótica Paula Souza e para quem quer aprender robótica montando, dirigindo e, claro, batendo um pouquinho.
Visão geral
O Fórmula RPS é um projeto de Arduino Nano — e não de ESP32 — documentado com o mesmo padrão dos outros projetos do Tio Rafa: hardware primeiro, depois pinagem, código, teste e resultado esperado. Um joystick de PS2 sem fio comanda os motores de tração e o servo da direção: botão X para frente, Círculo para ré, e o analógico esquerdo gira a caixa de direção para a esquerda ou para a direita.
Se o controle não for encontrado, os motores ficam parados, a direção volta ao centro, e o Arduino tenta reconectar a cada 2 segundos.
Lista de peças
Todas as peças são encontradas na Mamute Eletrônica, inclusive a caixa de direção com servo motor.
- 1 Arduino Nano V3.0 — cérebro do carrinho
- 1 ponte H L298N — aciona os dois motores de tração
- 2 motores com caixa de redução e roda — tração
- 1 caixa de direção com servo motor — ligado ao pino D2
- 1 receptor de joystick PS2 sem fio — ligado nos pinos D10 a D13
- 1 controle de PS2 sem fio — par do receptor
- 1 suporte de baterias 18650 (3 células)
- Baterias 18650, conforme o suporte
- 1 chave liga/desliga, em série com a alimentação
- Chassi de acrílico, rodas e ferragens
- Peças da Mamute Conecta — montagem da carroceria e do parachoque
- Fios jumper
Hardware e pinagem
Pinagem conferida entre o código e o esquema do Cirkit Designer.
Ponte H L298N
- IN1 → D3 (PWM)
- IN2 → D5 (PWM)
- IN3 → D6 (PWM)
- IN4 → D9
Sentido de giro usado no código: frente (X) liga PWM em IN2 e IN3; ré (Círculo) liga PWM em IN1 e IN4; parado deixa todos em LOW.
Servo da direção
Sinal do servo no pino D2. Ângulos: esquerda 60°, centro 90°, direita 120° — ajustáveis em leftPos, centerPos e rightPos no código, conforme o seu carrinho.
Receptor do joystick PS2
- DAT (fio laranja) → D13 →
PS2_DAT - CMD (fio amarelo) → D12 →
PS2_CMD - CS / SEL (fio verde) → D10 →
PS2_SEL - CLK (fio azul) → D11 →
PS2_CLK - VCC (fio vermelho) → 5V
- GND (fio preto) → GND
Alimentação
Todos os GNDs são comuns. Confira no seu módulo se o jumper do regulador de 5V do L298N está colocado, e se a tensão do pacote de baterias está dentro do que o L298N aceita.
Bibliotecas
Servo— já vem com a Arduino IDE, controla o servo da direçãoPS2X_lib— lê o controle de PS2 (licença GPL v3), disponível no repositório do projeto
Como instalar e gravar
- Instale a Arduino IDE.
- Instale a
PS2X_lib: Sketch, Incluir Biblioteca, Adicionar Biblioteca .ZIP, e escolha o arquivoPS2X_lib.zipda pastalibs/do repositório. - Abra
firmware/FormulaRPS/FormulaRPS.ino. - Em Ferramentas, selecione a placa Arduino Nano e a porta USB correta. No processador, escolha entre ATmega328P e ATmega328P (Old Bootloader) conforme o seu Nano — se o upload falhar com um, tente o outro.
- Faça o upload.
- Abra o Monitor Serial em 57600 baud.
Como usar
- Monte tudo conforme o esquema e ligue a chave.
- Ligue o controle de PS2 — ele precisa ser o par do receptor.
- No Monitor Serial deve aparecer: "Controle PS2 sem fio encontrado e configurado com sucesso".
- Analógico esquerdo para a esquerda: direção para a esquerda. Para a direita: direção para a direita.
- Botão X (Cross): anda para frente. Botão Círculo: anda de ré.
O limite do analógico é: menor que 100 vira esquerda, maior que 150 vira direita, entre os dois fica no centro.
Pontos de atenção
- PWM nos pinos 9 e 10 com a biblioteca Servo: no Arduino Nano, a biblioteca Servo usa o mesmo timer do PWM dos pinos 9 e 10. Hoje a velocidade máxima liga o pino direto, então funciona — mas para velocidade variável, vale mover uma linha do receptor PS2 para outro pino.
- Reconexão bloqueante: quando o controle não é encontrado, o código espera 2 segundos antes de tentar de novo, e nesse tempo o carrinho não responde a nada.
- Alimentação: motores geram ruído e queda de tensão. Se o Nano reiniciar quando o carrinho acelera, olhe a alimentação antes de mexer no código.
O projeto no GitHub
O Fórmula RPS está no GitHub com o código completo, o esquema de ligação, a biblioteca PS2X_lib e um README detalhado com hardware, pinagem, lista de peças, passo a passo de gravação e pontos de atenção.
Quer montar o seu Fórmula RPS?
Todas as peças, inclusive a caixa de direção com servo motor, estão disponíveis na Mamute Eletrônica. O código completo e o passo a passo de montagem estão no repositório do projeto no GitHub.