Operácie

Generovanie tónov: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Balogh (diskusia | príspevky)
Bez shrnutí editace
Riadok 7: Riadok 7:


== Najjednoduchší program ==
== Najjednoduchší program ==
Frekvečný signál môžeme na výstupoch procesora generovať dvoma spôsobmi
* priamo ovládať daný výstup (v takom prípade však procesor nerobí nič iné), alebo
* využiť vstavané periférie, v tomto prípade počítadlo v režime generátora frekvencie.
Ďalej sa budeme zaoberať len druhým spôsobom. To nám obmedzí možné výstupy - môžu to byť len tie, na ktoré sú pripojené interné počítadlá, t.j. 3,5,6,9,10 alebo 11. Na doske Arduino UNO majú tieto výstupy pri čísle aj vlnovku.
'''Poznámka:''' výstupný frekvenčný signál bude mať síce správnu frekvenciu, ale tvar bude obdĺžnikový. Jednoduchými prostriedkami nedokážeme na výstupe generovať spojitý harmonický signál (sínusovku).





Verzia z 19:32, 30. január 2021

Generovanie tónov prostredníctvom pripojeného miniatúrneho reproduktora je veľmi obľúbené a využíva sa aj ako akustická signalizácia pri prekročení hraničných stavov, alebo ako alarm.

Pri použití miniatúrnych piezoreproduktorov si treba dať pozor na správny typ. V praxi sa veľmi často vyskytujú aj samobudené signazlizačné prvky - sirénky, ku ktorým stačí priviesť správne napájacie napätie a zvuk začnú generovať automaticky, pomocou zabudovaného oscilátora, najčastejšie naladeného na mechanickú rezonančnú frekvenciu meniča, takže obvykle aj účinnosť je výborná a hlasitosť ľahko presiahne desiatky dB.

My sa však v ďalšom budeme zaoberať len pasívnym meničom, čo je vlastne miniatúrny reproduktor, ktorý musíme vybudiť vhodnou frekvenciou, aby sme z neho dostali nejaký zvuk. Na prvý pohľad je to nevýhoda, ale takto môžeme generovať oveľa širšiu škálu zvukov. Nepočítajte však s nejakou hi-fi kvalitou, piezomeniče sú určené najmä na signalizáciu a nie na prehrávanie Carminy Burana.


Najjednoduchší program

Frekvečný signál môžeme na výstupoch procesora generovať dvoma spôsobmi

  • priamo ovládať daný výstup (v takom prípade však procesor nerobí nič iné), alebo
  • využiť vstavané periférie, v tomto prípade počítadlo v režime generátora frekvencie.

Ďalej sa budeme zaoberať len druhým spôsobom. To nám obmedzí možné výstupy - môžu to byť len tie, na ktoré sú pripojené interné počítadlá, t.j. 3,5,6,9,10 alebo 11. Na doske Arduino UNO majú tieto výstupy pri čísle aj vlnovku.

Poznámka: výstupný frekvenčný signál bude mať síce správnu frekvenciu, ale tvar bude obdĺžnikový. Jednoduchými prostriedkami nedokážeme na výstupe generovať spojitý harmonický signál (sínusovku).


/* ************************************************* 
*
*  Arduino code for Passive buzzer / Piezo Speaker
*
* ************************************************** */

const int buzzer = 6;      // connect buzzer to Arduino pin 6

void setup(){
  pinMode(buzzer, OUTPUT); // set the buzzer pin as an output
}

void loop(){
  tone(buzzer, 1000);      // send 1000 Hz wave to the output
  delay(1000);             // and do it for 1 sec
  noTone(buzzer);          // stop frequency output
  delay(1000);             // again for 1 sec
  tone(buzzer, 2000, 500); // third parameter is length in ms
  delay(1000);             // in reality 1000 - 500
}
To site spravit v AVRG-GCC nas este len caka.
<


Komplexnejšie melódie

Ak sa nám bude chcieť, tak sem dáme aj zložitejšie programíky...