Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Chcel som hrať nejaké zvukové efekty a uvedomil som si, že toto je jedna z opomínaných oblastí, pokiaľ ide o návody. Dokonca aj na Youtube chýba dobrý návod na Arduino a zvuky, takže ako milý chlapík som sa rozhodol podeliť sa o svoje znalosti o Arduinose.
Ak vás čítanie nezaujíma, tu je celé video so skutočnými zvukmi, ktoré sa prehrávajú:
Krok 1: Najprv základy
Ak ste si niekedy kúpili štartovaciu sadu Arduino, zvyčajne obsahuje jeden aktívny bzučiak/ reproduktor a jeden pasívny bzučiak/ reproduktor.
Tak ktorý je ktorý?
Vizuálne rozdiely sú nasledujúce:
- Aktívny reproduktor je zvyčajne vyšší ako pasívny
- Aktívny reproduktor je v spodnej časti zapečatený, ale pasívny reproduktor má dno otvorené.
Technické rozdiely sú v tom, že aktívny reproduktor má vstavané aktívne komponenty, ktoré mu umožňujú pracovať s jednosmerným napätím.
Ak teda na aktívny reproduktor použijeme napájanie 5 V alebo 3 V, pípne automaticky, zatiaľ čo pasívny reproduktor pracuje so striedavým napätím alebo signálom PWM DC.
Teraz, keď poznáme rozdiely, pokračujme a spojme ich.
Krok 2: Pripojenie reproduktorov k Arudinu
Pripojenia sú jednoduché.
Jeden z pinov PWM (PIns 2 až 13) je pripojený k kladnému reproduktoru a záporný pól je pripojený k odporu 100 ohmov, ktorý je pripojený k zemi.
Teraz môžeme prejsť na náš náčrt/ kód.
Krok 3: Kód
Kód je v skutočnosti iba jeden riadok!
Ak chcete hrať iba jeden tón, stačí nasledovné:
tón (pin, frekvencia, trvanie)
Kde pin, je pin, ku ktorému je reproduktor pripojený, frekvencia je frekvencia (v Hertzoch) a trvanie v milisekundách je voliteľné.
Jednoduché, nie? Urobme niečo zaujímavejšie.
Krok 4: Hranie tónu Supermario
Na prehrávanie tónu Supermario môžete použiť nasledujúce!
Stačí prilepiť a užívať si:
Tóny Arduino Mario Bros s piezoelektrickým bzučiakom a PWM od: Dipto Pratyaksa Posledná aktualizácia: 31/3/13 */#include
#define melodyPin 3 // Melódia hlavnej témy Mario int melodia = {NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0}; // Mario ich hlavné tempo int tempo = {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, };
//
Krok 5: Čo bude ďalej?
Čo by ste chceli hrať niečo komplexnejšie? Máte radi hudbu alebo zvukové efekty vo svojom Arduine? Pamäť Arduino je obmedzená, takže nie je možné vzorkovať tóny vyššou frekvenciou. V prípade, že potrebujete urobiť niečo fantastické, budete potrebovať kartu SD pripojenú k Arduinu a prehrať zvuk z karty. Dúfam, že sa z toho niečo naučíte!
Zvážte prihlásenie sa na odber Fungineers na Youtube; každý týždeň sú tu návody, kutilské záležitosti, geek-3D tlač!