Table des matières:

Chanson à thème PUBG + Animation avec Arduino ! : 13 étapes (avec photos)
Chanson à thème PUBG + Animation avec Arduino ! : 13 étapes (avec photos)

Vidéo: Chanson à thème PUBG + Animation avec Arduino ! : 13 étapes (avec photos)

Vidéo: Chanson à thème PUBG + Animation avec Arduino ! : 13 étapes (avec photos)
Vidéo: Z flip 4 Part 1 2024, Septembre
Anonim
Image
Image
Rassembler toutes les pièces
Rassembler toutes les pièces

Bonjour et bienvenue dans cet amusant instructable ! J'espère que vous allez tous bien et que vous restez en bonne santé. Ce petit mais étonnant projet consiste à jouer la chanson thème de PUBG et même à créer des animations de jeu à l'aide d'arduino.

Les composants utilisés sont très facilement disponibles et très faciles à assembler sur un morceau de maquette. Je vais partager l'ensemble du processus de construction et de codage dans ce instructable, restez jusqu'à la fin !

Je vous suggère fortement de regarder la vidéo pour avoir une idée du projet:) Si vous l'aimez, aimez et partagez la vidéo. Pensez à vous abonner à ma chaîne si vous appréciez ma construction. Merci !

Alors, sans plus tarder, commençons !

Étape 1: Rassembler toutes les pièces

Rassembler toutes les pièces
Rassembler toutes les pièces

La construction se compose principalement d'un Arduino Nano qui est le noyau principal de ce projet. Vous pouvez utiliser n'importe quelle autre variante d'Arduino comme le populaire Arduino Uno, Arduino Pro Mini, Arduino Mega, etc. Pour afficher les animations et les images, j'ai décidé d'utiliser un écran OLED de 0,96 pouce avec une résolution de 128 par 64 pixels. Cet affichage peut être des interfaces avec l'arduino avec le protocole I2C qui ne nécessite que deux fils pour les données et l'horloge, réduisant ainsi le nombre de connexions et rendant le projet plus compact. Pour jouer la mélodie du thème PUBG, j'ai utilisé un buzzer 5V dont j'ai connecté la broche positive à la broche numérique 6 d'arduino et la masse va à la masse d'Arduino.

Voici la liste des pièces nécessaires au projet:

  1. Arduino Nano (ou toute autre carte arduino de votre choix)
  2. Module d'affichage OLED de 0,96 pouces
  3. Avertisseur 5V
  4. Fils de cavalier
  5. Planche à pain
  6. Câble de programmation Arduino

Étape 2: connexion de l'écran OLED

Connexion de l'écran OLED
Connexion de l'écran OLED
Connexion de l'écran OLED
Connexion de l'écran OLED
Connexion de l'écran OLED
Connexion de l'écran OLED

Un total de 4 connexions sont nécessaires pour que l'écran OLED soit connecté à partir d'arduino:

Vcc 5V d'Arduino

Gnd Gnd d'Arduino

SDA A4 d'Arduino

SCK A5 d'Arduino

Les broches A4 et A5 de l'arduino servent à plusieurs fins d'entrées analogiques ainsi que des broches pour la communication I2C. Ici, nous avons utilisé les broches du protocole I2C pour l'interfaçage avec le module d'affichage.

Le lien vers la librairie Adafruit utilisée dans ce projet:

Étape 3: connexion du buzzer

Connexion de l'avertisseur
Connexion de l'avertisseur
Connexion de l'avertisseur
Connexion de l'avertisseur

Le buzzer 5V a une borne d'alimentation positive et négative.

Broche positive D6 d'Arduino (broche numérique 6) (vous pouvez utiliser n'importe quelle broche numérique de l'arduino)

Broche négative Gnd d'Arduino

Nous allons créer la tonalité désirée sur la broche numérique D6 sur laquelle le buzzer jouera la mélodie.

Étape 4: toutes les connexions matérielles sont terminées

Toutes les connexions matérielles sont terminées
Toutes les connexions matérielles sont terminées
Toutes les connexions matérielles sont terminées
Toutes les connexions matérielles sont terminées

Toutes les connexions nécessaires de l'écran OLED et du buzzer sont terminées. Passons maintenant à la compréhension de l'aspect programmation du projet.

Étape 5: inclusion de la bibliothèque et initialisation des protocoles d'affichage

Inclusion de la bibliothèque et initialisation des protocoles d'affichage
Inclusion de la bibliothèque et initialisation des protocoles d'affichage

L'ensemble du programme a été séparé en 3 volets:

  1. Le programme principal comprenant l'initialisation et les séquences d'affichage d'image et de mélodie
  2. fichier "pitchs.h" constitué de la liste des notes de musique et de la fréquence associée
  3. Fichier "pictures.h" constitué de bitmaps des images à afficher.

Le processus de conversion d'une image en un tableau bitmap pour l'affichage OLED est abordé dans les étapes à venir.

Je vais également joindre l'intégralité du code avec cette instructable à utiliser:)

Étape 6: La mélodie de la chanson thème

La mélodie de la chanson thème
La mélodie de la chanson thème
La mélodie de la chanson thème
La mélodie de la chanson thème

J'ai recherché sur Internet les notes de base qui composent la chanson thème de PUBG, puis je les ai ajoutées à la gamme de mélodies.

En passant un temps considérable à jouer et à rejouer la séquence mélodique, j'ai ensuite créé le tableau de durée qui concerne la durée pendant laquelle chaque note doit être jouée. La combinaison du tableau de mélodies et du tableau de durée comprend les informations complètes pour jouer la chanson.

Étape 7: Lecture de la chanson au démarrage

Lecture du morceau au démarrage
Lecture du morceau au démarrage

Il y a un total de 63 notes que j'ai utilisées pour composer la séquence mélodique. En utilisant une boucle for et en itérant à travers les notes et le tableau de durée avec une pause prédéterminée entre chaque note, la séquence entière est jouée une fois, car ce morceau de code se trouve dans le void setup(). Fait intéressant, aucun code de ce projet n'utilise la boucle vide () du code arduino car j'ai l'intention de lire et d'afficher les images une seule fois. Bien sûr, si vous voulez une séquence répétitive, vous devez la mettre dans la fonction void loop().

Étape 8: Conversion des images en bitmaps

Conversion des images en bitmaps…
Conversion des images en bitmaps…

Maintenant, la partie intéressante du projet est le processus de conversion d'une image en un tableau bitmap pour l'écran OLED en fonction de sa densité de pixels. Pour cela j'ai trouvé l'outil en ligne préfet qui nous permet de générer les bitmaps personnalisés.

Le lien pour cette application en ligne est:

Grâce aux incroyables créateurs de cette application, cela rend mon travail beaucoup plus facile.

En accédant au lien, vous devez d'abord télécharger l'image dont vous souhaitez créer le bitmap. Une chose à noter ici est que vous devriez essayer de sélectionner des images qui n'ont pas beaucoup de contraste de couleur, essayez de vous en tenir à des images avec quelques couleurs unies, sans aucun dégradé pour obtenir de meilleurs résultats

Étape 9: Ajuster la résolution en fonction de votre écran

Ajuster la résolution en fonction de votre écran
Ajuster la résolution en fonction de votre écran

Dans l'étape suivante, nous devons redimensionner l'image en fonction de la résolution d'affichage. Pour notre écran OLED, il fait 28 pixels de large et 64 pixels de haut, que j'ai ajustés comme indiqué sur l'image. Ajustez le seuil de luminosité pour vous assurer que l'image est considérablement claire (c'est là que l'avantage d'utiliser des images avec des couleurs unies entre en jeu, plus les dégradés de couleurs sont nombreux, la qualité de l'image en affichage monochrome se dégradera car elle gâchera le seuil de luminosité).

L'étape suivante consiste à adapter l'image à l'écran en gardant les proportions intactes et en ajustant la symétrie pour laquelle les options sont déjà là. Vous pouvez explorer ces options pour obtenir la sortie d'image souhaitée. Pour référence, vous bénéficiez également de l'incroyable option d'aperçu !

Étape 10: Génération du tableau Bitmap

Génération du tableau bitmap
Génération du tableau bitmap

Après avoir ajusté les paramètres de l'image, à l'étape suivante, sélectionnez simplement le code Arduino comme format de sortie et cliquez sur générer pour obtenir le tableau bitmap souhaité !

Là! vous avez converti avec succès votre image en tableau bitmap souhaité. J'ai fait ce processus pour un total de 7 images et les ai enregistrées.

Étape 11: Affichage des images en séquence

Affichage des images en séquence
Affichage des images en séquence
Affichage des images en séquence
Affichage des images en séquence
Affichage des images en séquence
Affichage des images en séquence

Pour afficher les images, j'ai utilisé la fonction Arduino millis() pour appeler la fonction draw() qui est essentiellement un ensemble de commandes pour effacer l'affichage, tracer le tableau bitmap sur l'OLED et initialiser l'affichage. La logique principale étant qu'après toutes les 3,5 secondes, l'image est modifiée et l'image suivante est affichée. Eh bien, 3,5 secondes n'est pas un nombre unique, je viens de comprendre que si je divise la durée totale de la mélodie par 7 images, j'obtiens environ 3,5 secondes pour chaque affichage. Vous pouvez ajouter plus d'images à cela et réduire le temps d'affichage pour chaque image si vous le souhaitez.

Les extraits de code expliquent comment les fonctions sont appelées en fonction de la fonction millis().

Les tableaux bitmap entiers des images sont stockés dans le fichier "pictures.h"

Étape 12: Le code complet:

Ici, je partage l'intégralité du code pour que vous puissiez tous jouer et expérimenter !

Une fois que tout semble bien, il est temps de le télécharger sur le tableau:)

Étape 13: Les résultats:

Les résultats
Les résultats
Les résultats
Les résultats
Les résultats
Les résultats
Les résultats
Les résultats

Comme vous pouvez le voir, les images sont superbes ! Et la mélodie aussi ! J'espère que vous avez regardé la vidéo dans laquelle toute la démonstration est présente.

J'espère que cette version Arduino de PUBG est un projet passionnant pour tous les passionnés de jeux et d'électronique.

N'hésitez pas à partager vos commentaires dans les commentaires et à partager vos suggestions. Pensez également à vous abonner à ma chaîne pour plus de contenu, car cela fait partie de la série OLED sur laquelle je travaille. Faites-moi savoir si vous construisez ce projet amusant:)

Jusqu'à la prochaine fois.

Conseillé: