Obsah:

Světla hudební víly: 6 kroků (s obrázky)
Světla hudební víly: 6 kroků (s obrázky)

Video: Světla hudební víly: 6 kroků (s obrázky)

Video: Světla hudební víly: 6 kroků (s obrázky)
Video: Adel ukazala prso 2024, Červenec
Anonim
Image
Image

Od IanCummingSledovat více od autora:

Intervalometr Arduino
Intervalometr Arduino
Nejen hodinový časovač
Nejen hodinový časovač
Nejen hodinový časovač
Nejen hodinový časovač
Jeden pixelový teploměr
Jeden pixelový teploměr
Jeden pixelový teploměr
Jeden pixelový teploměr

O: Rád vyrábím věci od raket po elektroniku. Více o IanCumming »

Vítejte všichni

Je téměř sváteční čas a řada obchodů začala vydávat své slavnostní dekorace. Myslel jsem, že nastal ten správný čas na stavbu světel na hudební víly!

Krok 1: Použité díly

Použité díly
Použité díly

Budu používat následující:

  • 12 LED diod
  • 12 Rezistory omezující proud
  • 1 ULN 2803 Darlingtonovo tranzistorové pole
  • Některé propojovací vodiče
  • Piezo reproduktor
  • Breadboard a
  • Arduino
  • K výrobě řady pohádkových světel jsem použil 5 vodičů z ethernetového kabelu

Krok 2: Kód

// GLOBÁLNÍ VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 základní LED diody, můžete přidat mnoho paralelních bajtů LED = {3, 4, 5, 6}; bajtový reproduktor = 11; byte patternLength = 64; // vzor Délka byte songLength = 51; píseň konstantního bajtu = {// 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 je číslo poznámky, pak // NoteLength v 8. konstantním bajtovém vzoru = {// Pattern Pattern 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, 0b 0b1010, 0b0101, 0b1010, 0b00, 0b00, 0b00 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

Nejprve deklaruji své proměnné, zajímavé jsou Song a Pattern.

  • Píseň ukládá melodii; v tomto případě se jedná o rolničky.
  • Vzor ukládá pozice zapnuto a vypnuto v bitech hodnot v poli.

Vlastní funkce

// FUNKCE int noteToHz (int note) {// Převod poznámky č. na frekvenci float freq = 440 * (pow (1,059463094359, poznámka-21)); // -21 vám dá poznámku 1 na C3 (myslím) return int (freq); // Výsledky jsou přesné na 1 Hz} neplatné lightLED (byte PORT_X) {// Stav kontrolních LED pro (int q = 0; q

Dvě funkce, které mám, provedou následující:

  • Vypočítejte frekvenci pro funkci tónu ve smyčce
  • zapnout nebo vypnout LED v závislosti na hodnotě předané funkci

Funkce nastavení

void setup () {// nastavení VÝSTUPNÍCH pinů pinMode (reproduktor, VÝSTUP); for (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}

Ve funkci nastavení jsem nastavil požadované piny na VÝSTUP.

Funkce smyčky

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notes, Length and play the melody int note = noteToHz (song [t * 2]); int délka = ((píseň [(t * 2) +1] * barTime) / 8); tón (reproduktor, poznámka, délka - 50); // Záblesky! lightLED (vzor [t % vzorDélka]); zpoždění (délka); } // Silence Loop int randomSilence = random (1000, 5000); pro (int t = 0; t

Ve funkci Hlavní smyčka mám 2 smyčky. Smyčka písní a smyčka ticha

Smyčka skladeb načte data z pole skladeb a přehraje notu pomocí funkce tón

Smyčka písní bude,

  • Přečtěte si data z pole skladeb,
  • Přehrajte poznámku pomocí funkce tónů
  • Rozsviťte LED diody, pole vzorů čtení.

Ve smyčce Ticho

svítí pouze LED diody

Připojte Arduino a nahrajte kód. (Potom jej odpojte)

Krok 3: Spuštění obvodu

Spuštění obvodu
Spuštění obvodu
Spuštění obvodu
Spuštění obvodu
Spuštění obvodu
Spuštění obvodu
Spuštění obvodu
Spuštění obvodu

Začnu řadou světel

  • Použil jsem drát z ethernetového kabelu a čtyřikrát jsem připájel 3 LED diody, přičemž jsem se ujistil, že LED diody jsou rovnoměrně rozloženy na zhruba 2 metry
  • Pájel jsem anodu každého vodiče na jeden vodič.
  • Poté katodou každé LED na 4 samostatné vodiče. Samozřejmě s rezistorem
  • Tento postup jsem opakoval 3krát, abych získal řetězec 12 LED a na konec 5 vodičů jsem umístil kolíky záhlaví

Připojte kladnou a uzemňovací kolejnici k prkénku

Krok 4: ULN2803

ULN2803
ULN2803
ULN2803
ULN2803
ULN2803
ULN2803

Umístěte čip ULN2308 na prkénko

ULN2308 je čip tranzistorového pole; z datového listu vidím

  • Ten pin 1 je vstup, který zapne pin 18 „ON“
  • Pin 2 zapne 17. Atd.
  • Kolík 9 je uzemněn
  • Připojte kolík 9 čipu k zemnící liště
  • Připojte kladnou lištu ke svorkovnici, jeden proužek nad kolík 18. (Za minutu uvidíte, proč)
  • Připojte pin 1 čipu ke kolíku 3 Arduina
  • 2 jde na 4
  • 3 čipu jde na 5 a
  • 4 jde na pin 6 Arduina
  • Umístěte řetězec LED na prkénko. Kde je společný anodový vodič připojen k pásu připojenému k 5 voltům. Zbytek kolíků Fairy Light by měl jít na pin 18, 17, 16 a 15 čipu.

Krok 5: Přidání zvuku

Přidání zvuku
Přidání zvuku
  • Připojte reproduktor Piezo mezi 2 svorkovnice
  • Připojte záporný pól piezoelektrického prvku k zemi a
  • Druhý konec reproduktoru na pin 11

Krok 6: Závěr

Závěr
Závěr
Závěr
Závěr

Mám řetězec světel, které budou náhodně hrát rolničky, aby mi připomněly, že jsou svátky.

Doporučuje: