Table des matières:
- Étape 1: Rassembler toutes les pièces
- Étape 2: connexion de l'écran OLED
- Étape 3: connexion du buzzer
- Étape 4: toutes les connexions matérielles sont terminées
- Étape 5: inclusion de la bibliothèque et initialisation des protocoles d'affichage
- Étape 6: La mélodie de la chanson thème
- Étape 7: Lecture de la chanson au démarrage
- Étape 8: Conversion des images en bitmaps
- Étape 9: Ajuster la résolution en fonction de votre écran
- Étape 10: Génération du tableau Bitmap
- Étape 11: Affichage des images en séquence
- Étape 12: Le code complet:
- Étape 13: Les résultats:
Vidéo: Chanson à thème PUBG + Animation avec Arduino ! : 13 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
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
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:
- Arduino Nano (ou toute autre carte arduino de votre choix)
- Module d'affichage OLED de 0,96 pouces
- Avertisseur 5V
- Fils de cavalier
- Planche à pain
- Câble de programmation Arduino
Étape 2: 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
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 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
L'ensemble du programme a été séparé en 3 volets:
- Le programme principal comprenant l'initialisation et les séquences d'affichage d'image et de mélodie
- fichier "pitchs.h" constitué de la liste des notes de musique et de la fréquence associée
- 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
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
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
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
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
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
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:
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é:
Animation bitmap sur écran OLED SSD1331 (SPI) avec Visuino : 8 étapes
Animation bitmap sur l'écran OLED SSD1331 (SPI) avec Visuino : Dans ce tutoriel, nous allons afficher et déplacer une image bitmap sous une forme simple d'animation sur l'écran OLED SSD1331 (SPI) avec Visuino.Regarder la vidéo
Plate-forme d'animation en stop-motion Raspberry Pi : 16 étapes (avec photos)
Plate-forme d'animation en stop-motion Raspberry Pi : L'animation en stop-motion est une technique où les objets sont physiquement manipulés et photographiés image par image pour créer l'illusion d'une image en mouvement. Notre mini exposition d'animation en stop-motion est réalisée avec un Raspberry Pi. , qui est un "petit et aff
Table basse d'animation : 9 étapes (avec photos)
Table basse d'animation : Il existe de nombreux très bons instructables sur la façon de faire des tables basses interactives avec des matrices LED, et je me suis inspiré et des conseils de certains d'entre eux. Celui-ci est simple, bon marché et surtout destiné à stimuler la créativité : avec seulement deux boutons
Horloge d'animation SMART LED connectée au Web avec panneau de commande Web, synchronisation du serveur de temps : 11 étapes (avec images)
Horloge d'animation SMART LED connectée au Web avec panneau de commande Web, synchronisation du serveur de temps : l'histoire de cette horloge remonte à plus de 30 ans. Mon père a lancé cette idée quand j'avais à peine 10 ans, bien avant la révolution des LED - à l'époque où les LED atteignaient 1/1000 de la luminosité de leur éclat aveuglant actuel. Une véritable
Arduino Uno : animation bitmap sur écran tactile TFT ILI9341 avec Visuino : 12 étapes (avec images)
Arduino Uno : Animation bitmap sur ILI9341 TFT Écran tactile Shield avec Visuino : Les écrans tactiles TFT basés sur ILI9341 sont des écrans d'affichage à faible coût très populaires pour Arduino. Visuino les prend en charge depuis un certain temps, mais je n'ai jamais eu l'occasion d'écrire un didacticiel sur la façon de les utiliser. Récemment, cependant, peu de gens ont demandé