Jednoduchý zvuk
-
- Příspěvky: 3
- Registrován: 02 led 2018, 07:47
- Reputation: 0
Jednoduchý zvuk
Zdravím lidičky a rovnou se na vás obracím s prosbou.
Dělám na jednom projektu, jedná se o takovou hračku, která by se v budoucnu měla objevit na pultech různých krámů, ale mám celkem problém.
Tato věc by měla v určitý moment vydat jednoduchý zvuk, například jen jako když bouchnete láhev šampaňského.
Je nějaká možnost, jak toto udělat? Nechci v tomto případě používat nějaké moduly a už vůbec ne slot na sd kartu či microsd...zkrátka mini repráček připojit přímo na arduino. Je nějaká taková možnost? Celková délka zvuku by byla cca 1,5 vteřiny.
Dělám na jednom projektu, jedná se o takovou hračku, která by se v budoucnu měla objevit na pultech různých krámů, ale mám celkem problém.
Tato věc by měla v určitý moment vydat jednoduchý zvuk, například jen jako když bouchnete láhev šampaňského.
Je nějaká možnost, jak toto udělat? Nechci v tomto případě používat nějaké moduly a už vůbec ne slot na sd kartu či microsd...zkrátka mini repráček připojit přímo na arduino. Je nějaká taková možnost? Celková délka zvuku by byla cca 1,5 vteřiny.
Re: Jednoduchý zvuk
Se zvukem nemám žádné zkušenosti, jen jsem hledal nějaké info.
1) použít zvukový modul, který nese zvukovou nahrávku a umí ji přehrát. Nabídka bude asi široká, jen namátkově jsem našel https://arduino-shop.cz/arduino/1700-mo ... 97691.html
Určitě budou i jednodušší a levnější.
2) použít nejjednodušší arduino a nějaký piezoelement (či repro) a využít fci.
Cituji z e-booku Průvodce světem Arduina
1) použít zvukový modul, který nese zvukovou nahrávku a umí ji přehrát. Nabídka bude asi široká, jen namátkově jsem našel https://arduino-shop.cz/arduino/1700-mo ... 97691.html
Určitě budou i jednodušší a levnější.
2) použít nejjednodušší arduino a nějaký piezoelement (či repro) a využít fci
Kód: Vybrat vše
tone()
Cituji z e-booku Průvodce světem Arduina
Osobně bych raději volil zvukový modul, vyjde to zřejmě levněji a hlavně, nebude omezení v možnostech tónu/zvuku.... U Arduina je mozne generovat zvuk pouze v nejjednoduss podobe. Neumoznuje totiz generovat analogove
hodnoty. Rozlisuje tedy pouze 0V a 5V. ...
Re: Jednoduchý zvuk
Pokud to potebuješ bez modulu a má to být spíš jednoúčelové tak bude asi neslepší si napsat nějaký vlastní program, ani by to nebylo zas tak složité. Nejdřív si vem ten zvuk který budeš hrát a převzorkuj si ho. To co chceš na konci je *.wav soubor v PCM, mono, 8bitový (ticho bude 0x80 vzhledem k tomu že to bude unsigned) a sample rate stejný jako frekvence tvého PWM (třeba 8kHz). Poté by si musel odstranit hlavičku *.wav souboru (prvních 44bytů nebo 46) a nahrát si samotné byty té hudby přímo do paměti procesoru. Kdyby se tam nevešli tak někam externě do jiné paměti. Pak už je to na softwaru. Musel bys napsat něco co by ti zařídilo samotné přehrávání. Tady by ti určitě hodně pomohlo cčko, bude to přes to mnohem rychlejší než Wiring.
Například zde je podobný případ řešený pomocí C: http://avrpcm.blogspot.cz/2010/11/playi ... y-avr.html
Není to vůbec složité, pokud se ale v C nevyznáš tak to můžeme zkusit i ve Wiringu...
Prakticky jde jen o to umísťovat byty do správného registru při každém clocku PWM.
Ať se daří!
Například zde je podobný případ řešený pomocí C: http://avrpcm.blogspot.cz/2010/11/playi ... y-avr.html
Není to vůbec složité, pokud se ale v C nevyznáš tak to můžeme zkusit i ve Wiringu...
Prakticky jde jen o to umísťovat byty do správného registru při každém clocku PWM.
Ať se daří!
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: Jednoduchý zvuk
Skus:
Trošku sa s tým pohraj Najdeš ten správny
Kód: Vybrat vše
void noise() {
unsigned long time = millis();
while(millis() - time <= 500) { // change "500" for different durations in ms.
tone(cislopinu, random(100, 2000); // change the parameters of random() for different sound
}
Re: Jednoduchý zvuk
Jen mimo téma, můžu se zeptat proč v nějakém produktu který půjde do oběhu používáš zrovna Arduino? Máš ho použité jako modul nebo integrované na DPS, pokud nějaké je? Přijde mi to cenově nevýhodné pokud používáš certifikované italské, což by asi v tomhle případě chtělo. Jen mě to zajímá
-
- Příspěvky: 3
- Registrován: 02 led 2018, 07:47
- Reputation: 0
Re: Jednoduchý zvuk
Děkuji za odpověď, projdu si tuto radu pořádně a pak sem napíši, jak to šlo.Wojta píše: ↑02 led 2018, 13:49Pokud to potebuješ bez modulu a má to být spíš jednoúčelové tak bude asi neslepší si napsat nějaký vlastní program, ani by to nebylo zas tak složité. Nejdřív si vem ten zvuk který budeš hrát a převzorkuj si ho. To co chceš na konci je *.wav soubor v PCM, mono, 8bitový (ticho bude 0x80 vzhledem k tomu že to bude unsigned) a sample rate stejný jako frekvence tvého PWM (třeba 8kHz). Poté by si musel odstranit hlavičku *.wav souboru (prvních 44bytů nebo 46) a nahrát si samotné byty té hudby přímo do paměti procesoru. Kdyby se tam nevešli tak někam externě do jiné paměti. Pak už je to na softwaru. Musel bys napsat něco co by ti zařídilo samotné přehrávání. Tady by ti určitě hodně pomohlo cčko, bude to přes to mnohem rychlejší než Wiring.
Například zde je podobný případ řešený pomocí C: http://avrpcm.blogspot.cz/2010/11/playi ... y-avr.html
Není to vůbec složité, pokud se ale v C nevyznáš tak to můžeme zkusit i ve Wiringu...
Prakticky jde jen o to umísťovat byty do správného registru při každém clocku PWM.
Ať se daří!
-
- Příspěvky: 3
- Registrován: 02 led 2018, 07:47
- Reputation: 0
Re: Jednoduchý zvuk
Zatím jsem ve fázi čistého experimentu, minimalizování a cenové přizpůsobování bude teprve v dalším kroce ale upřímně jsem zatím nekoukal po jiných možnostech, tak se tě tedy rovnou zeptám, jestli nemáš nějaké zkušenosti?Wojta píše: ↑02 led 2018, 19:06Jen mimo téma, můžu se zeptat proč v nějakém produktu který půjde do oběhu používáš zrovna Arduino? Máš ho použité jako modul nebo integrované na DPS, pokud nějaké je? Přijde mi to cenově nevýhodné pokud používáš certifikované italské, což by asi v tomhle případě chtělo. Jen mě to zajímá
Re: Jednoduchý zvuk
To od martiniuse taky není špatný, kdyby si našel něco co vyhovuje.
Zkušenosti nemám nic co by šlo do oběhu jsem nikdy nedělal. Kdyby si chtěl dostat cenu opravdu dolů tak jsou na tom myslím dobře čipy od ST. Já bych to ale klidně postavil na nějakém AVR. Můžeš vzít třeba něco jednoduššího jako ATmega8 nebo i nějaké Tiny pokud by ses tam vešel. Ale asi by si musel dát vědět o co přesně jde aby jsem mohl říct víc...Zatím jsem ve fázi čistého experimentu, minimalizování a cenové přizpůsobování bude teprve v dalším kroce ale upřímně jsem zatím nekoukal po jiných možnostech, tak se tě tedy rovnou zeptám, jestli nemáš nějaké zkušenosti?
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host