Índice:

Música Tema PUBG + Animação com Arduino !: 13 etapas (com imagens)
Música Tema PUBG + Animação com Arduino !: 13 etapas (com imagens)

Vídeo: Música Tema PUBG + Animação com Arduino !: 13 etapas (com imagens)

Vídeo: Música Tema PUBG + Animação com Arduino !: 13 etapas (com imagens)
Vídeo: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Julho
Anonim
Image
Image
Reunindo todas as peças
Reunindo todas as peças

Olá e seja bem-vindo a esta diversão instrutível! Espero que todos estejam bem e saudáveis. Este projeto pequeno, mas incrível, é sobre tocar a música-tema do PUBG e até mesmo criar algumas animações de jogo usando o arduino.

Os componentes usados estão facilmente disponíveis e muito fáceis de montar em um pedaço de placa de ensaio. Estarei compartilhando todo o processo de construção e codificação neste instrutível, fique por aqui até o fim!

Eu sugiro que você assista ao vídeo para ter uma ideia do projeto:) Se você gostou, dê um like e compartilhe o vídeo. Considere se inscrever no meu canal se você gostou da minha construção. Obrigado!

Então, sem mais delongas, vamos começar!

Etapa 1: reunindo todas as peças

Reunindo todas as peças
Reunindo todas as peças

A construção consiste principalmente em um Arduino Nano, que é o núcleo principal para este projeto. Você pode usar qualquer outra variante do Arduino como o popular Arduino Uno, Arduino Pro Mini, Arduino Mega etc. Para exibir as animações e as imagens, decidi usar um display OLED de 0,96 polegadas com resolução de 128 por 64 pixels. Este display pode ser interface com o arduino com o protocolo I2C que requer apenas dois fios para dados e clock, reduzindo assim o número de conexões e tornando o projeto mais compacto. Para tocar a melodia do tema PUBG, usei uma campainha de 5V da qual conectei o pino positivo com o pino digital 6 do Arduino e o aterramento vai para o aterramento do Arduino.

Esta é a lista de peças necessárias para o projeto:

  1. Arduino Nano (ou qualquer outra placa arduino de sua escolha)
  2. Módulo de exibição OLED de 0,96 polegadas
  3. Campainha 5V
  4. Fios de ligação
  5. Tábua de pão
  6. Cabo de programação Arduino

Etapa 2: Conectando o display OLED

Conectando o display OLED
Conectando o display OLED
Conectando o display OLED
Conectando o display OLED
Conectando o display OLED
Conectando o display OLED

Um total de 4 conexões são necessárias para o display OLED ser conectado a partir do Arduino:

Vcc 5V do Arduino

Gnd Gnd do Arduino

SDA A4 de Arduino

SCK A5 do Arduino

Os pinos A4 e A5 do arduino atendem a várias finalidades de entradas analógicas, bem como pinos para comunicação I2C. Aqui, utilizamos os pinos do protocolo I2C para fazer a interface com o módulo de exibição.

O link para a biblioteca Adafruit usada neste projeto:

Etapa 3: conectando a campainha

Conectando o Buzzer
Conectando o Buzzer
Conectando o Buzzer
Conectando o Buzzer

A campainha de 5 V possui um terminal de alimentação positivo e negativo.

Pino positivo D6 do Arduino (pino digital 6) (você pode usar qualquer pino digital do arduino)

Pin negativo Gnd do Arduino

Vamos criar o tom desejado no pino digital D6 para o qual a campainha tocará a melodia.

Etapa 4: todas as conexões de hardware concluídas

Todas as conexões de hardware concluídas
Todas as conexões de hardware concluídas
Todas as conexões de hardware concluídas
Todas as conexões de hardware concluídas

Todas as conexões necessárias do display OLED e da campainha estão concluídas. Agora, vamos prosseguir para entender o aspecto de programação do projeto.

Etapa 5: Incluindo a Biblioteca e Inicializando os Protocolos de Exibição

Incluindo a Biblioteca e Inicializando os Protocolos de Exibição
Incluindo a Biblioteca e Inicializando os Protocolos de Exibição

Todo o programa foi segregado em 3 componentes:

  1. O programa principal consiste na inicialização e nas sequências de exibição de imagens e melodia
  2. Arquivo "pitches.h" que consiste na lista de notas musicais e a frequência associada
  3. Arquivo "pictures.h" que consiste em bitmaps das imagens a serem exibidas.

O processo de como converter uma imagem em uma matriz de bitmap para exibição OLED é discutido nas próximas etapas.

Também irei anexar o código inteiro junto com este instrutível para você usar:)

Etapa 6: a melodia da música tema

A melodia da música tema
A melodia da música tema
A melodia da música tema
A melodia da música tema

Pesquisei na internet as notas básicas que compõem a música-tema do PUBG e as adicionei ao conjunto de melodias.

Gastando uma quantidade considerável de tempo tocando e repetindo a sequência da melodia, criei a matriz de duração de tempo que se preocupa com o tempo que cada nota precisa ser tocada. A combinação da matriz de melodia e da matriz de duração compreende as informações completas para reproduzir a música.

Etapa 7: Tocando a música durante a inicialização

Tocando a música durante a inicialização
Tocando a música durante a inicialização

Há um total de 63 notas que usei para compor a sequência da melodia. Usando um loop for e iterando através das notas e da matriz de duração com uma pausa predeterminada entre cada nota, a sequência inteira é tocada uma vez, já que este trecho de código está na configuração vazia (). Curiosamente, nenhum código para este projeto utiliza o void loop () do código do arduino, pois pretendo reproduzir e exibir imagens apenas uma vez. Obviamente, se você quiser uma sequência repetitiva, ela deve ser colocada na função void loop ().

Etapa 8: convertendo as imagens em bitmaps

Convertendo as imagens em bitmaps
Convertendo as imagens em bitmaps

Agora, a parte interessante do projeto é o processo de conversão de uma imagem em um array de bitmap para o display OLED de acordo com sua densidade de pixels. Para isso encontrei a ferramenta online perfeita que nos permite gerar os bitmaps personalizados.

O link para este aplicativo online é:

Graças aos incríveis criadores deste aplicativo, isso torna meu trabalho muito mais fácil.

Ao acessar o link, você primeiro deve fazer o upload da imagem da qual deseja criar o bitmap. Uma coisa a notar aqui é que você deve tentar selecionar imagens que não tenham muito contraste de cor, tente manter imagens com poucas cores sólidas, sem gradientes para obter melhores resultados

Etapa 9: Ajustar a resolução de acordo com sua tela

Ajustando a resolução de acordo com o seu monitor
Ajustando a resolução de acordo com o seu monitor

Na próxima etapa, temos que redimensionar a imagem de acordo com a resolução de exibição. Para nosso display OLED, ele tem 28 pixels de largura e 64 pixels de altura, que ajustei conforme mostrado na imagem. Ajuste o limite de brilho para se certificar de que a imagem está consideravelmente clara (é aqui que a vantagem de usar imagens com cores sólidas entra em jogo, quanto mais gradientes de cor, a qualidade da imagem em exibição monocromática irá degradar, pois bagunça com o limite de brilho)

O próximo passo é ajustar a imagem na tela mantendo as proporções intactas e ajustando a simetria para as quais as opções já estão lá. Você pode explorar essas opções para obter a saída de imagem desejada. Para referência, você também obtém a incrível opção de visualização!

Etapa 10: Gerando a matriz de bitmap

Gerando a matriz de bitmap
Gerando a matriz de bitmap

Após ajustar os parâmetros da imagem, na próxima etapa apenas selecione o código do Arduino como formato de saída e clique em gerar para obter a matriz de bitmap desejada!

Lá! você converteu com sucesso sua imagem para a matriz de bitmap desejada. Eu fiz este processo para um total de 7 imagens e as salvei.

Etapa 11: Exibir as imagens como sequência

Exibindo as imagens como sequência
Exibindo as imagens como sequência
Exibindo as imagens como sequência
Exibindo as imagens como sequência
Exibindo as imagens como sequência
Exibindo as imagens como sequência

Para exibir as imagens, usei a função Arduino millis () para chamar a função draw (), que é basicamente um conjunto de comandos para limpar a tela, plotar a matriz de bitmap no OLED e inicializar a tela. A lógica principal é que a cada 3,5 segundos, a imagem é alterada e a próxima imagem é exibida. Bem, 3,5 segundos não é um número único, eu apenas descobri que se eu dividir a duração da melodia inteira por 7 imagens, eu tenho cerca de 3,5 segundos para cada exibição. Você pode adicionar mais imagens a isso e reduzir o tempo de exibição de cada imagem, se desejar.

Os fragmentos de código explicam como as funções são chamadas com base na função millis ().

Todas as matrizes de bitmap das imagens são armazenadas no arquivo "pictures.h"

Etapa 12: O código inteiro:

Aqui estou compartilhando o código inteiro para todos vocês experimentarem e experimentarem!

Assim que tudo parecer bem, é hora de enviá-lo para o quadro:)

Etapa 13: Os resultados:

Os resultados
Os resultados
Os resultados
Os resultados
Os resultados
Os resultados
Os resultados
Os resultados

Como você pode ver as imagens ficaram ótimas! E a melodia também! Espero que você tenha assistido ao vídeo em que toda a demonstração está presente.

Espero que esta versão do PUBG do Arduino seja um projeto empolgante para todos os entusiastas de jogos e eletrônicos.

Sinta-se à vontade para compartilhar seus comentários nos comentários e quaisquer sugestões. Além disso, considere inscrever-se em meu canal para obter mais conteúdo desse tipo, pois isso faz parte da série OLED na qual estou trabalhando. Deixe-me saber se você construir este projeto divertido:)

Até a próxima vez.

Recomendado: