Teclado RaspPi (RPBP)

Repositório GitHub do Projeto

Demonstração/Explicação

Criadores/Papéis

  • Andrew Darling
    • Escreveu a estrutura e lógica de Programação Orientada a Objetos para o código.
  • Riley Royall
    • Construiu o circuito para o RPBP.
  • Mehmet Yilmaz
    • Escreveu o elemento GUI e o gerador de partituras para o código.

Sobre

O projeto Raspberry Pi Buzzer Piano (RPBP) foi um projeto final para Python Sensor Systems (CSCI-250), uma disciplina de graduação oferecida pela Colorado School of Mines, durante o semestre de outono de 2019. O projeto foi um trabalho em grupo composto por Andrew Darling, Riley Royall e Mehmet Yilmaz. Foi oficialmente concluído por volta de final de novembro de 2019, início de dezembro de 2019.

Nosso projeto é um Raspberry Pi Buzzer Piano (RPBP). Esta ideia de RPBP é um teclado musical que teria um conjunto de 13 teclas, onde as teclas são apenas botões, que podem agir como teclas de piano. Quando uma tecla é pressionada, ela faz um ou mais dos buzzers vibrarem em diferentes frequências dependendo de qual botão foi pressionado. Também haverá dois potenciômetros, onde um deles será usado para mudar entre os 3 modos do RPBP e o segundo será usado para mudar a(s) oitava(s) dos buzzers. Os 3 modos no RPBP são: Free-Play, Record e Play-Back. Free-Play permite ao usuário tocar o RPBP e apenas ouvir a tecla que pressionou. Record permite ao usuário fazer Free-Play no RPBP ao mesmo tempo que grava em um arquivo npy e cria Partituras, em formato PDF, para essa gravação. Play-Back permite ao usuário inserir o nome de um arquivo gravado e o circuito reproduzirá esse arquivo pelos buzzers. Todas as Partituras serão salvas em um diretório, para que o usuário possa sempre revisitar suas Partituras se desejar. Cada botão/tecla tem um LED para mostrar ao usuário quando um botão/tecla foi pressionado. Este projeto só foi comprovado funcionando no Rasbian (Raspberry Pi OS) com os requisitos, mostrados abaixo, configurados corretamente.

Requisitos

Informação

  • Modos:
    • Free-play: Permite ao usuário apenas tocar o RPBP.
    • Record: Permite ao usuário gravar o que toca, salvar a gravação e criar partituras para o que gravou.
    • Play-Back: Permite ao usuário reproduzir qualquer gravação que tenha baixado ou criado.
    • Mute: silencia todos os buzzers no RPBP.
  • Como atualizar entre os modos:
    • Altere as configurações/valores na GUI e pressione o botão Submit.
  • Outras notas:
    • Para saber mais sobre o RPBP na GUI, pressione o botão README e este README será aberto.

Circuito

  • Você pode ver imagens da placa de circuito usada neste projeto na seção Imagens do Circuito.
  • O Pi Wedge está conectado a um Raspberry Pi 3 B+ através de um cabo flat.
  • O Raspberry Pi executa o código fornecido neste repositório com os drivers listados neste README.
  • Desculpe pelo layout do circuito estar tão bagunçado, infelizmente não documentamos esta parte muito bem.

Como Usar:

  • Primeiro, certifique-se de que todos os requisitos foram atendidos, então execute o script bash start.sh e uma GUI aparecerá.
  • Segundo, selecione qual Modo você deseja usar sob o rótulo “Modes”.
  • [ estes passos são para quem seleciona o modo “Free-Play” ]
    • Third_10: Pressione o botão Submit e comece a tocar no RPBP
  • [ estes passos são para quem seleciona o modo “Record” ]
    • Third_20, Escreva o nome que deseja dar ao seu arquivo gravado sob o rótulo “Record Name”.
    • Third_21, Pressione o botão chamado Submit e um LED vermelho será aceso.
    • Third_22, Toque no RPBP e, quando terminar, pressione o botão Stop na GUI.
    • Third_23, Após pressionar o botão Stop, sua gravação será salva e sua partitura será gerada e aberta como PDF para você visualizar, sendo salva no diretório SHEETS.
  • [ estes passos são para quem seleciona o modo “Play-Back” ]
    • Third_30, Selecione qual arquivo de música você deseja reproduzir sob o rótulo “Send It”
    • Third_31, Pressione o botão submit e comece a ouvir o arquivo de música selecionado.
  • [ estes passos são para quem seleciona o modo “Mute” ]
    • Third_40, Basta pressionar o botão Submit e todos os Buzzers serão silenciados até que você mude para outro modo
  • Quarto, depois de terminar com o RPBP, pressione o botão Exit para fechar a GUI e o programa geral

Imagens do Circuito

imagem_GUI
imagem_GUI
imagem_GUI