Operácie

Generovanie tónov: Rozdiel medzi revíziami

Z SensorWiki

(Najjednoduchší program)
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 zo dňa a času 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...