Sisällysluettelo:

Musical Fairy Lights: 6 vaihetta (kuvilla)
Musical Fairy Lights: 6 vaihetta (kuvilla)

Video: Musical Fairy Lights: 6 vaihetta (kuvilla)

Video: Musical Fairy Lights: 6 vaihetta (kuvilla)
Video: Маленький лисенок вышел к людям за помощью 2024, Heinäkuu
Anonim
Image
Image

Seuraa lisää tekijältä:

Arduino -intervalometri
Arduino -intervalometri
Ei vain tunnin ajastin
Ei vain tunnin ajastin
Ei vain tunnin ajastin
Ei vain tunnin ajastin
Yksi Pixel -lämpömittari
Yksi Pixel -lämpömittari
Yksi Pixel -lämpömittari
Yksi Pixel -lämpömittari

Tietoja: Tykkään tehdä tavaraa raketeista elektroniikkaan. Lisätietoja IanCummingista »

Tervetuloa, kaikki

Se on melkein juhla -aika ja monet kaupat ovat alkaneet laittaa juhlakoristeitaan, ajattelin, että on oikea aika rakentaa musiikillisia keijuvalaisimia!

Vaihe 1: Käytetyt osat

Käytetyt osat
Käytetyt osat

Käytän seuraavaa:

  • 12 LEDiä
  • 12 Virranrajoitusvastukset
  • 1 ULN 2803 Darlingtonin transistorijärjestelmä
  • Jotkut hyppyjohdot
  • Pietsokaiutin
  • Leipälauta ja
  • ja Arduino
  • Keijujen merkkijonon tekemiseen käytin 5 johtoa Ethernet -kaapelista

Vaihe 2: Koodi

// GLOBAL VARS int barTime = 1200; // 8/8 = 1000 ms tavu nrLEDS = 4; // 4 Perus -LED -valot, voit lisätä monia rinnakkaisia tavu -ledejä = {3, 4, 5, 6}; tavukaiutin = 11; tavukuvioPituus = 64; // kuvio Pituus tavu 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}; // Rakenne on muistiinpanon numero // // NoteLength in 8th 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 0, 0b100 1 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

Aluksi julistan muuttujiani, mielenkiintoisia ovat laulu ja kuvio.

  • Kappale tallentaa sävelen; tässä tapauksessa se on Jingle bells.
  • Kuvio tallentaa päälle ja pois -asemat taulukon arvojen bitteihin.

Mukautetut toiminnot

// FUNCTIONS int noteToHz (int note) {// Muunna Note Note. taajuuden vaihtuvaan taajuuteen = 440 * (pow (1.059463094359, huomautus 21)); // -21 antaa huomautuksen 1 kohdassa C3 (mielestäni) return int (taajuus); // Tulokset ovat 1 Hz: n tarkkoja

Minulla on kaksi toimintoa, jotka toimivat seuraavasti:

  • Laske silmukan äänitoiminnon taajuus
  • kytke LED -valot päälle tai pois toiminnolle siirretyn arvon mukaan

Asetustoiminto

void setup () {// setup OUTPUT nastat pinMode (kaiutin, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (ledit [t], OUTPUT); }}

Asetustoiminnossa asetin tarvittavat nastat OUTPUT -asentoon.

Silmukkatoiminto

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Muistiinpanot, pituus ja melodian toisto int note = noteToHz (kappale [t * 2]); int pituus = ((laulu [(t * 2) +1] * barTime) / 8); sävy (kaiutin, nuotti, pituus - 50); // Vilkkuvat valot! lightLED (kuvio [t % patternLength]); viive (pituus); } // Silence Loop int randomSilence = random (1000, 5000); for (int t = 0; t

Minulla on 2 silmukkaa Main Loop -toiminnossa. Laulusilmukka ja hiljaisuuslenkki

Kappalesilmukka lukee kappalemäärän tiedot, soittaa nuotin äänitoiminnolla

Laulusilmukka tulee,

  • Lue tiedot kappalejoukosta,
  • Soita nuotti sitten äänitoiminnolla
  • Sytytä LEDit, lukutaulukko.

Hiljaisuussilmukassa

vain LEDit palavat

Liitä Arduino ja lataa koodi. (Irrota se sitten)

Vaihe 3: Piirin käynnistäminen

Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen
Piirin käynnistäminen

Aloitan valojen merkkijonolla

  • Käytin Ethernet -kaapelin johtoa ja juotin kolme LEDiä rinnakkain neljä kertaa varmistaen, että LEDit sijoitettiin tasaisesti noin 2 metrin päähän
  • Juotin jokaisen johdon anodin yhdeksi johtimeksi.
  • Sitten kunkin LEDin katodi 4 erilliseen johtoon. Tietysti vastuksen kanssa
  • Toistin tämän prosessin 3 kertaa saadakseni 12 LED -merkkijonon ja laitoin otsikkotapit 5 johtimen päähän

Liitä positiiviset ja maadoitetut kiskot leipälautaan

Vaihe 4: ULN2803

ULN2803
ULN2803
ULN2803
ULN2803
ULN2803
ULN2803

Aseta ULN2308 -siru leipälevylle

ULN2308 on transistorijärjestelmän siru; tietolomakkeesta, jonka näen

  • Tämä nasta 1 on tulo, joka kytkee nastan 18 "ON"
  • Nasta 2 käynnistää 17. Jne.
  • Tappi 9 on maadoitettu
  • Liitä sirun nasta 9 maadoituskiskoon
  • Liitä positiivinen kisko riviliittimeen, yksi liuska tapin 18 yläpuolelle (näet miksi minuutin kuluttua)
  • Liitä sirun nasta 1 Arduinon nastaan 3
  • 2 menee 4: een
  • 3 sirusta menee kohtaan 5 ja
  • 4 menee Arduinon nastaan 6
  • Aseta LED -merkkijono leipälevylle. Jos yhteinen anodijohto on kytketty 5 voltin liitäntään. Loput keiju kevyt nastat pitäisi mennä siru nastat 18, 17, 16 ja 15.

Vaihe 5: Äänen lisääminen

Äänen lisääminen
Äänen lisääminen
  • Liitä pietsokaiutin kahden liittimen välille
  • Liitä Piezo -elementin negatiivinen napa maahan ja
  • Kaiuttimen toinen pää nastaan 11

Vaihe 6: Johtopäätös

Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös

Minulla on merkkijono, joka soittaa satunnaisesti soittokelloja muistuttaakseen minua siitä, että on juhla -aika.

Suositeltava: