Índice:

Prima - um robô que toca piano: 13 passos
Prima - um robô que toca piano: 13 passos

Vídeo: Prima - um robô que toca piano: 13 passos

Vídeo: Prima - um robô que toca piano: 13 passos
Vídeo: NÃO FALAMOS DO BRUNO - Cover Disney Encanto 🎵 2024, Julho
Anonim
Prima - um robô que toca piano
Prima - um robô que toca piano

A ideia de um robô tocando um instrumento sempre me fascinou, e sempre quis construir um sozinho. No entanto, eu nunca tive muito conhecimento sobre música e instrumentos musicais, então nunca consegui descobrir como realmente começaria com isso. Até recentemente, eu me interessei por fazer música, comecei a aprender coisas de produção musical e depois de conseguir um teclado MIDI, percebi que não é um instrumento difícil de tocar e posso construir um robô que o toque. Então, foi assim que começou a produção de Prima.

Eu não tinha certeza do sucesso desse projeto, então não me preocupei em documentá-lo. Mas como funcionou muito bem, decidi compartilhar os detalhes com a comunidade Instructables. Este não será um registro de compilação passo a passo, e sim mais uma orientação para você começar. Estarei explicando como cada parte desse robô funciona, compartilharei as fotos delas e o código para o Arduino. Espero que seja o suficiente se você quiser replicar este projeto.

E, o design foi inspirado por estes instructables, grite para JimRD!

Então vamos começar

Etapa 1: Visão geral de todo o projeto

Prima é um robô que pode tocar teclado / piano ou qualquer instrumento similar baseado em teclas. Ele tem um Arduino Uno como cérebro, uma tela LCD para saída visual e um sensor ultrassônico para inicialização sem toque. Qualquer adaptador de energia que forneça 5 volts 2 A deve ser capaz de alimentá-lo.

Possui os seguintes recursos -

  • Programável - pode ser programado para reproduzir qualquer composição limitada a uma oitava.
  • Tempo ajustável - O tempo que ele seguirá ao tocar o instrumento pode ser definido no código.
  • Inicialização sem toque - O usuário pode acionar a reprodução apenas passando a mão no sensor, o que será muito útil se o usuário estiver ocupado tocando outro instrumento e quiser que o Prima toque com ele após um tempo específico. Jogador humano fazendo jam com um jogador robô - até isso também pode ser conseguido, com a ajuda deste recurso.

Etapa 2: Vídeo

Image
Image

Você pode assisti-lo tocando um teclado no vídeo.

Etapa 3: Fazendo o modelo 3D

Fazendo o modelo 3D
Fazendo o modelo 3D
Fazendo o modelo 3D
Fazendo o modelo 3D

Depois de finalizar o que ele deveria ser capaz de fazer, projetei o corpo no TinkerCAD para que pudesse começar a construí-lo tendo uma ideia clara do que estava fazendo.

Essa abordagem me ajudou muito a terminar com um robô de aparência elegante que funciona exatamente como foi projetado. Embora eu tenha tido que modificar um pouco o design original durante a construção, o modelo 3D me poupou muito tempo e esforço. Você pode ver o modelo 3D em mais detalhes aqui.

Etapa 4: Peças e Ferramentas

Peças e Ferramentas
Peças e Ferramentas
Peças e Ferramentas
Peças e Ferramentas
Peças e Ferramentas
Peças e Ferramentas

Para a parte eletrônica, você precisará -

  • Arduino Uno (quantidade - 1)
  • Tela LCD 16x2 (Quantidade - 1)
  • Adaptador I2C para a tela LCD (quantidade - 1)
  • TowerPro SG90 Micro Servo (Quantidade - 2)
  • Sensor Ultrassônico HC-SR04 (Quantidade - 1)
  • Chave seletora de pressão (quantidade - 1)
  • Campainha (Quantidade - 1)
  • Placa Vero / Dot Board / Perf Board
  • Fios de jumper macho para macho e macho para fêmea

Para fazer o corpo -

  • Folha de PVC de 5 mm
  • Raio de ciclo (Quantidade - 2)
  • Parafusos
  • Tubo de suporte de recarga de caneta
  • Tinta spray (se você quiser pintar)

As ferramentas de que você precisa -

  • Supercola
  • Pistola de cola quente
  • Ferro de solda
  • Anti-cortador (cortador de papel A. K. A)

Etapa 5: Circuito

Circuito
Circuito
Circuito
Circuito
Circuito
Circuito

A parte do circuito foi bem fácil. Estou explicando como fiz cada segmento dele -

Segmento de LCD - usei um adaptador I2C para o LCD para que o Arduino pudesse se comunicar com ele por I2C, o que não era necessário, mas simplificou o circuito e diminuiu o número de fios. Você pode usar um LCD padrão modificando um pouco o código.

Segmento de alimentação - fiz um circuito simples no veroboard que consiste em uma chave seletora, uma campainha, um LED (que decidi não usar depois) e um barramento de força comum de 5V. Como no barramento de força, os pinos de 5 V e de aterramento dos servos, o sensor de sonar, o LCD e o Arduino estão todos conectados entre si, respectivamente. Um pino da chave de pressão é conectado à linha 5V + e o outro pino é conectado ao pino VCC da fonte de alimentação. A linha de aterramento é conectada diretamente ao pino de aterramento da fonte de alimentação. Portanto, o Prima pode ser ligado / desligado usando o interruptor. O buzzer e o LED são conectados em paralelo, e o pino VCC deles vai para o pino 13 do Arduino. Seu aterramento é conectado ao aterramento do barramento de força comum.

Modificação do conector dos servos - Como os fios do jumper geralmente tendem a se desconectar do conector do servo, cortei o VCC e o fio terra de ambos os servos e os soldei diretamente no barramento de força. Para os pinos de sinal, no entanto, usei fios de jumper para conectá-los ao Arduino.

Sensor de sonar - Soldados dois fios respectivamente ao VCC e pino de aterramento do sensor de sonar, que vão para o barramento de força comum, e fios de jumper usados para conectar o gatilho e pino de eco ao Arduino.

Arduino - alimentado por meio do conector jack barril.

Qual vai para qual -

Pino de gatilho do sensor de sonar -> pino A2 do Arduino

Pino de eco do sensor de sonar -> pino A3 do Arduino

Pino SDA do adaptador I2C -> pino A4 do Arduino

Pino SCL do adaptador I2C -> pino A5 do Arduino

VCC da campainha -> pino D13 do Arduino

Tecla pressionando o pino de sinal do servo -> pino D9 do Arduino

Pino de sinal do servo do eixo X -> pino D8 do Arduino

Todos os pinos VCC e de aterramento são conectados ao barramento de força comum.

Etapa 6: Montagem do sensor de sonar

Montagem de sensor de sonar
Montagem de sensor de sonar

A imagem é autoexplicativa, basta colar uma prateleira em forma de L na "parede" e colar a quente o sensor de sonar na prateleira.

Etapa 7: Fazendo o trilho do eixo X

Fazendo o trilho do eixo X
Fazendo o trilho do eixo X
Fazendo o trilho do eixo X
Fazendo o trilho do eixo X

Eu peguei emprestado o conceito do trilho do eixo X das máquinas CNC. São apenas dois raios de ciclo colocados paralelamente um ao outro, e as "paredes" têm orifícios por onde passam os raios de ciclo. Nas outras extremidades das paredes, os raios do ciclo são colados a quente nas paredes para que não se movam. Os raios do ciclo são fortes o suficiente para suportar a plataforma do eixo X.

Etapa 8: Plataforma do eixo X

Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis
Plataforma X Axis

É a parte que vai para o lado para alcançar certas teclas e tem um servo que tem um braço acoplado a ele que pressiona a tecla.

Possui dois tubos porta-recargas colados a quente no fundo, através dos quais passam os raios do ciclo, permitindo que ela deslize sobre eles. Peguei este tubo de uma caneta, você pode usar qualquer coisa que se encaixe nos raios, como canudo.

Então, no meio da folha de PVC inferior, há outra folha de PVC reta. Ele tem um orifício na parte inferior que se encaixa no corpo do servo e o servo é inserido através dele. O servo foi preso com cola quente.

O servo tem um braço conectado a ele. Quando o robô tem que pressionar uma tecla, o servo gira o braço para baixo resultando em um pressionamento de tecla e depois o gira para sua posição anterior.

Etapa 9: Movendo a plataforma do eixo X

Movendo a plataforma do eixo X
Movendo a plataforma do eixo X
Movendo a plataforma do eixo X
Movendo a plataforma do eixo X
Movendo a plataforma do eixo X
Movendo a plataforma do eixo X

O servo "movedor do eixo X" é acoplado a uma plataforma elevada que fica do lado esquerdo do robô. A plataforma do eixo X possui uma prateleira na parte superior onde um braço é articulado por meio de um parafuso. Na outra extremidade do braço, outro braço é articulado por meio de parafuso e este é conectado ao chifre do servo. Todas as articulações são móveis e o servo pode acionar a plataforma do eixo X nos trilhos do eixo X girando seu chifre para a esquerda / direita, o que faria com que os braços empurrassem / puxassem a plataforma nos trilhos.

As juntas são feitas com parafuso.

Etapa 10: Código

Depois de terminar de construir o corpo e o circuito, carregue o código no Arduino. Coloque o robô em paralelo com o teclado / piano. A plataforma do eixo x primeiro começará a se mover para a esquerda e parará em um determinado ponto. Mova o robô até que a tecla C do piano encontre esse ponto. Esta é uma etapa crucial, pois sem posicionar o robô dessa forma, ele não tocará a melodia corretamente. Em seguida, ligue o robô, ele deve começar a tocar uma melodia dentro de alguns segundos.

O código é bastante básico e pode ser aprimorado. Se você quiser que o robô toque sua própria melodia, basta colocá-la no código, o que é muito fácil.

Etapa 11: Pintando

Se você quiser pintar como o meu (eu sugiro que faça isso, fica muito melhor pintado), faça todas as partes do corpo primeiro, certifique-se de que estão cortadas corretamente. Em seguida, lave-os com sabão para que fiquem livres de óleo e sujeira. As pessoas geralmente lixam a superfície antes de pintá-la, mas aqui você não precisa. Pulverize uma camada sobre eles primeiro, dê tempo suficiente para secar (algumas horas) e, em seguida, pinte outra camada. Você pode começar a montar as peças e colá-las depois que a tinta secar.

Usei tinta spray para pintar o meu

Etapa 12: Colocando e organizando os eletrônicos

Colocando e Organizando a Eletrônica
Colocando e Organizando a Eletrônica
Colocando e Organizando a Eletrônica
Colocando e Organizando a Eletrônica

Aparafusei o Arduino à folha de PVC de base e colei a quente o circuito de alimentação e o LCD na placa de base. Organizei os fios com cola quente.

Etapa 13: Conclusão: Obrigado por ler os instrutíveis

Então, foi assim que construí o Prima. Espero que o log de construção esteja claro e fácil de entender. Se você tiver alguma dúvida, fique à vontade para deixá-la na seção de comentários, tentarei responder o mais cedo possível.

Planos futuros com este projeto -

  • Fazendo um software para programar o Prima com mais facilidade.
  • Adicionando o recurso de batimento de andamento para que você possa simplesmente tocar em um botão para ajustar o andamento.
  • Trocando os servos por outros mais silenciosos e rápidos

Se você construir isso, deixe cair fotos no comentário, eu adoraria ver o seu!:)

Recomendado: