Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

skeelrobot

🇧🇷 Português | 🇺🇸 English

Simulador 3D web de um robô seguidor de linha com Arduino: escreva código C++, veja o robô seguir a pista em tempo real — sem hardware.

Visão geral

skeelrobot é um simulador 3D, no navegador, de um robô seguidor de linha controlado por código Arduino. O robô tem 3 sensores infravermelhos (TCRT5000 simulados: esquerda/centro/direita) e 2 motores DC com controle diferencial. Você escreve o sketch em C++ no editor embutido, e ele é transpilado para JavaScript e executado a cada frame — permitindo testar a lógica de seguir linha sem nenhum hardware físico.

Como funciona

  • Física — cinemática diferencial: cada motor tem velocidade independente (máx. 0,20 m/s); a pose integra por x += v·cos(θ)·dt, com ω = (vR − vL) / wheelBase (base de 0,10 m). Passos de até 5 ms para estabilidade.
  • Sensores — cada sensor amostra o brilho da pista dentro de um footprint (raio 8 mm) e mapeia para analogRead (0–1023; preto≈900, branco≈200) e digitalRead (HIGH/LOW por limiar).
  • Arena — gera proceduralmente uma pista (curva fechada entre 9–12 waypoints) ou um labirinto 6×6, texturizada em canvas 1536×1536.
  • Runtime Arduino — transpila um subconjunto de C++ (tipos básicos, if/for/while, Serial, analogRead, digitalWrite, pinMode, analogWrite); setup() roda uma vez, loop() repete dentro de um orçamento de tempo por frame; delay(ms) avança a física.

Stack

Vite · TypeScript · Three.js (WebGL, sombras, câmera orbital) · CodeMirror 6 (C++ highlight) · lucide-icons. Tudo vanilla TS/JS, persistência em localStorage.

Como executar

npm install
npm run dev        # http://localhost:5173
npm run build
npm run preview

Features notáveis

  • Editor de código Arduino com syntax highlight C++ e múltiplos sketches (salvos automaticamente).
  • Câmera dos sensores — vista top-down mostrando os footprints e leituras analógicas ao vivo.
  • Monitor Serial capturando Serial.println().
  • 3 modos de câmera (perspectiva/ortográfica/presets) + gizmo de orientação 3D.
  • Controle de velocidade da simulação (0,5×–16×) e layout redimensionável.

Estado do projeto

Protótipo educacional polido e funcional (v0.0.0). Não implementa edição visual da pista, física dinâmica (inércia/atrito), nem exportação de projeto.

Licença

Este projeto ainda não declara uma licença; até que uma seja adicionada, todos os direitos são reservados ao autor.

About

Simulador 3D web de robô seguidor de linha com Arduino: escreva C++ e veja o robô seguir a pista

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages