1 pontos por GN⁺ 2025-11-02 | 1 comentários | Compartilhar no WhatsApp
  • S.A.R.C.A.S.M é um robô baseado em impressão 3D que escaneia e resolve um Cubo de Rubik, adicionando comentários de voz sarcásticos
  • Usa um microcontrolador Teensy 4.1 e uma ESP32-CAM para reconhecimento de imagem e controle
  • Implementa gráficos 2D e 3D, animações e sincronização labial por meio de um display ILI9341, além de sincronizar a iluminação RGBW com o áudio
  • Gera voz diretamente no dispositivo com TTS baseado em espeak-ng, incluindo uma coleção de falas sarcásticas
  • Para fazer todo o código caber na RAM, é necessário modificar arquivos do core do Teensy, e o projeto está disponível atualmente em estado inacabado

Visão geral do projeto

  • S.A.R.C.A.S.M (Slightly Annoying Rubik’s Cube Automatic Solving Machine) é um robô que resolve automaticamente um Cubo de Rubik

    • É composto por uma estrutura de hardware feita em impressora 3D e um sistema de controle baseado em Teensy
    • Escaneia o cubo, calcula a solução e, durante o processo, reproduz respostas de voz sarcásticas
  • O repositório inclui código e esquemáticos, e informações adicionais são fornecidas na thread do fórum Teensy

Vídeos de demonstração

Principais hardwares e recursos

  • Usa o Teensy 4.1 como controlador principal e a ESP32-CAM para captura de imagem
  • Implementa gráficos 2D e 3D personalizados, animações e sincronização labial por meio do display ILI9341
  • Manipula o cubo com motores de passo e servomotores, e detecta erros com sensores de posição
  • A iluminação RGBW é sincronizada com o áudio para fornecer efeitos visuais
  • Gera voz no próprio dispositivo com TTS baseado em espeak-ng, incluindo uma coleção de falas sarcásticas

Instruções de modificação do código

  • Para fazer todo o código caber na RAM, é necessário modificar arquivos do core do Teensy
    • Nos arquivos cores/teensy4/usb_serial.c e cores/teensy4/usb_serial2.c,
      é preciso remover o atributo DMAMEM antes das definições dos arrays txbuffer[] e rx_buffer[]

Observações

  • Atualmente, o projeto é um trabalho em andamento, e o estado do repositório está desorganizado e incompleto
  • É possível que ele permaneça assim até que o desenvolvedor tenha tempo disponível

1 comentários

 
GN⁺ 2025-11-02
Comentários do Hacker News
  • Há alguns anos, montei o Cubotino por conta própria. A estrutura é parecida, e eu o publiquei no repositório no GitHub
    Usei um Raspberry Pi 2 W, e ele funciona bem para embaralhar e resolver um cubo 3x3x3 com apenas dois servomotores
  • Olá, pessoal. Eu sou o criador do SARCASM. Obrigado ao OP por compartilhar
    Dediquei muito tempo à construção, mas foi um trabalho realmente divertido. Fico feliz em ver outras pessoas curtindo
    Reuni detalhes sobre o hardware e o software neste post no fórum da Teensy
    • Muito legal. Lembro de ter sido a primeira criança a levar um Rubik’s Cube para a escola, lá nos anos 70.
      Eu não sabia como resolver, então encomendei um livreto, e o que chegou foi um livreto sobre teoria dos grupos (group theory). Era difícil demais para a minha cabeça adolescente na época
    • Acho que eu ficaria rico se levasse isso de máquina do tempo para os anos 1920, colocasse numa caixa de vidro e cobrasse 5 centavos para mostrar
    • Queria saber se você poderia compartilhar os arquivos STL da carcaça e dos braços. É um projeto realmente excelente
    • Eu também já justifiquei gastar tempo num projeto por causa do nome, então entendo perfeitamente
  • Como informação relacionada, o recorde do Guinness para o robô mais rápido a resolver um Cubo de Rubik é de 103 milissegundos
    Dá para ver no vídeo no YouTube e nesta matéria da Purdue
    • Fico imaginando quantos cubos explodiram enquanto construíam esse robô
    • É impressionante e ao mesmo tempo meio insano
    • Um solucionador robótico é menos um problema mental e mais um problema físico. Se você tiver fotos das bordas superior e inferior do cubo, dá para resolver em nanossegundos
  • O design é realmente incrível. O vídeo de demonstração também é excelente
    • É o projeto mais encantador que vi recentemente
      Também existe um vídeo de demonstração mais longo
      Como vivo no mundo do software, fico pensando no quanto seria difícil fazer algo assim com as próprias mãos
      Como hobbyista que gosta de cubos, isso também seria perfeito como quebra-gelo de escritório. Um colega passa, embaralha o cubo e joga na máquina, e acho que todo mundo se divertiria
  • Eu preciso de uma máquina que embaralhe automaticamente. Coloca-se dois cubos, e enquanto um é resolvido, o outro é embaralhado
    Os cubistas passam muito mais tempo embaralhando do que resolvendo. O embaralhamento precisa ser automatizado
    • Também acho que essa é a parte mais difícil. Para resolver rápido, é preciso praticar muitos padrões diferentes
      Seria ótimo ter um dispositivo que colocasse automaticamente o cubo em um estado específico para permitir praticar repetidamente um certo algoritmo
    • Não conheço bem essa área, mas fico curioso se existe algo como uma face de cubo digital. Um cubo físico, mas em que as cores possam mudar instantaneamente
    • Até certo ponto, embaralhar também é um bom treino. Se você embaralhar segundo um algoritmo definido, termina em menos de 30 movimentos
      Dá a sensação de demorar, mas na prática a diferença não é tão grande
    • Eu pensaria que bastaria rodar a máquina de resolver ao contrário
  • Há uma explicação mais detalhada do projeto neste post do fórum
  • Quero perguntar ao HN: eu achava que, a partir de um cubo resolvido, se girasse alternadamente duas faces adjacentes na mesma direção, ele acabaria voltando ao estado resolvido, mas mesmo depois de centenas de vezes isso não aconteceu. Queria entender o motivo
    • Por exemplo, a combinação RU tem ordem 105 no grupo cíclico. Ou seja, são necessárias 210 rotações no total (105 em cada face) para voltar ao estado original
      Eu também fiz um experimento parecido no passado, e quando girava rápido nunca resolvia. Provavelmente eu colocava por engano uma rotação dupla (U2) ou contava errado o número de vezes
      Para uma explicação matemática, veja a página 41 deste material
    • É preciso repetir exatamente 105 vezes. Veja este link de visualização
      Se você girou em direção oposta, então bastam 63 repetições. Veja este link
  • Tenho um vídeo de um robô de cubo que eu fiz há 16 anos
    Os movimentos deste robô novo são muito parecidos com os da minha obra antiga. Gosto especialmente da saída na tela
  • O processo de resolver o cubo se divide em duas etapas — calcular os movimentos e executar os movimentos
    Os humanos fazem essas duas coisas em paralelo, mas o robô executa movimentos já calculados, então o tempo depende apenas da velocidade
  • A personalidade do criador aparece claramente no software. Se Douglas Adams visse isso, certamente teria gostado
    Espero que surjam mais robôs com estilo Adams
    • Espero que a Unsirious Cybernetics traga mais robôs cheios de personalidade