Como adicionar som ao Raspberry Pi Game Pad – (Parte 37/38)

Como adicionar som ao Raspberry Pi Game Pad – (Parte 37/38)

O Raspberry Pi é um computador de placa única projetado com o objetivo de auxiliar no ensino de informática aos alunos da escola. Esta é uma ótima plataforma para experimentar diferentes técnicas de programação e também aprender ferramentas de software. A placa é fornecida com um conector RCA que pode ser usado para conectá-la diretamente a uma tela de TV baseada nos padrões PAL e NTSC. A placa também possui uma saída de conector HDMI que pode ser usada para conectar a placa a uma TV HD. Também se pode usar login remoto para acessar o Raspberry pi e visualize a GUI (Text User Interface) na tela do PC. A placa Raspberry pi também é muito fácil de interagir com dispositivos ou circuitos externos por meio de suas pinagens. Esta placa também é fornecida com uma tomada de áudio. Tudo isso faz do Raspberry pi uma plataforma adequada para jogar e desenvolver jogos interessantes.

Este artigo se concentra em como adicionar som a um jogo que é codificado para ser jogado com um gamepad Raspberry pi. Este jogo gráfico simples é codificado usando a linguagem HTML5 e JavaScript e conectado a um hardware de game pad simples conectado aos pinos da placa Raspberry pi. Este jogo é adicionado com música de fundo e tons de teclado que podem ser apreciados enquanto você joga com a ajuda de um fone de ouvido ou sistema de som.
((wysiwyg_imageupload:11067:))

O gamepad é um circuito simples construído em uma placa de ensaio com poucos botões, LEDs e um conjunto de resistores. Existem oito pinos IO de uso geral nos conectores de 13 * 2 pinos da placa Raspberrypi e entre eles quatro pinos foram selecionados como entrada e os quatro pinos restantes como saída. Os pinos de entrada são conectados ao botão e puxados para baixo usando resistores de 1K. Os pinos de saída são conectados aos LEDs através de outro conjunto de resistores de 1K. Para este projeto, a placa Raspberry pi é carregada com Ubuntu e é acessado remotamente usando VNC. Para acessar os pinos que saem do controlador Broadcom a biblioteca C “bcm2835” foi baixado e instalado.

Este jogo usa dois arquivos MP3 bgm.mp3 e kpm.mp3, um para a música de fundo e outro para reproduzir o tom do teclado. Existem tantos softwares reprodutores de mídia de linha de comando disponíveis que podem ser baixados e instalados no Ubuntu do Raspberry pi. O MPG321 é um reprodutor de áudio de linha de comando que pode ser instalado facilmente usando o seguinte comando;
sudo apt-get -y instalar mpg321

Este MPG321 é um aplicativo reprodutor de MP3 e qualquer arquivo MP3 pode ser reproduzido com a ajuda deste aplicativo digitando o seguinte comando format
mpg321

Este software possui diversas opções como controle de volume, busca de arquivos, modo de operação remota o que o torna perfeito para uso com qualquer tipo de aplicação front end, aqui o jogo HTML como exemplo. Mais detalhes sobre as opções podem ser encontrados nas páginas de manual;
homem mpg321
O jogo é executado em uma janela do navegador e se comunica com o game pad por meio de um Named Pipe ou FIFO. Existem vários processos em execução que podem ler o game pad e gravar os comandos necessários no FIFO para controlar o jogo. O JavaScript escrito no código do jogo simplesmente lê o FIFO para os dados de controle de entrada.
O NAMED PIPE ou FIFO precisa ser criado usando o seguinte comando no mesmo diretório onde existem o executável para o código do gamepad escrito em C e os arquivos HTML do jogo escritos em HTML5 e JavaScript.

mkfifo xyz

O FIFO também pode ser criado usando o próprio código adicionando a função mkfifo , open conforme explicado em um artigo anterior documentação.
O processo pai no código C cria cinco processos filhos, entre os quais quatro deles são dedicados para cada uma das teclas do gamepad e o quinto é para tocar a música de fundo. Sempre que uma tecla é pressionada ou liberada, eles geram um sinal e o enviam ao processo pai com um valor. Este método de enviando um sinal com valor ajuda o processo pai a identificar qual tecla foi pressionada ou liberada.
Diagrama de blocos do gamepad Raspberry pi
Fig. 2: Diagrama de blocos do gamepad Raspberry Pi
Assim que o processo pai detecta um pressionamento de tecla a partir do valor recebido junto com o sinal, ele simplesmente escreve um caractere específico correspondente a essa chave no NAMED PIPE ou FIFO. O jogo HTML lerá continuamente o FIFO a cada 500 ms para obter a entrada. Portanto, tanto o código C quanto o arquivo HTML precisam estar em estado de execução. O hardware do gamepad se comunica apenas com o código C e o código C se comunica com o JavaScript usando o NAMED PIPE.
A música de fundo continuará tocando como um processo filho separado desde o início do jogo e os tons do teclado serão reproduzidos pela função Pai sempre que detectar um sinal dos processos filhos dedicados à leitura das teclas do gamepad. O processo Pai usa a função “system ” para reproduzir o tom do teclado conforme mostrado na instrução a seguir.
sistema ( “mpg321 kpm.mp3”);

Diagramas de circuito

Circuito-Diagrama-Adicionar-Som-Raspberry-Pi-Gamepad

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Tillbaka till blogg

Lämna en kommentar

Notera att kommentarer behöver godkännas innan de publiceras.