
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11


Av IanCummingFölj mer av författaren:





Om: Jag gillar att göra saker från raketer till elektronik. Mer om IanCumming »
Välkommen alla
Det är nästan högsäsong och antalet butiker har börjat släcka sina festliga dekorationer, jag trodde att det var ungefär rätt tid att bygga några musikaliska sagoljus!
Steg 1: Använda delar

Jag kommer att använda följande:
- 12 lysdioder
- 12 Strömbegränsande motstånd
- 1 ULN 2803 Darlington Transistor Array
- Några bygeltrådar
- En piezohögtalare
- En brödbräda och
- en Arduino
- För att göra strängen med sagoljus använde jag 5 ledningar från en Ethernet -kabel
Steg 2: Koden
// GLOBAL VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 bas -lysdioder, Du kan lägga till många parallella byte -lysdioder = {3, 4, 5, 6}; bytehögtalare = 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 är notnummer sedan // Notlängd i åttonde konst byte mönster = {// Mönsterdata 0b0001, 0b0010, 0b0100, 0b1000, // Bits korrigerar till 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, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b1100, 0b1100 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
Först och främst deklarerar jag mina variabler, de intressanta är Song och Pattern.
- Låten lagrar låten; i det här fallet är det Jingle bells.
- Mönstret lagrar på och av positioner i bitarna av värdena i matrisen.
Anpassade funktioner
// FUNKTIONER int noteToHz (int note) {// Convert a Note Nr. till Frequency float freq = 440 * (pow (1.059463094359, not 21)); // -21 ger dig not 1 vid C3 (I Think) return int (freq); // Resultaten är korrekta för 1hz} void lightLEDs (byte PORT_X) {// Control LED's State for (int q = 0; q
De två funktioner jag har kommer att göra följande:
- Beräkna frekvensen för tonfunktionen i slingan
- slå på eller stäng av lysdioderna beroende på värdet som överförs till funktionen
Inställningsfunktion
void setup () {// setup OUTPUT pins pinMode (högtalare, OUTPUT); för (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}
I inställningsfunktionen ställer jag in stiften som krävs på OUTPUT.
Loop -funktion
void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notes, Length and play melody int note = noteToHz (song [t * 2]); int length = ((song [(t * 2) +1] * barTime) / 8); ton (högtalare, anteckning, längd - 50); // Blinkande ljus! lightLEDs (mönster [t % patternLength]); fördröjning (längd); } // Silence Loop int randomSilence = random (1000, 5000); för (int t = 0; t
Jag har två slingor i Main Loop -funktionen. En sångslinga och en tystnadsslinga
Sångslingan kommer att läsa data från sångmatrisen, spela noten med tonfunktionen
Sångslingan kommer,
- Läs data från sångmatrisen,
- Spela sedan noten med tonfunktionen
- Tänd lysdioderna, läsmönstermatris.
I Silence loop
bara lysdioderna lyser
Anslut Arduino och ladda upp koden. (Koppla sedan ur den)
Steg 3: Starta kretsen




Jag ska börja med ljussträngen
- Jag använde tråd från en Ethernet -kabel och lödde 3 lysdioder parallellt fyra gånger och såg till att lysdioderna var jämnt över cirka 2 meter
- Jag lödde anoden på varje led till en enda tråd.
- Sedan katoden för varje LED till 4 separata ledningar. Med ett motstånd förstås
- Jag upprepade denna process 3 gånger för att få en sträng med 12 lysdioder och jag satte huvudstiften på slutet av de 5 trådarna
Anslut de positiva och slipade skenorna till brödbrädan
Steg 4: ULN2803



Lägg ULN2308 -chipet på brödbrädet
ULN2308 är ett transistormatrischip; från databladet kan jag se
- Pin 1 är en ingång som slår pin 18 "ON"
- Pin 2 tänder 17. Etc.
- Pin 9 är slipad
- Anslut stiftets 9 stift till markskenan
- Anslut den positiva skenan till en plintremsa, en remsa ovanför stift 18. (Du kommer att se varför om en minut)
- Anslut stift 1 på chipet till stift 3 på Arduino
- 2 går till 4
- 3 av chipet går till 5 och
- 4 går till stift 6 på Arduino
- Placera LED -strängen på brödbrädan. Där den gemensamma anodtråden är ansluten till remsan ansluten till 5 volt. Resten av fairy light pins ska gå till pin 18, 17, 16 och 15 i chipet.
Steg 5: Lägga till ljud

- Anslut Piezo -högtalaren mellan 2 plintremsor
- Anslut Piezo -elementets negativa pol till jord och
- Den andra änden av högtalaren till stift 11
Steg 6: Slutsats


Jag har en ljusslinga som slumpmässigt kommer att spela klingande klockor för att påminna mig om att det är högtid.
Rekommenderad:
Fairy Light Battery Saver: 8 steg (med bilder)

Fairy Light Battery Saver: CR2032 -batterier är bra, men de håller inte så länge som vi skulle vilja när vi kör LED " Fairy Light " Med semesterperioden här bestämde jag mig för att ändra några 20 ljussträngar för att sluta med en USB -powerbank. Jag sökte online och
Creative Switch Fairy Tree: 23 steg (med bilder)

Creative Switch Fairy Tree: Jag ska visa dig hur du skapar detta glödande sagoträd. Brytaren är älven själv, och lamporna tänds om hon placeras på sin plats och släcks igen om hon flyttas.TIPS: Glödet syns inte bra i ljuset, så tänd det i
Andas: Fading Fairy Lights i ett glasblock: 6 steg

Andas: Fading Fairy Lights in a Glass Block: Till jul i år bestämde jag mig för att använda ett glasblock, en PWM -kontroller och några LED -fairy light -trådar för att ge min fru en färgstark present
Enkelt nattljus med Fairy Lights: 3 steg (med bilder)

Simple Night Light Using Fairy Lights: Jag brukade använda en enkel nattlampa, men sedan hade jag några fantastiska fairy lights, tänkte varför inte använda dem som nattljus istället? Detta förhindrar också att lampan från glödlampan stör sömnen om jag någonsin vaknade. på natten och viktigast av allt är utsikten fantastisk.
Fairy Juicing Cocktail Robot: 7 steg (med bilder)

Fairy Juicing Cocktail Robot: Detta projekt byggdes för Roboexotica -konferensen 2008 i Wien, Österrike, där det blev första plats i kategorin dryckesservering. Så här gjordes det