Arduino generování zvuku - problém s lcd
Pěkný večer, řešil jsem tu problém s arduinem ale odjel jsem na dloouho pracovně do zahraničí a nedořešil jsem to. Teď stojím před problémem kdy mám připojen snímač a při jeho odpojení chci dát najevo chybovou hlášku jak výpisem na lcd tak zvukem z pieza. Ten jsem chtěl vytvořit funkcí tone. Ta se zdá že funguje jenže souběžně se zvukem padá podsvícení lcd i když to spolu v programu nemá žádnou souvilost. Padání napětí jsem vyloučil. Navíc při změně intenzity podsvícení displeje se změní i fekvence tónu. Přidám program a pokud by měl někdo chuť se mi tomu pověnovat budu určitě velice rád, už jsem z toho zoufalý. Funkce tone je v programu použita na začátku loopu.
Jak máš připojené piezo? Zkus do serie zapojit cca 100ohm odpor.
Tady a tady.
Problém se děje i když fyzicky piezo odpojím a jen nahazuju výstup :/
Když jsem chtěl program zkusit, teprve mi došlo, že používáš Arduino Mega. To bohužel nemám. A to, že jednoduchý program s LCD shieldem nemá problém posílat tóny na kterýkoliv volný pin, ti asi nebude moc platné.
1) podsvicenipin neni float, ale int
2) pokud to ma generovat 500Hz, vybodnul bych se na tone(), ktery obsazuje interupt od casovace a dal to na normalni PWM vystup a jenom ho nastavil na 50%, dal pauzu a zase schodil.
Z dokumentace:
- sice se to nevztahuje na aktualni pripad, ale i tak bych byl opatrnej...
Tak proměnnou jsem opravil, díky za upozornění. Generování jsem udělal přes PWM jak jsi psal. Tak to chodí ale samozřejmě to není řešení problému a mám obavy abych na to ještě nenarazil, kdyby někoho něco napadlo budu určitě rád a vyzkouším.
Jsem ti to nasel. Na meze je to jeste horsi...
http://forum.arduino.cc/index.php/topic,45329.0.ht ml - problem mas na vsech pinech OC2 a OC3.
Ahoj díky za odkaz, stydím se, školu mám za sebou a v oboru ale stejně to asi nepobírám uplně spolehlivě, dá se to nějak zhrnout jednoduše do jedné věty?
Jednoduse - funkce tone() pouziva ke svy funkci hned dva casovace(proboha proc? stacil by jeden...) a bohuzel, ty casovace se taky pouzivaji pro generovani PWM. Presneji pouziva timery 2 a 3, cimz pada moznost pouzivat pro PWM ty piny, ktery jsou napojeny na tyhle casovace.
Takze krome varianty nepouzivat tone() je jeste varianta tone() pouzit a podsviceni pripojit na jinej pin, kterej taky ma PWM, ale od jinyho timeru(OC0,1 nebo 4).
Nějak tak jsem to tušil ale nebyl jsem si jistý, děkuji za fakt perfektní odpověď!