Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Voici comment jouer la mélodie de joyeux anniversaire sur le terrain de jeu de circuit de carte compatible Arduino d'Adafruit.
J'avais besoin de quelque chose de petit à intégrer dans une boîte pour une surprise de boîte d'anniversaire
Étape 1: Ajout du code
Copiez et collez ce code dans l'IDE Arduino puis nommez le fichier cpBirthday
/*La chanson joyeux anniversaire! Modifié pour fonctionner avec le Circuit Playground d'Adafruit
Pour jouer la chanson, appuyez simplement sur le bouton droit sur le Circuit Playground
Merci à Mike Barela pour avoir écrit un guide pour la bibliothèque de tonalités pour CP
Son tutoriel se trouve ici: https://learn.adafruit.com/circuit-playground-music/the-sound-of-music */
#include #include "emplacements.h"
// Notes de mélodie:
int melody= {NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_B3, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, NOTE_D4, NOTE_C4, NOTE_G3, NOTE_G3, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_B3, NOTE_A3, NOTE_4F, NOTE_A3, NOTE_4F, NOTE_C4, NOTE_D4, NOTE_C4 };
// durées des notes: 4 = noire, 8 = croche, etc.:
int noteDurations = { 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 3, 8, 8, 4, 4, 4, 2};
void setup() {
CircuitPlayground.begin();
}
boucle vide() {
if(CircuitPlayground.rightButton()) { for (int thisNote = 0; thisNote < 26; thisNote++) { int noteDuration = 1000/noteDurations[thisNote]; // pour calculer la durée de la note (1 seconde divisée par le type de note) CircuitPlayground.playTone(melody[thisNote], noteDuration); // pour distinguer les notes, définissez un temps minimum entre elles. int pauseBetweenNotes = noteDuration * 1,60; delay(pauseBetweenNotes); pas de tonalité(8); } } }
Ajoutez ensuite un nouvel onglet et nommez ce fichier pitches.h qui est une liste de notes et de leurs fréquences par Brett Hagman
-copiez et collez ce qui suit dans ce fichier
-sauvegarde le
/****************************************************** * Constantes publiques ************************************************* **/
#define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_AS1 58 NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2_117 #define #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define # NOTE_247ASdefine_B NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 # 440 #define_ 4945 NOTE_AS4def 466 # define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define_ NOTE_Bdefine 988_ 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 #1976 #define NOTE 22_C define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define # NOTE_Cdefine 4186 4699 #définir NOTE_DS8 4978
Étape 2: Télécharger le code
Assurez-vous d'avoir ajouté la prise en charge du Circuit Playground comme expliqué dans ce didacticiel d'Adafruit.
-Sélectionnez le Adafruit Circuit PLayground sous les planches ainsi que son port COM
-Cliquez sur télécharger
Étape 3: Rendez-le portable
- J'ai utilisé un support de batterie 3 x AAA avec interrupteur marche/arrêt et connecteur JST à 2 broches pour alimenter la carte
N'hésitez pas à modifier le code comme vous le souhaitez.
- Questions, commentaires, compliments et demandes sont tous les bienvenus:):