Innholdsfortegnelse:
- Trinn 1: Deler brukt
- Trinn 2: Koden
- Trinn 3: Start kretsen
- Trinn 4: ULN2803
- Trinn 5: Legge til lyd
- Trinn 6: Konklusjon
Video: Musical Fairy Lights: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Av IanCummingFølg Mer av forfatteren:
Om: Jeg liker å lage ting fra raketter til elektronikk. Mer om IanCumming »
Velkommen alle sammen
Det er nesten høytid og antall butikker har begynt å slukke sine festlige dekorasjoner, jeg tenkte at det var omtrent riktig tidspunkt å bygge noen musikalske eventyr!
Trinn 1: Deler brukt
Jeg bruker følgende:
- 12 lysdioder
- 12 Strømbegrensende motstander
- 1 ULN 2803 Darlington Transistor Array
- Noen hoppetråder
- En piezo -høyttaler
- Et brødbrett og
- en Arduino
- For å lage strengen med eventyrlys brukte jeg 5 ledninger fra en Ethernet -kabel
Trinn 2: Koden
// GLOBAL VARS int barTime = 1200; // 8/8 = 1000 ms byte nrLEDS = 4; // 4 Base -lysdioder, Du kan legge til mange parallelle byte -lysdioder = {3, 4, 5, 6}; byte høyttaler = 11; byte patternLength = 64; // mønster Length byte 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}; // Strukturen er notatnummer da // Notatlengde i 8.s konst byte -mønster = {// Mønsterdata 0b0001, 0b0010, 0b0100, 0b1000, // Bits korresponderer til 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, 0b110, 0b, 0b, 0b 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b1100, 0b0000 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
For det første erklærer jeg mine variabler, de interessante er Song and Pattern.
- Sangen lagrer melodien; i dette tilfellet er det Jingle bells.
- Mønsteret lagrer på og av posisjoner i bitene av verdiene i matrisen.
Tilpassede funksjoner
// FUNKSJONER int noteToHz (int note) {// Convert a Note Nr. til Frekvens flytefrekvens = 440 * (pow (1.059463094359, note-21)); // -21 gir deg notat 1 ved C3 (I Think) return int (freq); // Resultatene er nøyaktige til 1 Hz} ugyldige lys -LED -er (byte PORT_X) {// Kontroll -LEDs tilstand for (int q = 0; q
De to funksjonene jeg har vil gjøre følgende:
- Beregn frekvensen for tonefunksjonen i sløyfen
- Slå LED -lampene på eller av avhengig av verdien som sendes til funksjonen
Oppsettfunksjon
ugyldig oppsett () {// setup OUTPUT pins pinMode (høyttaler, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}
I oppsettfunksjonen satte jeg de nødvendige pinnene til OUTPUT.
Sløyfe -funksjon
void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notes, Length and play melody int note = noteToHz (song [t * 2]); int lengde = ((sang [(t * 2) +1] * barTime) / 8); tone (høyttaler, notat, lengde - 50); // Blinkende lys! lightLEDs (mønster [t % patternLength]); forsinkelse (lengde); } // Silence Loop int randomSilence = tilfeldig (1000, 5000); for (int t = 0; t
Jeg har 2 sløyfer i Main Loop -funksjonen. En sangsløyfe og en stillhetssløyfe
Sangløkken vil lese dataene fra sangmatrisen, spille noten ved hjelp av tonefunksjonen
Sangløkken vil,
- Les dataene fra sangmatrisen,
- Spill deretter noten ved hjelp av tonefunksjonen
- Lys opp LED -ene, lesemønsterarray.
I Silence loop
bare lysdiodene lyser
Koble til Arduino og last opp koden. (Koble den deretter fra)
Trinn 3: Start kretsen
Jeg skal begynne med lysstrengen
- Jeg brukte ledning fra en Ethernet -kabel og loddet tre lysdioder parallelt fire ganger, og passet på å skille ut lysdiodene jevnt over omtrent 2 meter
- Jeg loddet anoden til hver ledning til en enkelt ledning.
- Deretter katoden til hver LED til 4 separate ledninger. Med en motstand selvfølgelig
- Jeg gjentok denne prosessen 3 ganger for å få en streng på 12 lysdioder, og jeg satte toppstifter på enden av de 5 ledningene
Koble de positive og jordede skinnene til brødbrettet
Trinn 4: ULN2803
Plasser ULN2308 Chip på brødbrettet
ULN2308 er en transistormatrischip; fra databladet kan jeg se
- Den pinnen 1 er en inngang som slår pinne 18 "PÅ"
- Pin 2 slår på 17. Etc.
- Pin 9 er malt
- Koble pinne 9 på brikken til bakkeskinnen
- Koble den positive skinnen til en rekkeklemme, en strimmel over pinne 18. (Du vil se hvorfor om et minutt)
- Koble pinne 1 på brikken til pinne 3 på Arduino
- 2 går til 4
- 3 av brikken går til 5 og
- 4 går til pinne 6 på Arduino
- Legg LED -strengen på brødbrettet. Der den vanlige anodetråden er koblet til stripen tilkoblet 5 volt. Resten av fe -lyspinnene skal gå til pinne 18, 17, 16 og 15 på brikken.
Trinn 5: Legge til lyd
- Koble Piezo -høyttaleren mellom to klemmelister
- Koble den negative polen til Piezo -elementet til jord og
- Den andre enden av høyttaleren til pinne 11
Trinn 6: Konklusjon
Jeg har en lysstråle som tilfeldig vil spille jinglebells for å minne meg om at det er høytiden.
Anbefalt:
Fairy Light Battery Saver: 8 trinn (med bilder)
Fairy Light Battery Saver: CR2032 batterier er flotte, men de varer ikke så lenge vi skulle ønske når vi kjører LED " Fairy Light " Med høytiden her, bestemte jeg meg for å endre noen få 20 strenger for å løpe ut av en USB -strømbank. Jeg søkte på nettet og
Creative Switch Fairy Tree: 23 trinn (med bilder)
Creative Switch Fairy Tree: Jeg skal vise deg hvordan du lager dette glødende eventyret. Bryteren er eventyren selv, og lysene tennes hvis hun plasseres på stedet, og slås av igjen hvis hun flyttes. TIPS: Gløden blir ikke sett godt i lyset, så slå den på i
Pust: Fading Fairy Lights in a Glass Block: 6 trinn
Pust: Fading Fairy Lights in a Glass Block: Til jul i år bestemte jeg meg for å bruke en glassblokk, en PWM -kontroller og noen LED fairy light -tråder for å gi kona en fargerik gave
Musical Menorah (laget med Arduino): 13 trinn (med bilder)
Musical Menorah (laget med Arduino): Chanukah kommer snart! Så jeg tenkte at det ville være en god idé å lage et prosjekt knyttet til ferien. Jeg lagde denne kule Chanukah -menoraen med en Arduino som spiller en annen sang hver gang du endrer natten ved å trykke på knappen. Lysdiodene
Fairy Juicing Cocktail Robot: 7 trinn (med bilder)
Fairy Juicing Cocktail Robot: Dette prosjektet ble bygget for Roboexotica -konferansen i 2008 i Wien, Østerrike, hvor det ble førsteplass i kategorien drikkeservering. Slik ble den laget