Mikrofón - streda 2526: Difference between revisions

From Krúžok Robotiky CENADA
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
Line 76: Line 76:
[[Image:mikrofon-zaznam4.png]]
[[Image:mikrofon-zaznam4.png]]


[[Image:mikrofon-zaznam5.png|width=1000px]]
[[Image:mikrofon-zaznam5.png|1000px]]

Latest revision as of 21:59, 10 December 2025

Mikrofón sme pripojili takto:


GND - na zem (čierny rad pinov) + - na napájanie (červený rad pinov) AO - analog output - na analógový pin A2, čiže na RP2040 je to pin 28

Nasledujúci program iba neustále číta z analógového pinu A2 a zobrazuje hodnotu v sériovom monitore. Keď do mikrofónu zakričíme, zapískame, alebo len do neho fúkneme, tak čísla výrazne vyskočia na chvíľu na iné hodnoty. Z analógového pinu si teda môžeme prečítať aktuálnu vzorku zvukovej vlny v momentálnom čase merania.

void setup() {
  Serial.begin(9600);
  delay(3000);
}

void loop() {
  int x = analogRead(A2);
  Serial.println(x);
  delay(300);
}


Keď už vieme ako približne mikrofónový senzor funguje, môžeme to využiť na jednoduché zariadenie, ktoré začne sirénkou vydávať zvuky potom, čo do mikrofónu zakričíme:

void setup() {
  pinMode(3, OUTPUT);
}

void loop() {
  int x = analogRead(A2);
  if (x > 200) {
    for (int i = 0; i < 10; i++) {
      tone(3, 880, 200);  delay(250);
      tone(3, 440, 200);  delay(250);
      tone(3, 880, 200);  delay(250);
    }
  }
  delay(300);
}

A nakoniec sme urobili program, ktorý zvukovú vlnu zaznamenal do pola, ktoré potom vypísal do sériového portu. Začiatok a koniec záznamu označil krátkym písknutím sirénkou.

int16_t zaznam[100000];    // do pola zaznam ulozime 100-tisic vzoriek

void setup() {
  Serial.begin(9600);
  pinMode(3, OUTPUT);
  delay(3000);
  tone(3, 880, 200);          // sirena je na digitalnom pine 3
  delay(500);
  for (int i = 0; i< 100000; i++)
    zaznam[i] = analogRead(A2);
  tone(3, 880, 200);
  delay(500);
  for (int i = 0; i < 100000; i++)
    Serial.println(zaznam[i]);
}

void loop() {
  delay(300);
}

Takto zaznamenané a vypísané hodnoty sme potom mohli skopírovať do MS Excelu a zobraziť v grafe. Tu sú príklady zvukových vĺn, ktoré sme zaznamenali: