Projetos

ESP HAND CONTROL: a Luva que Dirige um Carrinho pelo Ar

Uma luva com ESP32 e um sensor MPU6050 que percebe a inclinação da sua mão e comanda um carrinho de duas rodas — sem roteador, sem celular e sem internet. Dois ESP32 conversando por ESP-NOW, o protocolo da Espressif para placas trocarem pacotes diretamente.

Kit Projeto ESP-HAND CONTROL, do Prof. Rafael Oliveira, com o carrinho de duas rodas e a luva com ESP32 e MPU6050

Visão geral

O ESP HAND CONTROL tem duas partes. A luva (transmissor) carrega um ESP32 e um sensor MPU6050 que mede a inclinação da mão. O carro (receptor) carrega outro ESP32, uma ponte H L298N e dois motores. A luva manda ao carro, 50 vezes por segundo, dois números: quanto acelerar e quanto virar.

  • Dedos para baixo: o carro vai para a frente. Dedos para cima: ré.
  • Mão inclinada para os lados: o carro vira.
  • Quanto mais você inclina, mais rápido ele vai (modo proporcional).
  • Se o sinal da luva some por 400 ms, o carro para sozinho.

A versão 2.0 é uma reescrita do projeto original: código comentado, cinco sketches de teste em ordem, pacote de rádio validado e manual com interlúdios filosóficos.

Carrinho do kit ESP HAND CONTROL, com chassi de acrílico, dois motores amarelos, ponte H L298N, ESP32 e suporte de duas baterias 18650 Luva do kit ESP HAND CONTROL, com ESP32 e sensor MPU6050 em uma mini protoboard e bateria de 9 V com conector

Kit na Mamute Eletrônica

O projeto tem kit à venda na Mamute Eletrônica, com o carrinho e a luva.

Nas fotos da página do kit aparecem:

  • Carro: chassi de acrílico, dois motores amarelos com roda, ponte H L298N, ESP32 DevKit, suporte para duas baterias 18650 e um módulo carregador.
  • Luva: ESP32 DevKit, sensor MPU6050 em uma mini protoboard e bateria de 9 V com conector.

A lista oficial de itens fica na página da loja: confira lá antes de comprar. Sem o kit, dá para montar com peças avulsas ou recicladas — o importante é manter a ponte H, o GND comum e a alimentação do sensor em 3V3.

Ver o Kit Projeto Esp-Hand Control na Mamute Eletrônica

Hardware e pinagem

Pinos do ESP32 clássico (o das fotos do kit). A versão 2.0 também aceita o ESP32-C3 Mini, com outros pinos, descritos no repositório.

Luva

  • MPU6050 VCC → 3V3 (nunca 5V)
  • MPU6050 GND → GND
  • MPU6050 SDA → GPIO21
  • MPU6050 SCL → GPIO22
  • Botão: o botão BOOT da própria placa (GPIO0), que trava, destrava e recalibra
  • LED de estado: GPIO2 (o LED azul de muitas placas)

Carro: ponte H L298N

  • IN1 → GPIO26 (motor direito)
  • IN2 → GPIO27 (motor direito)
  • IN3 → GPIO14 (motor esquerdo)
  • IN4 → GPIO12 (motor esquerdo)
  • GND do ESP32 ligado ao GND do L298N

Os jumpers ENA e ENB do L298N ficam colocados: a velocidade vem do PWM nos pinos IN.

Alimentação

As baterias dos motores entram no L298N, e o GND de tudo é comum. Motores geram ruído e queda de tensão: se o ESP32 reiniciar quando o carrinho acelera, olhe a alimentação antes de mexer no código. Confira no seu módulo L298N a tensão de entrada aceita.

Como instalar e gravar

  • Instale a Arduino IDE e o pacote esp32 by Espressif Systems (core 2.x ou 3.x).
  • Passo 1: grave Passo1_Descobrir_MAC na placa do carro e anote o endereço MAC.
  • Passo 2: grave Passo2_Teste_MPU6050 na luva e confira o sensor.
  • Passo 3: grave Passo3_Teste_Motores no carro, com as rodas no ar.
  • Passo 4: grave Passo4_Carro_Receptor no carro.
  • Passo 5: cole o MAC do carro em config_luva.h e grave Passo5_Luva_Transmissor na luva.

Cada passo tem o resultado esperado no manual. Abra o Monitor Serial em 115200 baud.

Como usar

  • Ligue o carro e depois a luva. A luva inicia travada: o carro fica parado mesmo que você incline a mão.
  • Um clique no botão destrava. Outro clique trava de novo, e o carro para na hora.
  • Pressão longa (1,5 s) no botão recalibra a posição neutra da mão.
  • LED do carro: aceso fixo quando a luva está ativa, piscando lento quando está travada.

Pontos de atenção

  • GPIO12 no ESP32 clássico: é um pino de boot. Se a sua placa não ligar com o L298N conectado, desconecte o fio do GPIO12 para ligar e escolha outro pino livre em config_carro.h.
  • Primeiro teste: sempre com as rodas no ar e LIMITE_VELOCIDADE_PCT em 60.
  • Pacotes sem criptografia: qualquer luva que fale o protocolo do projeto pode dirigir o seu carro. Em sala com vários kits, ative o filtro de remetente.
  • Bateria de 9 V na luva: confira na sua placa a faixa de tensão aceita pelo pino de alimentação antes de ligar.

O projeto no GitHub

O repositório traz o código comentado, o manual completo com interlúdios filosóficos e referências, a pinagem, a descrição do protocolo, a lista de materiais e os testes que rodam no computador.

github.com/Tio-Rafa-SE/ESP-HAND-CONTROL

Quer montar o seu ESP HAND CONTROL?

O kit está na Mamute Eletrônica, e o código completo e o manual estão no GitHub.