Tartalomjegyzék:

Zenés tündérfények: 6 lépés (képekkel)
Zenés tündérfények: 6 lépés (képekkel)

Videó: Zenés tündérfények: 6 lépés (képekkel)

Videó: Zenés tündérfények: 6 lépés (képekkel)
Videó: Elbűvölő, elhagyott rózsaszín meseház Németországban (érintetlen) 2024, November
Anonim
Image
Image

Kövesse a szerző további információit:

Arduino intervallométer
Arduino intervallométer
Nem csak egy óra időzítő
Nem csak egy óra időzítő
Nem csak egy óra időzítő
Nem csak egy óra időzítő
Egy Pixel hőmérő
Egy Pixel hőmérő
Egy Pixel hőmérő
Egy Pixel hőmérő

Névjegy: Szeretek cuccokat készíteni a rakétáktól az elektronikáig. További információ az IanCumming -ról »

Üdvözlünk mindenkit

Hamarosan itt az ünnepi szezon, és számos üzlet elkezdte kitenni ünnepi díszeit, úgy gondoltam, hogy itt az ideje, hogy zenés tündérfényeket építsünk!

1. lépés: Használt alkatrészek

Használt alkatrészek
Használt alkatrészek

Az alábbiakat fogom használni:

  • 12 LED
  • 12 Áramkorlátozó ellenállások
  • 1 ULN 2803 Darlington tranzisztor tömb
  • Néhány jumper vezeték
  • Piezo hangszóró
  • Egy kenyeretábla és
  • egy Arduino
  • A tündérlámpák elkészítéséhez 5 vezetéket használtam egy Ethernet kábelből

2. lépés: A kód

// GLOBAL VARS int barTime = 1200; // 8/8 = 1000 ms bájt nrLEDS = 4; // 4 Bázis LED, sok párhuzamos bájt LED -et hozzáadhat = {3, 4, 5, 6}; bájtos hangszóró = 11; bájtmintaHossz = 64; // minta Hossz bájt songLength = 51; const byte song = {// Jingle Bells adatok 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}; // A szerkezet megjegyzésszám, majd // NoteLength a 8. konstbájtos mintában = {// Mintaadatok 0b0001, 0b0010, 0b0100, 0b1000, // A bitek korrigálják a 0b0001, 0b0010, 0b0100, 0b1000, 0b0001 tömb Leds -jeit, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b00b 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

Először is kijelentem a változóimat, az érdekesek a Song és a Pattern.

  • A dal tárolja a dallamot; ebben az esetben Jingle bells.
  • A minta a be- és kikapcsolási pozíciókat tárolja a tömb értékeinek bitjeiben.

Egyéni funkciók

// FUNKCIÓK int noteToHz (int note) {// Megjegyzés konvertálása Nr. Frekvencia lebegési frekvencia = 440 * (pow (1.059463094359, 21. megjegyzés)); // -21 megadja az 1. megjegyzést a C3 (szerintem) return int (freq); // Az eredmények 1 Hz -es pontosságúak

A két funkcióm a következőket fogja tenni:

  • Számítsa ki a ciklus hangfunkciójának frekvenciáját
  • kapcsolja be vagy ki a LED -eket a funkciónak adott érték függvényében

Beállítási funkció

void setup () {// setup OUTPUT pin pinMode (hangszóró, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (ledek [t], OUTPUT); }}

A beállítási funkcióban a szükséges csapokat OUTPUT -ra állítottam.

Hurok funkció

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Jegyzetek, hossza és a dallam lejátszása int note = noteToHz (dal [t * 2]); int hossz = ((dal [(t * 2) +1] * barTime) / 8); hang (hangszóró, jegyzet, hossz - 50); // Villogó fények! lightLEDs (minta [t % patternLength]); késleltetés (hossz); } // Silence Loop int randomSilence = random (1000, 5000); for (int t = 0; t

2 hurok van a Main Loop funkcióban. Egy dalhurok és egy csendhurok

A dalhurok beolvassa a daltömb adatait, és a hangszín funkcióval játssza le a hangot

A dalhurok lesz,

  • Olvassa el a daltömb adatait,
  • Ezután játssza le a hangot a hangszín funkcióval
  • Világítsa meg a LED -eket, olvassa le a minta tömböt.

A Csend körben

csak a LED -ek világítanak

Csatlakoztassa az Arduino -t, és töltse fel a kódot. (Majd húzza ki a konnektorból)

3. lépés: Az áramkör indítása

A kör elindítása
A kör elindítása
A kör elindítása
A kör elindítása
A kör elindítása
A kör elindítása
A kör elindítása
A kör elindítása

Kezdem a fénysorozattal

  • Vezetéket használtam egy Ethernet -kábelből, és három LED -et párhuzamosan forrasztottam négyszer, ügyelve arra, hogy a LED -eket egyenletesen helyezze el körülbelül 2 méteren keresztül
  • Mindegyik anódot forrasztottam egyetlen vezetékhez.
  • Ezután az egyes LED -ek katódja 4 külön vezetékre. Természetesen ellenállással
  • Ezt a folyamatot háromszor megismételtem, hogy 12 LED -et kapjak, és fejléceket helyeztem az 5 vezeték végére

Csatlakoztassa a pozitív és a földi síneket a kenyértáblához

4. lépés: Az ULN2803

Az ULN2803
Az ULN2803
Az ULN2803
Az ULN2803
Az ULN2803
Az ULN2803

Helyezze az ULN2308 chipet a kenyértáblára

Az ULN2308 egy tranzisztoros tömb chip; az adatlapból látom

  • Ez az 1. tüske olyan bemenet, amely bekapcsolja a 18 -as érintkezőt
  • A 2 -es csap bekapcsolja a 17 -et. Stb.
  • A 9 -es csap le van csiszolva
  • Csatlakoztassa a chip 9. csapját a földi sínhez
  • Csatlakoztassa a pozitív sínt egy sorkapocshoz, egy csíkkal a 18. csap fölött. (Egy perc múlva látni fogja, miért)
  • Csatlakoztassa a chip 1. tűjét az Arduino 3. tűjéhez
  • 2 megy 4 -re
  • A chip 3 -ból 5 -re és
  • A 4 az Arduino 6. csapjához megy
  • Helyezze a LED -karakterláncot a kenyértáblára. Ahol a közös anódhuzal az 5 voltos csíkra van csatlakoztatva. A többi tündérfény -csapnak a chip 18., 17., 16. és 15. tűjére kell mennie.

5. lépés: Hang hozzáadása

Hang hozzáadása
Hang hozzáadása
  • Csatlakoztassa a Piezo hangszórót 2 sorkapocs közé
  • Csatlakoztassa a Piezo elem negatív pólusát a földhöz és
  • A hangszóró másik vége a 11 -es érintkezőhöz

6. lépés: Következtetés

Következtetés
Következtetés
Következtetés
Következtetés

Van egy fénysorozatom, amely véletlenszerűen csengőhangokat fog játszani, hogy emlékeztessen arra, hogy itt az ünnepi időszak.

Ajánlott: