Brick Remote

Dirija seu carrinho compatível com LEGO® com um computador ou tablet. Pilote, aposte corrida, ensine-o a dançar ou desenhe um caminho para ele seguir!

O app Brick Remote com um grande volante verde, botões de frente e ré e velocidade 1, 2, 3

🎬 Veja funcionando

  1. Aperte o botão do seu bloco. Ele acende.
  2. O Brick Remote o encontra e mostra o volante.
  3. Dirija!

🧰 Do que você precisa

Só três coisas.

🧱

Seu bloco de motor

A caixa de bateria com as entradas de motor A, B, C e D. Normalmente vem com o app XP Block e o folheto diz "Smart creative module".

💻

Um computador

Com Bluetooth: um Raspberry Pi, um notebook ou um computador de mesa. Um tablet ou celular também pode ser o controle.

🧑‍🔧

Um adulto

Só para a primeira configuração. Depois disso, o piloto é você!

🚀 Comece em 4 passos

Os passos 1 e 2 só acontecem uma vez.

Instale o Brick Remote adulto

Instale com Python:

pip install "brickremote[web]"

Ou baixe o código e use ./run.sh, que configura tudo sozinho na primeira vez.

Monte seu carrinho

Ligue o motor de tração na entrada A e o motor da direção na entrada D. É assim que o carrinho da caixa é montado.

Ligue seu bloco

Aperte o botão de ligar. A luz começa a piscar: ele está esperando por você!

Abra o controle

brickremote web

Abra o endereço que aparece em um navegador. No tablet, use o que termina em :8080. Quando o bloco for encontrado, a luz para de piscar e você já pode dirigir!

Prefere digitar a clicar? É só rodar brickremote para a versão de teclado.

🎮 Quatro jeitos de brincar

Troque entre eles com os botões no topo.

Tela do carro com volante
🚗 Carro

Seja o piloto

Segure FORWARD para andar e gire o volante. Solte e o volante volta para o meio, igualzinho a um carro de verdade.

  • Escolha a velocidade 1 (devagar), 2 ou 3 (vruuum!)
  • Ou use as setas do teclado
Tela das entradas com dois joysticks
🕹️ Entradas

Controle cada motor

Montou um guindaste, um robô ou um tanque? Dois joysticks controlam os quatro motores, um para A e B, outro para C e D.

  • Pair faz dois motores andarem juntos, ótimo para tanques
  • Reverse conserta um motor que gira para o lado errado
Tela de programa com blocos
🧩 Programa

Ensine um truque

Toque nos blocos coloridos para montar uma lista de movimentos, depois aperte RUN e veja sua criação fazer tudo sozinha.

  • Blocos azuis mexem os motores
  • Blocos laranja esperam e repetem
  • Blocos verdes mudam a velocidade
Tela de caminho com grade e rota
🗺️ Caminho

Desenhe uma estrada

Toque nos quadrados da grade para desenhar por onde o carrinho deve ir. Cada quadrado tem meio metro. Aperte GO! e lá vai ele.

  • Meça seu carrinho uma vez e ajuste os controles de velocidade e de curva para caminhos perfeitos

💃 Programas para testar

Copie um para a tela de Programa e aperte RUN. Depois mude os números e veja o que acontece!

🐛 O rebolado

Para frente e para trás, de novo e de novo.

gear 2
repeat 4
  a + 0.5
  a - 0.5
end

🌀 Dança giratória

Vire tudo e ande em círculos.

repeat 3
  d +     # vire à esquerda e mantenha
  a + 2   # ande por 2 segundos
  stop
  wait 0.5
end

🐢🐇 Devagar, depois rápido

A tartaruga e a lebre.

gear 1
a + 2
gear 3
a + 1
stop

⌨️ Teclas do teclado

Para a versão de teclado (brickremote). A maioria funciona também na versão web.

↑↓ andar para frente / trás
←→ virar à esquerda / direita
123 velocidade
Tab próxima tela
WASD entradas A e B
IJKL entradas C e D
espaço PARAR tudo
Q sair
STOP

Segurança em primeiro lugar!

O grande botão vermelho STOP (ou a barra de espaço) para todos os motores na hora. Dirija no chão, não na mesa, e mantenha os dedos longe de rodas e engrenagens girando.

🧑‍🔧 Para os adultos

O Brick Remote é um software livre e de código aberto (licença MIT). Funciona com os módulos de motor Bluetooth LE baratos que aparecem como JG_JMC-xxxx e normalmente são usados com o app de celular XP Block. Roda em Linux (inclusive no Raspberry Pi), macOS e Windows.

Mais que um app

Também é uma pequena biblioteca Python, se você quiser criar seus próprios projetos:

import asyncio
from brickremote import JMCModule

async def main():
    async with JMCModule() as m:
        await m.run(2, a=255)   # entrada A para frente por 2 segundos

asyncio.run(main())

Bom saber

  • O bloco se desliga sozinho depois de uns dez minutos sem comandos.
  • As entradas A e B compartilham uma velocidade, assim como C e D.
  • O controle web para os motores sozinho se o navegador sumir (aba fechada, Wi-Fi caiu).
  • Este é um projeto independente. Não é feito pelos fabricantes do app XP Block nem dos blocos, e não tem ligação com eles.
  • LEGO® é uma marca registrada do Grupo LEGO, que não patrocina, autoriza nem endossa este projeto.

Código, notas do protocolo e a referência completa de comandos estão no projeto no GitHub (em inglês).