Sommario:
- Passaggio 1: parti utilizzate
- Passaggio 2: il codice
- Passaggio 3: avvio del circuito
- Passaggio 4: ULN2803
- Passaggio 5: aggiunta di suoni
- Passaggio 6: conclusione
Video: Luci delle fate musicali: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Di IanCummingFollow Altro dell'autore:
A proposito: mi piace fare cose dai razzi all'elettronica. Maggiori informazioni su IanCumming »
Benvenuti a tutti
È quasi il periodo delle feste e molti negozi hanno iniziato a mettere in mostra le loro decorazioni festive, ho pensato che fosse il momento giusto per costruire delle lucine musicali!
Passaggio 1: parti utilizzate
Userò quanto segue:
- 12 LED
- 12 resistori di limitazione di corrente
- 1 ULN 2803 Array di transistor Darlington
- Alcuni ponticelli
- Un altoparlante piezo
- Un tagliere e
- un Arduino
- Per realizzare la stringa di lucine ho usato 5 fili di un cavo Ethernet
Passaggio 2: il codice
// GLOBAL VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 LED di base, puoi aggiungere molti LED a byte paralleli = { 3, 4, 5, 6}; byte altoparlante = 11; byte patternLength = 64; // pattern Length byte songLength = 51; const byte song = { // Jingle Bells Dati 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 struttura è il numero della nota quindi // NoteLength nel modello di byte const dell'ottavo = { //Pattern Data 0b0001, 0b0010, 0b0100, 0b1000, //I bit corrispondono ai LED nell'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, 0b0010, 0b001,011, 0 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b 0b1100, 001, 0b, 0011 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, };
Prima di tutto dichiaro le mie variabili, quelle interessanti sono Song e Pattern.
- La canzone memorizza la melodia; in questo caso si tratta di Jingle bells.
- Il modello memorizza le posizioni di attivazione e disattivazione nei bit dei valori nell'array.
Funzioni personalizzate
//FUNZIONI int noteToHz(int note) { //Converti una nota n. a Frequenza float freq = 440 * (pow(1.059463094359, nota-21)); // -21 ti dà la nota 1 a C3 (Penso) return int(freq); // I risultati sono precisi a 1hz } void lightLEDs(byte PORT_X) { // Controlla lo stato del LED per (int q = 0;q
Le due funzioni che ho faranno quanto segue:
- Calcola la frequenza per la funzione di tono nel loop
- accendere o spegnere i LED a seconda del valore passato alla funzione
Funzione di configurazione
void setup() { //setup pin OUTPUT pinMode(speaker, OUTPUT); for(int t = 0; t < nrLEDS; t++){ pinMode(leds[t], OUTPUT); } }
Nella funzione di setup ho impostato i pin richiesti su OUTPUT.
Funzione loop
void loop() { // Music Loop for (int t = 0; t < songLength; t++) { // Note, lunghezza e suona la melodia int note = noteToHz(song[t * 2]); int lunghezza = ((canzone[(t * 2)+1] * barTime) / 8); tono(altoparlante, nota, lunghezza - 50); // Luci lampeggianti! lightLEDs(pattern[t % patternLength]); ritardo (lunghezza); } // Silence Loop int randomSilence = random(1000, 5000); per (int t = 0;t
Ho 2 loop nella funzione Main Loop. Un loop di una canzone e un loop di silenzio
Il loop della canzone leggerà i dati dall'array della canzone, suonerà la nota usando la funzione tono
Il loop della canzone sarà,
- Leggi i dati dall'array di canzoni,
- Suona la nota usando la funzione tono quindi
- Accendi i LED, leggendo l'array di pattern.
Nel ciclo del silenzio
solo i LED sono accesi
Collega Arduino e carica il codice. (Poi scollegalo)
Passaggio 3: avvio del circuito
Inizierò con la serie di luci
- Ho usato il filo di un cavo Ethernet e ho saldato 3 LED in parallelo quattro volte, assicurandomi di distanziare i LED in modo uniforme su circa 2 metri
- Ho saldato l'anodo di ogni led ad un unico filo.
- Poi il catodo di ogni led a 4 fili separati. Con un resistore ovviamente
- Ho ripetuto questo processo 3 volte per ottenere una stringa di 12 LED e ho inserito i pin di intestazione all'estremità dei 5 fili
Collegare i binari positivo e di terra alla breadboard
Passaggio 4: ULN2803
Posiziona il chip ULN2308 sulla breadboard
L'ULN2308 è un chip array di transistor; dalla scheda tecnica posso vedere
- Quel pin 1 è un ingresso che porta il pin 18 "ON"
- Il pin 2 accende il 17. Eccetera.
- Il pin 9 è a terra
- Collegare il pin 9 del chip al binario di terra
- Collega il binario positivo a una morsettiera, una striscia sopra il pin 18. (Vedrai perché in un minuto)
- Collega il pin 1 del chip al pin 3 di Arduino
- 2 va a 4
- 3 del chip va a 5 e
- 4 va al pin 6 di Arduino
- Posiziona la stringa di LED sulla breadboard. Dove il filo dell'anodo comune è collegato alla striscia collegata a 5 volt. Il resto dei pin della luce fatata dovrebbe andare al pin 18, 17, 16 e 15 del chip.
Passaggio 5: aggiunta di suoni
- Collegare l'altoparlante piezo tra 2 morsettiere
- Collegare il polo negativo dell'elemento Piezo a massa e
- L'altra estremità dell'altoparlante al pin 11
Passaggio 6: conclusione
Ho una serie di luci che suoneranno casualmente dei jingle bells per ricordarmi che è la stagione delle feste.
Consigliato:
Luci di Natale musicali automatiche fai da te (MSGEQ7 + Arduino): 6 passaggi (con immagini)
Luci natalizie musicali automatiche fai-da-te (MSGEQ7 + Arduino): quindi ogni anno dico che lo farò e non lo farò mai perché rimando molto. Il 2020 è un anno di cambiamenti, quindi dico che questo è l'anno per farlo. Quindi spero che ti piaccia e crea le tue luci natalizie musicali. Questo sarà un s
Albero delle fate dell'interruttore creativo: 23 passaggi (con immagini)
Albero delle fate dell'interruttore creativo: ti mostrerò come creare questo albero fatato luminoso. L'interruttore è la fata stessa e le luci si accendono se viene posizionata al suo posto e si spengono di nuovo se viene spostata. SUGGERIMENTO: il bagliore non si vede bene alla luce, quindi accendilo nel
Luci d'atmosfera musicali reattive: 5 passaggi (con immagini)
Music Reactive Mood Lights: Intro and Background. Tornato al primo anno (primavera del 2019), volevo abbellire la mia stanza del dormitorio. Mi è venuta l'idea di costruire le mie luci d'atmosfera che reagissero alla musica che ascoltavo in cuffia. Francamente non ho avuto particolari ispirazioni
Luce notturna semplice con le luci delle fate: 3 passaggi (con immagini)
Luce notturna semplice che usa le luci delle fate: usavo una semplice lampadina notturna, ma poi ho avuto delle fantastiche lucine, ho pensato perché non usarle invece come luce notturna? Questo impedisce anche alla luce della lampadina di disturbare il sonno se mai mi alzavo di notte e, soprattutto, la vista è incredibile
Luci di Natale musicali fai da te per principianti con Raspberry Pi: 12 passaggi (con immagini)
Luci di Natale musicali fai-da-te per principianti con Raspberry Pi: oggi seguirò i passaggi per utilizzare un lampone pi per far lampeggiare le luci di Natale con la musica. Con solo pochi dollari di materiale extra, ti guido attraverso la conversione delle tue normali luci di Natale in uno spettacolo di luci per tutta la casa. L'obiettivo lui