Générateur de musique aléatoire Arduino: 5 étapes (avec photos)

Générateur de musique aléatoire Arduino: 5 étapes (avec photos)

Table des matières:

Anonim

C'était l'un de mes tout premiers projets Arduino et c'est la définition même de la simplicité.

Là où j'habite, il n'y a pas de magasin pour acheter des composants électroniques, et Amazon et eBay ont leurs propres démérites. Ainsi, chaque fois que je réalisais un projet Arduino, je récupérais toutes les pièces des objets cassés.

Il s’agit d’un projet de niveau débutant, qui peut être modifié par une personne qui n’a même jamais acheté un Arduino.

De plus, ceci est mon inscription au concours «Make Noise», alors votez!

Provisions:

Étape 1: matériaux

Pour ce projet, vous aurez besoin de

• (x1) Arduino Uno (C’est celui que je recommande personnellement aux débutants, mais tout Arduino serait OK)

• (x2) câbles de démarrage mâle à mâle / mâle à femelle

• (x1) buzzer ou haut-parleur piézo (j'ai récupéré le mien)

• Châssis optionnel, je n'en ai pas utilisé.

• Fer à souder, coupe-fil, etc.

Vous aurez également besoin d'un ordinateur.

Étape 2: sauver le président

J'ai eu ce haut-parleur pour environ 8 $, et ce n'est pas si mal. J'aurais pu connecter une entrée audio à l'Arduino, puis au haut-parleur à l'aide d'un câble auxiliaire, mais j'ai décidé qu'il serait plus simple de la séparer et de prendre le composant dont j'ai besoin.

Après avoir brisé le haut-parleur, j'ai eu besoin de souder les câbles de démarrage, c'est ce que j'ai fait. Je n’entrerai pas dans les détails ici, mais tout ce dont vous avez besoin, c’est de l’enceinte proprement dite, reliée à deux fils par les bornes positive et négative.

Passons maintenant au projet actuel et faisons du bruit.

Étape 3: IDE Arduino

Commencez par installer l'IDE Arduino disponible ici.

Avant de commencer à coder, vous devez sélectionner l’option dans le menu Outils >> Carte qui correspond à votre carte Arduino. Aux fins de ce projet, je vais considérer l'ONU.

Ensuite, sélectionnez le périphérique série de la carte dans le menu Outils >> Port série. La plupart du temps, c'est COM3 ou supérieur. Vous pouvez déconnecter la carte et vous reconnecter. L’option qui apparaît serait votre port. Sélectionnez le port.

Ouvrez un nouveau fichier et craquez vos doigts. La partie la plus difficile de ce projet est à venir.

Étape 4: le code

Une chose que je déteste au sujet de beaucoup de choses, c'est que le code n'est jamais expliqué. Ainsi, la personne qui lit serait simplement copier / coller. Pour éviter cela, je vais donner un aperçu général du code. De plus, le code ci-joint contient des explications plus spécifiques.

Ce que je fais essentiellement, c’est créer des valeurs aléatoires pour la fréquence et la durée des notes et les reproduire. J'ai donc installé la broche 10 comme sortie et créé des valeurs pour toutes les notes utilisées. Je les mets ensuite dans un tableau et demande à une fonction aléatoire d’appeler les différentes notes.

Voici l'esquisse (un autre mot pour le code dans la langue Arduino: D)

void setup() {

pinMode (10, OUTPUT); // Ce code ne fonctionne qu'une fois. Il attribue la sortie 10 à la broche 10 et c’est là que nous connecterons le haut-parleur.

randomSeed (analogRead (A0)); // Ceci crée une 'graine' aléatoire. Un premier point pour que la randomisation commence.

// La valeur de cette graine provient de l'entrée analogique 0, qui est vide. Par conséquent, il génère une valeur de bruit aléatoire.

}

int sp = 10; // Crée une variable pour contenir la valeur de speakerPin.

int c = 523;

int d = 587;

int e = 659;

int f = 698; // J'ai assigné les valeurs d'un octet de notes à 8 variables

int g = 784;

int a = 880;

int b = 988;

int c2 = 1047;

void loop () {// Il s'agit du code principal et il est exécuté à plusieurs reprises.

int notes = {c, d, e, g, a, c2, aléatoire (33,102), aléatoire (200,4978)}; // Crée un tableau de toutes les notes utilisées; Une sorte de dictionnaire indexé par les numéros 0 à 7

// J'ai ajouté 2 notes aléatoires ici pour ajouter du piquant à la tonalité. Les notes que j'ai choisies appartiennent à une gamme pentatonique.

int i = aléatoire (0,8); // Génère une valeur aléatoire entre 0 et 8, les index maximum et minimum des notes

retarder (150); // Crée un délai de 150 ms entre chaque note, afin qu'elle puisse être entendue distinctement.

ton (sp, notes i, 80); // Et enfin, la fonction tone génère une tonalité envoyée à la broche 'sp', d'une fréquence aléatoire de l'index i.

// La longueur de chaque note choisie est de 80.

}

Étape 5: Conclusion

Connectez l'extrémité positive de l'enceinte à la broche 10 et l'extrémité négative à GND. Connectez le câble USB, téléchargez votre esquisse et votre créateur de musique aléatoire est prêt!

Si vous le souhaitez, modifiez l’échelle (c’est-à-dire que les notes sont les notes de tableau), le minutage et modifiez-les. Vous pouvez également rechercher un algorithme de génération de musique et le mettre en œuvre. Je l'ai fait dans une autre version.

J'espère que vous avez apprécié cette simple introduction au monde d'Arduino et, plus important encore, à la programmation.

À votre santé!