Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
1) podsvicenipin neni float, ale int 2) pokud to ma generovat 500Hz, vybodnul bych se na tone(), kte…
bahno 22.03.2016 08:49
bahno
Tak proměnnou jsem opravil, díky za upozornění. Generování jsem udělal přes PWM jak jsi psal. Tak to…
Nitram18 22.03.2016 17:55
Nitram18
Jsem ti to nasel. Na meze je to jeste horsi... http://forum.arduino.cc/index.php/topic,45329.0.ht ml…
bahno 22.03.2016 19:34
bahno
Ahoj díky za odkaz, stydím se, školu mám za sebou a v oboru ale stejně to asi nepobírám uplně spoleh…
Nitram18 22.03.2016 21:33
Nitram18
Jednoduse - funkce tone() pouziva ke svy funkci hned dva casovace(proboha proc? stacil by jeden...)… nový
bahno 22.03.2016 22:14
bahno
Nějak tak jsem to tušil ale nebyl jsem si jistý, děkuji za fakt perfektní odpověď! poslední
Nitram18 22.03.2016 22:24
Nitram18

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:

Use of the tone() function will interfere with PWM output on pins 3 and 11 (on boards other than the Mega).

- sice se to nevztahuje na aktualni pripad, ale i tak bych byl opatrnej...

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).

Zpět do poradny Odpovědět na původní otázku Nahoru