Përmbajtje:

Dritat muzikore të zanave: 6 hapa (me fotografi)
Dritat muzikore të zanave: 6 hapa (me fotografi)

Video: Dritat muzikore të zanave: 6 hapa (me fotografi)

Video: Dritat muzikore të zanave: 6 hapa (me fotografi)
Video: Nusja harron dhendrin para Butrintit, çfarë po ndodh? 😮#shorts #viral #butrintimeri #butrint #trend 2024, Nëntor
Anonim
Image
Image

Nga IanCummingFollow More nga autori:

Intervalometri Arduino
Intervalometri Arduino
Jo vetëm një kohëmatës orë
Jo vetëm një kohëmatës orë
Jo vetëm një kohëmatës orë
Jo vetëm një kohëmatës orë
Termometër me një piksel
Termometër me një piksel
Termometër me një piksel
Termometër me një piksel

Rreth: Më pëlqen të bëj gjëra nga raketat në elektronikë. Më shumë rreth IanCumming »

Mirësevini të gjithëve

Almostshtë pothuajse sezoni festiv dhe shumë dyqane kanë filluar të nxjerrin dekorimet e tyre festive, mendova se është koha e duhur për të ndërtuar disa drita zanash muzikore!

Hapi 1: Pjesët e përdorura

Pjesët e Përdorura
Pjesët e Përdorura

Unë do të përdor sa më poshtë:

  • 12 LED
  • 12 Rezistenca aktuale kufizuese
  • 1 ULN 2803 Darlington Transistor Array
  • Disa tela kërcyes
  • Një folës piezo
  • Një bord buke dhe
  • një Arduino
  • Për të bërë vargun e dritave zanash kam përdorur 5 tela nga një kabllo Ethernet

Hapi 2: Kodi

// VARS GLOBAL int barTime = 1200; // 8/8 = 1000ms bajt nrLEDS = 4; // 4 LED bazë, Ju mund të shtoni shumë led të paralel byte = {3, 4, 5, 6}; bajt folës = 11; model byteLength = 64; // model 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}; // Struktura është Numri i Shënimit atëherë // Shënimi Gjatësia në modelin e bajtit të 8 -të = {// Të dhënat e modelit 0b0001, 0b0010, 0b0100, 0b1000, // Bitet korrespondojnë me Leds në 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, 0b0011, 0b0001, 0b1001, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

Së pari unë deklaroj ndryshoret e mia, ato interesante janë Kënga dhe Modeli.

  • Kënga ruan melodinë; në këtë rast janë këmbanat Jingle.
  • Modeli ruan pozicionet on dhe off në bitët e vlerave në grup.

Funksionet e personalizuara

// FUNKSIONET int noteToHz (int note) {// Konvertoni një shënim Nr. te Frekuenca noton frekuenca = 440 * (fuqia (1.059463094359, shënimi-21)); // -21 ju jep shënimin 1 në C3 (Mendoj) kthimi int (frekuenca); // Rezultatet janë të sakta për 1Hz} drita të pavlefshme (byte PORT_X) {// Kontrolloni gjendjen e LED për (int q = 0; q

Dy funksionet që kam do të bëjnë sa më poshtë:

  • Llogaritni frekuencën për funksionin e tonit në lak
  • ndizni ose fikni LED -të në varësi të vlerës së kaluar në funksion

Funksioni i konfigurimit

void setup () {// setup OUTPUT pin pinMode (altoparlant, OUTPUT); për (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}

Në funksionin e konfigurimit vendosa kunjat e kërkuar në OUTPUT.

Funksioni i lakut

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Shënime, Gjatësia dhe luajtja e melodisë int note = noteToHz (këngë [t * 2]); int gjatësia = ((kënga [(t * 2) +1] * barTime) / 8); toni (folës, shënim, gjatësi - 50); // Drita vezulluese! dritat LED (modeli [t % modelLength]); vonesa (gjatësia); } // Silence Loop int randomSilence = random (1000, 5000); për (int t = 0; t

Unë kam 2 sythe në funksionin Main Loop. Një lak kënge dhe një lak heshtjeje

Lakja e këngës do të lexojë të dhënat nga grupi i këngëve, do të luajë shënimin duke përdorur funksionin e tonit

Lopa e këngës do,

  • Lexoni të dhënat nga grupi i këngëve,
  • Luani shënimin duke përdorur funksionin ton atëherë
  • Ndriçoni grupin e modeleve të leximit të LED -ve.

Në lakin e Heshtjes

vetëm LED -të janë ndezur

Lidheni Arduino -n dhe ngarkoni kodin. (Pastaj hiqeni nga priza)

Hapi 3: Fillimi i qarkut

Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut
Fillimi i qarkut

Do të filloj me vargun e dritave

  • Kam përdorur tela nga një kabllo Ethernet dhe kam bashkuar 4 LED paralelisht katër herë, duke u siguruar që të ndahen në mënyrë të barabartë LED -të mbi 2 metra
  • Unë bashkova Anodën e secilit prej tyre në një tel të vetëm.
  • Pastaj katoda e secilës LED në 4 tela të veçantë. Sigurisht me një rezistencë
  • E përsërita këtë proces 3 herë për të marrë një varg prej 12 LED dhe vendosa kunjat e kokës në fund të 5 telave

Lidhni binarët pozitivë dhe të bluar me tabelën e bukës

Hapi 4: ULN2803

ULN2803
ULN2803
ULN2803
ULN2803
ULN2803
ULN2803

Vendoseni çipin ULN2308 në dërrasën e bukës

ULN2308 është një çip i grupit transistor; nga fleta e të dhënave që mund të shoh

  • Ajo kunja 1 është një hyrje që e kthen pinin 18 "ON"
  • Kunja 2 ndizet 17. Etj
  • Pin 9 është i bluar
  • Lidhni Pin 9 të çipit me hekurudhën tokësore
  • Lidhni shinën pozitive me një shirit terminal, një rrip mbi kunjin 18. (Do ta shihni pse në një minutë)
  • Lidhni kunjin 1 të çipit me kunjin 3 të Arduino
  • 2 shkon në 4
  • 3 e çipit shkon në 5 dhe
  • 4 shkon në pin 6 të Arduino
  • Vendosni vargun LED në tabelën e bukës. Aty ku tela e zakonshme anode është e lidhur me shiritin e lidhur me 5 volt. Pjesa tjetër e kunjave të dritës zanash duhet të shkojnë në kunjat 18, 17, 16 dhe 15 të çipit.

Hapi 5: Shtimi i zërit

Shtimi i zërit
Shtimi i zërit
  • Lidhni altoparlantin Piezo midis 2 shiritave të terminalit
  • Lidhni polin negativ të elementit Piezo me tokën dhe
  • Fundi tjetër i altoparlantit në pin 11

Hapi 6: Përfundimi

Përfundim
Përfundim
Përfundim
Përfundim

Unë kam një varg drite që do të luajnë rastësisht zile për të më kujtuar se është sezoni festiv.

Recommended: