Índice:

Rubics Cube Solver Bot: 5 etapas (com imagens)
Rubics Cube Solver Bot: 5 etapas (com imagens)

Vídeo: Rubics Cube Solver Bot: 5 etapas (com imagens)

Vídeo: Rubics Cube Solver Bot: 5 etapas (com imagens)
Vídeo: 2 Pieces Unsolved On A Rubik’s Cube… #shorts 2024, Dezembro
Anonim
Rubics Cube Solver Bot
Rubics Cube Solver Bot

Fazendo um robô autônomo que resolve um cubo físico de Rubik. Este é um projeto do Clube de Robótica, IIT Guwahati.

É feito com material simples e fácil de encontrar. Usamos principalmente servo motores e um Arduino para controlá-los, folhas de acrílico, um mini desenhador quebrado, grampos em L e fitas duplas!

Para obter o algoritmo de resolução do cubo, usamos a biblioteca cubejs do github.

Etapa 1: Materiais Usados

Materiais utilizados
Materiais utilizados
  1. 6 servo motores
  2. Arduino Uno
  3. Bateria LiPo de 3 células
  4. Folha de acrílico (8 mm e 5 mm de espessura)
  5. Pistola de calor(
  6. Furadeira
  7. Serrote
  8. Braçadeiras
  9. Tiras de Alumínio
  10. Mini desenhador / hastes de metal
  11. Fita dupla
  12. Fevi Quick
  13. Parafusos de porca
  14. Fios de ligação

Etapa 2: Preparando a Estrutura Mecânica

Preparando a Estrutura Mecânica
Preparando a Estrutura Mecânica
Preparando a Estrutura Mecânica
Preparando a Estrutura Mecânica

O quadro básico

  • Pegue uma folha de acrílico de 8mm de espessura com aproximadamente 50cm * 50cm e marque o centro de todos os lados (esta será a base do seu robô).
  • Pegue um desenhador quebrado e remova as 4 hastes de aço dele.. (essas hastes servirão de caminho para seu controle deslizante).
  • Em duas peças retangulares de acrílico (de qualquer tamanho) fixe duas hastes paralelas entre si e faça dois pares desta montagem.
  • Em seguida, para fazer um controle deslizante, empilhe duas pequenas peças de acrílico uma em cima da outra com espaçadores entre eles nos quatro cantos e prenda-os com parafusos nos espaçadores. Você precisará de 4 desses controles deslizantes.
  • Antes de prender as duas peças da corrediça, passe as hastes paralelas previamente afixadas entre elas de modo que os espaçadores apenas toquem a superfície externa das hastes.
  • Para cada par de hastes paralelas, passe dois controles deslizantes sobre elas.
  • Assim que estiver pronto, organize o par de hastes na forma de uma cruz de 90 graus. Certifique-se de que haja um controle deslizante em cada extremidade da cruz.
  • Agora tudo que você precisa fazer é anexar este caminho cruzado à base do seu robô, em alguma elevação da base. (Certifique-se de que a elevação seja maior do que a altura de um servo motor)

    Para isso, você pode usar montagens de acrílico com grampos em L como fizemos ou qualquer outro método será suficiente

Depois disso, sua estrutura deve ser semelhante à imagem.

Anexando os servos de base

  • Os dois servos básicos devem ser fixados de forma que o servo fique abaixo do braço da cruz e deslocado do centro.
  • Os servos são fixados na posição horizontal a uma pastilha de silício perfurada por meio de parafusos longos, que por sua vez são fixados na base com braçadeira em L e fita dupla-face.

Fazendo as hastes push-pull

  • Defina o ângulo do servo para zero e prenda o braço oscilante do servo em alguma posição adequada.
  • Coloque o cubo no centro da cruz para obter uma estimativa da distância do controle deslizante na posição mais próxima e coloque os controles deslizantes nessas posições.
  • Prenda tiras de alumínio em forma de L na parte inferior de cada controle deslizante usando fita dupla.
  • Agora, para medir a distância de cada tira de alumínio da parte superior ou inferior do servo rocker que fica em seu plano, este será o comprimento de sua haste push-pull.
  • Uma vez que os comprimentos são determinados, a haste de pressão pode ser fixada perfurando a tira de alumínio ou algo assim.

Montagem dos servos superiores

  • Decida a altura em que seu cubo será resolvido. O eixo do servo motor deve estar nesta altura.
  • Conecte os quatro servo motores, cada um a uma pastilha de silício perfurada usando parafusos na posição vertical.
  • O wafer agora é montado em uma tira de alumínio em forma de L cuja base é fixada ao controle deslizante em uma altura adequada para que o eixo do servo fique no centro do cubo.

As garras C

  • As garras devem ser tais que se ajustem exatamente a um lado do cubo e o comprimento das partes superior e inferior não deve exceder um lado do cubo.
  • Para isso pegue uma tira de acrílico de espessura suficiente e aqueça-a. Assim que derreter, remodele-o formando uma braçadeira em forma de C de forma que prenda exatamente um lado do cubo.
  • Marque o centro da garra C e fixe esta braçadeira no balancim do servo em seu centro.

Faça alguns pequenos ajustes, conforme necessário, para que cada grampo fique na mesma altura.

Isso completa a estrutura mecânica do seu robô, vamos passar para as conexões do circuito ……..

Etapa 3: conexões de circuito

Conexões de Circuito
Conexões de Circuito

Para controlar o Bot, usamos um Arduino, regulador de tensão e uma bateria LiPo de 3 células (12v).

Como os servomotores consomem muita potência, usamos 6 reguladores de tensão, um para cada motor.

As entradas de sinal dos motores (fio da cor mais clara dos três) foram conectadas aos pinos PWM digitais 3, 5, 6, 9, 10, 11 do Arduino.

O regulador de tensão foi conectado à placa de ensaio e alimentado pela bateria de 12 volts. A alimentação de saída (5 V) foi alimentada diretamente nos motores. O aterramento dos motores também foi conectado à placa de ensaio. O terreno comum foi anexado ao Arduino também.

Passo 4:

Image
Image

Etapa 5: Código:

Os dois arquivos fornecidos mostram o código escrito para dar comando aos motores para etapas específicas usando o Arduino.

O primeiro arquivo contém a função principal e outras definições de variáveis. O segundo arquivo contém funções para cada movimento usado na resolução de um cubo (ex. U para 'rotação da face para cima no sentido horário'; R1 para 'movimento da face direita no sentido anti-horário' etc.)

Para obter o algoritmo de resolução do cubo, usamos a biblioteca cubejs do github.

O algoritmo fornece saída diretamente em 'movimentos de face' que são concluídos pelo código do Arduino.

Recomendado: