Nesta sessão, usaremos Raspberry Pi e as funções PYGAME para fazer uma placa de som. Em termos simples, vamos conectar alguns botões aos pinos GPIO do Raspberry Pi e quando esses botões forem pressionados, o Raspberry Pi reproduz os arquivos de áudio armazenados em sua memória. Esses arquivos de áudio podem ser reproduzidos um a um ou todos podem ser reproduzidos juntos. Em outras palavras, você pode pressionar um ou vários botões ao mesmo tempo, o Raspberry Pi irá reproduzir um ou vários arquivos de áudio ao mesmo tempo. Confira o vídeo de demonstração no final deste artigo. Verifique também nossa série de tutoriais do Raspberry Pi junto com alguns bons projetos de IoT.
Temos 26 pinos GPIO no Raspberry Pi que podem ser programados, alguns dos quais são usados para realizar algumas funções especiais e depois temos 17 GPIO restantes. Cada pino GPIO pode fornecer ou extrair no máximo 15mA. E a soma das correntes de todos os GPIO não pode exceder 50mA. Portanto, podemos extrair um máximo de 3mA em média de cada um desses pinos GPIO. Usaremos resistores para limitar o fluxo de corrente. Saiba mais sobre os pinos GPIO e o botão de interface com o Raspberry Pi aqui.
Componentes necessários:
Aqui, estamos usando o Raspberry Pi 2 Model B com o Raspbian Jessie OS. Todos os requisitos básicos de hardware e software foram discutidos anteriormente. Você pode consultá-los na introdução do Raspberry Pi e no LED Raspberry PI piscando para começar, exceto pelo que precisamos:
- Raspberry Pi com sistema operacional pré-instalado
- Fonte de energia
- Alto falante
- Resistor de 1KΩ (6 peças)
- Botões de pressão (6 peças)
- Capacitor 1000uF
Explicação de trabalho:
Aqui estamos reproduzindo sons usando botões com Raspberry Pi. Usamos 6 botões para tocar 6 arquivos de áudio. Podemos adicionar mais botões e arquivos de áudio para estender esta placa e criar um padrão mais bonito pressionando esses botões. Antes de explicar mais, conclua as etapas abaixo.
1. Em primeiro lugar, baixe os 6 arquivos de áudio do link fornecido abaixo ou você pode usar seus arquivos de áudio, mas então você precisa alterar os nomes dos arquivos no Código.
Baixe os arquivos de áudio aqui
2. Crie uma nova pasta na tela da área de trabalho do Raspberry Pi e nomeie-a como “PI SOUND BOARD”.
3. Descompacte os arquivos de áudio baixados na pasta que criamos no DESKTOP na etapa anterior.
4. Abra a janela do terminal no Raspberry Pi e digite o comando abaixo:
sudo amixer cset numid = 3 1
Este comando informa ao PI para fornecer saída de áudio por meio do conector de áudio de 3,5 mm a bordo.
Se quiser saída de áudio da porta HDMI, você pode usar o comando abaixo:
$ sudo amixer cset numid = 3 2
5. Conecte os alto-falantes ao conector de saída de áudio de 3,5 mm na placa Raspberry Pi.
6. Crie um arquivo PYTHON (extensão *.py) e salve-o na mesma pasta. Verifique este tutorial para criar e executar o programa Python no Raspberry Pi.
7. O mixer Pygame será instalado por padrão no sistema operacional. Se o programa, após a execução, não chamar o PYMIXER, atualize o SO do Raspberry Pi inserindo o comando abaixo na janela do terminal. Certifique-se de que Pi está conectado à Internet.
sudo apt-get update
Aguarde alguns minutos para que o sistema operacional seja atualizado.
Agora conecte todos os componentes de acordo com o diagrama de circuito fornecido a seguir, copie o programa PYHTON no arquivo PYHTON criado na área de trabalho e, finalmente, clique em executar para reproduzir os arquivos de áudio através dos botões. O programa Python é fornecido no final com o vídeo de demonstração.
Diagrama de circuito:
Explicação de programação:
Aqui criamos um programa Python para reproduzir os arquivos de áudio de acordo com o pressionamento do botão. Aqui precisamos entender alguns comandos, que usamos no programa.
importar RPi.GPIO como IO
Vamos importar o arquivo GPIO da biblioteca, o comando acima nos permite programar os pinos GPIO do PI. Também estamos renomeando “GPIO” para “IO”, portanto, no programa, sempre que quisermos nos referir aos pinos GPIO, usaremos a palavra 'IO'.
IO.setwarnings (falso)
Às vezes, quando os pinos GPIO que estamos tentando usar podem estar fazendo algumas outras funções. Em seguida, você receberá avisos sempre que executar um programa. Este comando diz ao Raspberry Pi para ignorar os avisos e prosseguir com o programa.
IO.setmode (IO.BCM)
Aqui, vamos nos referir aos pinos de i / o de PI por seu nome de função. Portanto, estamos programando o GPIO por números de pin de BCM, o que nos permite chamar PINs com seu número de pin de GPIO. Como podemos chamar PIN39 como GPIO19 no programa.
import pygame.mixer
Estamos chamando o pygame mixer para reproduzir os arquivos de áudio.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Estamos solicitando o arquivo de áudio 'buzzer.wav' armazenado na pasta desktop. Se você quiser reproduzir qualquer outro arquivo, apenas altere o nome do arquivo de áudio na função fornecida acima. Você pode nomear qualquer arquivo presente na pasta da área de trabalho.
channel1 = pygame.mixer.Channel (1)
Aqui estamos configurando um canal para cada botão para que possamos reproduzir todos os arquivos de áudio simultaneamente.
if (IO.input (21) == 0): channel1.play (audio1)
Caso a condição na instrução if seja verdadeira, a instrução abaixo dela será executada uma vez. Portanto, se o pino 21 do GPIO ficar baixo ou aterrado, ele reproduzirá o arquivo de áudio atribuído à variável audio1 . De acordo com o Diagrama de Circuito, podemos ver que o pino 21 do GPIO fica baixo quando pressionamos o primeiro botão. Assim, podemos reproduzir qualquer arquivo de áudio pressionando o botão correspondente.
enquanto 1: é usado como loop eterno, com este comando as instruções dentro deste loop serão executadas continuamente.
Você pode fazer alterações no programa python para criar a placa de som mais satisfatória com o Raspberry Pi. Você pode até adicionar mais botões para tornar as coisas mais interessantes e reproduzir mais arquivos de áudio.