Guirlandes lumineuses musicales : 6 étapes (avec photos)
Guirlandes lumineuses musicales : 6 étapes (avec photos)
Anonim
Image
Image

Par IanCummingSuivez plus par l'auteur:

Intervalomètre Arduino
Intervalomètre Arduino
Pas seulement une minuterie d'une heure
Pas seulement une minuterie d'une heure
Pas seulement une minuterie d'une heure
Pas seulement une minuterie d'une heure
Thermomètre à un pixel
Thermomètre à un pixel
Thermomètre à un pixel
Thermomètre à un pixel

À propos: J'aime faire des trucs allant des fusées à l'électronique. En savoir plus sur IanCumming »

Bienvenue tout le monde

C'est bientôt la saison des fêtes et de nombreux magasins ont commencé à sortir leurs décorations festives, j'ai pensé que c'était le bon moment pour construire des guirlandes musicales !

Étape 1: Pièces utilisées

Pièces utilisées
Pièces utilisées

J'utiliserai les éléments suivants:

  • 12 LED
  • 12 résistances de limitation de courant
  • 1 matrice de transistors Darlington ULN 2803
  • Quelques fils de cavalier
  • Un haut-parleur piézo
  • Une planche à pain et
  • un Arduino
  • Pour faire la guirlande lumineuse j'ai utilisé 5 fils d'un câble Ethernet

Étape 2: le code

//GLOBAL VARS int barTime = 1200; // 8/8 = octet 1000ms nrLEDS = 4; // 4 LED de base, vous pouvez ajouter de nombreuses LED d'octets en parallèle = { 3, 4, 5, 6}; octet haut-parleur = 11; octet patternLength = 64; // longueur du motif octet songLength = 51; const byte song = { // Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // La structure est Note Number then // NoteLength in 8th's const byte pattern = { //Pattern Data 0b0001, 0b0010, 0b0100, 0b1000, //Bits corrispond to Leds in Array 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b001, 0b, 0b0011, 0b0001, 0b0011, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b, 0b1100, 0b001 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, };

Tout d'abord, je déclare mes variables, les plus intéressantes étant Song et Pattern.

  • La chanson stocke la mélodie; dans ce cas, il s'agit de Jingle Bells.
  • Le modèle stocke les positions d'activation et de désactivation dans les bits des valeurs du tableau.

Fonctions personnalisées

//FONCTIONS int noteVersHz(int note) { // Convertir un Note Nr. to Frequency float freq = 440 * (pow(1.059463094359, note-21)); // -21 vous donne la note 1 en C3 (je pense) return int(freq); // Les résultats sont précis à 1hz } void lightLEDs(byte PORT_X) { // État de la LED de contrôle pour (int q = 0;q

Les deux fonctions que j'ai feront ce qui suit:

  • Calculer la fréquence de la fonction de tonalité dans la boucle
  • allumer ou éteindre les LED en fonction de la valeur passée à la fonction

Fonction de configuration

void setup() { // configurer les broches de SORTIE pinMode (haut-parleur, SORTIE); for(int t = 0; t < nrLEDS; t++){ pinMode(leds[t], OUTPUT); } }

Dans la fonction de configuration, j'ai défini les broches requises sur SORTIE.

Fonction de boucle

void loop() { // Music Loop for (int t = 0; t < songLength; t++) { // Notes, Longueur et joue la mélodie int note = noteToHz(song[t * 2]); int longueur = ((chanson[(t * 2)+1] * barTime) / 8); ton (haut-parleur, note, longueur - 50); // Lumières clignotantes! lightLEDs(motif[t % patternLength]); délai (longueur); } // Boucle de silence int randomSilence = random(1000, 5000); pour (int t = 0;t

J'ai 2 boucles dans la fonction Main Loop. Une boucle de chanson et une boucle de silence

La boucle de chanson lira les données du tableau de chansons, jouera la note en utilisant la fonction de tonalité

La boucle de chanson sera,

  • Lire les données du tableau de chansons,
  • Jouez la note à l'aide de la fonction de tonalité puis
  • Allumez les LED, lisez le tableau de motifs.

Dans la boucle du silence

seules les LED sont allumées

Branchez l'Arduino et téléchargez le code. (Puis débranchez-le)

Étape 3: Démarrage du circuit

Démarrage du circuit
Démarrage du circuit
Démarrage du circuit
Démarrage du circuit
Démarrage du circuit
Démarrage du circuit
Démarrage du circuit
Démarrage du circuit

Je vais commencer avec la guirlande lumineuse

  • J'ai utilisé le fil d'un câble Ethernet et soudé 3 LED en parallèle quatre fois, en veillant à espacer les LED uniformément sur environ 2 mètres
  • J'ai soudé l'anode de chaque led à un seul fil.
  • Puis la cathode de chaque LED à 4 fils séparés. Avec une résistance bien sûr
  • J'ai répété ce processus 3 fois pour obtenir une chaîne de 12 LED et j'ai mis des broches d'en-tête à l'extrémité des 5 fils

Connectez les rails positifs et au sol à la planche à pain

Étape 4: L'ULN2803

L'ULN2803
L'ULN2803
L'ULN2803
L'ULN2803
L'ULN2803
L'ULN2803

Placez la puce ULN2308 sur la planche à pain

L'ULN2308 est une puce à matrice de transistors; de la fiche technique je peux voir

  • Cette broche 1 est une entrée qui active la broche 18 "ON"
  • La broche 2 active 17. Etc.
  • La broche 9 est mise à la terre
  • Connectez la broche 9 de la puce au rail de terre
  • Connectez le rail positif à un bornier, une bande au-dessus de la broche 18. (Vous verrez pourquoi dans une minute)
  • Connectez la broche 1 de la puce à la broche 3 de l'Arduino
  • 2 va à 4
  • 3 de la puce va à 5 et
  • 4 va à la broche 6 de l'Arduino
  • Placez la chaîne LED sur la planche à pain. Où le fil d'anode commun est connecté à la bande connectée à 5 volts. Le reste des broches de la guirlande lumineuse doit aller aux broches 18, 17, 16 et 15 de la puce.

Étape 5: Ajout de son

Ajout de son
Ajout de son
  • Connectez le Piezo Speaker entre 2 borniers
  • Connectez le pôle négatif de l'élément Piezo à la terre et
  • L'autre extrémité du haut-parleur à la broche 11

Étape 6: Conclusion

Conclusion
Conclusion
Conclusion
Conclusion

J'ai une guirlande lumineuse qui jouera au hasard des cloches pour me rappeler que c'est la saison des fêtes.