Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Chtěl jsem hrát nějaké zvukové efekty a uvědomil jsem si, že toto je jedna z opomíjených oblastí, pokud jde o výukové programy. Dokonce i na Youtube chybí dobré návody na Arduino a zvuky, takže jsem se jako hodný kluk rozhodl podělit se o své znalosti o Arduinosu.
Pokud vás čtení nebaví, zde je celé video se skutečnými přehrávanými zvuky:
Krok 1: Nejprve základy
Pokud jste si někdy koupili startovací sadu Arduino, obvykle obsahují jeden aktivní bzučák/ reproduktor a jeden pasivní bzučák/ reproduktor.
Který je tedy který?
Vizuální rozdíly jsou následující:
- Aktivní reproduktor je obvykle vyšší než pasivní
- Aktivní reproduktor je ve spodní části uzavřen, ale pasivní reproduktor má spodní část otevřenou.
Technické rozdíly spočívají v tom, že aktivní reproduktor má vestavěné aktivní součásti, které mu umožňují pracovat se stejnosměrným napětím.
Pokud tedy na aktivní reproduktor použijeme napájení 5 V nebo 3 V, pípne automaticky, zatímco pasivní reproduktor pracuje se střídavým napětím nebo signálem PWM DC.
Nyní, když známe rozdíly, pojďme do toho a spojme je.
Krok 2: Připojení reproduktorů k Arudinu
Spojení jsou jednoduchá.
Jeden z pinů PWM (PIns 2 až 13) je připojen k kladnému reproduktoru a záporný je připojen k odporu 100 ohmů, který je připojen k zemi.
Nyní můžeme přejít k našemu náčrtu/ kódu.
Krok 3: Kód
Kód je ve skutečnosti jen jeden řádek!
Pokud chcete hrát pouze jeden tón, stačí následující:
tón (pin, frekvence, trvání)
Kde pin je pin, ke kterému je reproduktor připojen, frekvence je frekvence (v Hertzech) a doba trvání v milisekundách je volitelná.
Jednoduché, že? Pojďme udělat něco zajímavějšího.
Krok 4: Hraní Supermario Tone
K přehrání tónu Supermario lze použít následující!
Stačí vložit a užívat si:
Arduino Mario Bros Tunes With Piezo Buzzer and PWM od: Dipto Pratyaksa poslední aktualizace: 31/3/13 */#include
#define melodyPin 3 // Melodie hlavního motivu Mario int melodie = {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 main them 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: Co bude dál?
Co chcete hrát něco složitějšího? Máte rádi hudbu nebo zvukové efekty u Arduina? Paměť Arduino je omezená, takže není možné vzorkovat tóny vyšší rychlostí. V případě, že potřebujete udělat něco fantastického, budete potřebovat kartu SD připojenou k Arduinu a přehrávat zvuk z karty. Doufám, že jste se z toho něco naučili!
Zvažte přihlášení k odběru Fungineers na Youtube; každý týden jsou návody, kutilské věci, geek-3D tisk!