Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Od IanCummingSledovať viac od autora:
O: Rád vyrábam veci od rakiet po elektroniku. Viac o IanCumming »
Vitajte všetci
Je takmer sviatočné obdobie a množstvo obchodov začalo vydávať svoje sviatočné ozdoby. Myslel som si, že je načase postaviť svetlá hudobných víl!
Krok 1: Použité diely
Budem používať nasledujúce:
- 12 LED diód
- 12 Rezistory obmedzujúce prúd
- 1 ULN 2803 Darlingtonovo tranzistorové pole
- Niektoré prepojovacie vodiče
- Piezo reproduktor
- Breadboard a
- Arduino
- Na výrobu reťaze rozprávkových svetiel som použil 5 drôtov z ethernetového kábla
Krok 2: Kód
// GLOBÁLNE VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 základné LED diódy, môžete pridať mnoho paralelne bajtových LED = {3, 4, 5, 6}; bajtový reproduktor = 11; bajtový vzorDĺžka = 64; // vzor Dĺžka byte byteLength = 51; konštantná bajtová pieseň = {// 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}; // Štruktúra je číslo poznámky potom // NoteLength v 8 -tom konštantnom bajtovom vzore = {// 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, 0b00 0b1010, 0b0101, 0b1010, 0b010, 0b00, 0b00, 0b00 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};
Najprv deklarujem svoje premenné, medzi zaujímavé patria pieseň a vzor.
- Pieseň uchováva melódiu; v tomto prípade ide o rolničky.
- Vzor ukladá polohy zapínania a vypínania do bitov hodnôt v poli.
Vlastné funkcie
// FUNKCIE int noteToHz (int note) {// Previesť poznámku č. na frekvenciu float freq = 440 * (pow (1,059463094359, poznámka-21)); // -21 vám dáva poznámku 1 na C3 (myslím) return int (freq); // Výsledky sú presné na 1 Hz} neplatné svetelné diódy LED (bajt PORT_X) {// Stav kontrolných LED pre (int q = 0; q
Dve funkcie, ktoré mám, budú vykonávať nasledovné:
- Vypočítajte frekvenciu pre funkciu tónu v slučke
- zapnite alebo vypnite LED diódy v závislosti od hodnoty odovzdanej funkcii
Funkcia nastavenia
void setup () {// nastavenie VÝSTUPNÝCH pinov pinMode (reproduktor, VÝSTUP); for (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}
Vo funkcii nastavenia som nastavil požadované piny na VÝSTUP.
Funkcia sluč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ĺžka = ((skladba [(t * 2) +1] * barTime) / 8); tón (reproduktor, poznámka, dĺžka - 50); // Blikajúce svetlá! svetelné diódy LED (vzor [t % dĺžka vzoru]); oneskorenie (dĺžka); } // Tichá slučka int randomSilence = random (1000, 5000); pre (int t = 0; t
Vo funkcii Hlavnej slučky mám 2 slučky. Slučka piesní a tichá slučka
Slučka skladieb načíta údaje z poľa skladieb a prehrá notu pomocou funkcie tónu
Pieseň piesne bude,
- Prečítajte si údaje z poľa skladieb,
- Potom zahrajte notu pomocou funkcie tónu
- Rozsvieťte diódy LED, pole vzorov čítania.
V slučke Ticho
rozsvietia sa iba LED diódy
Pripojte Arduino a nahrajte kód. (Potom ho odpojte)
Krok 3: Spustenie obvodu
Začnem so sériou svetiel
- Použil som drôt z ethernetového kábla a štyrikrát som spájkoval 3 LED diódy paralelne, pričom som zaistil rovnomerné rozmiestnenie LED diód na približne 2 metre.
- Spájkoval som anódu každej z nich na jeden drôt.
- Potom katóda každej LED na 4 samostatné vodiče. Samozrejme s odporom
- Tento postup som zopakoval 3 krát, aby som získal reťazec 12 diód LED, a na koniec 5 drôtov som dal kolíky záhlavia
Pripojte kladnú a uzemňovaciu koľajnicu k doštičke
Krok 4: ULN2803
Umiestnite čip ULN2308 na nepájivú dosku
ULN2308 je čip tranzistorového poľa; z technického listu vidím
- Tento kolík 1 je vstup, ktorý prepína kolík 18 „ZAPNUTÝ“
- Kolík 2 zapína 17. Atď.
- Kolík 9 je uzemnený
- Pripojte kolík 9 čipu k uzemňovacej lište
- Pripojte kladnú lištu k svorkovnici, jeden prúžok nad kolík 18. (Za minútu uvidíte, prečo)
- Pripojte kolík 1 čipu k kolíku 3 Arduina
- 2 ide na 4
- 3 z čipu ide na 5 a
- 4 ide na pin 6 Arduina
- Umiestnite reťazec LED na dosku na chlieb. Tam, kde je spoločný anódový vodič spojený s pásikom pripojeným na 5 voltov. Ostatné kolíky Fairy Light by mali ísť na pin 18, 17, 16 a 15 čipu.
Krok 5: Pridanie zvuku
- Pripojte piezo reproduktor medzi 2 svorkovnice
- Pripojte záporný pól prvku Piezo k zemi a
- Druhý koniec reproduktora na kolíku 11
Krok 6: Záver
Mám reťaz svetiel, ktoré budú náhodne hrať na rolničky, aby mi pripomenuli, že je sviatočné obdobie.