fbpixel
Etiquetas: ,

É possível dotar o seu microcontrolador do sentido da audição ligando-o a um microfone. O microfone capta as vibrações no ar e transforma-as num sinal elétrico que pode ser analisado e processado com um algoritmo. Neste tutorial, veremos como detectar um nível sonoro utilizando o microcontrolador.

Material

  • Computador
  • Arduino UNO
  • Cabo USB A Macho/B Macho
  • Microfone

Princípio de funcionamento

O sensor utilizado neste tutorial é um microfone condensador elétrico. Ele é composto por duas superfícies, uma fixa e a outra móvel. As vibrações do ar geram o movimento da membrana móvel, causando a variação do potencial elétrico detectado pelo sensor, que então envia um sinal elétrico para o microcontrolador. Existem vários modelos de microfone com diferentes sensibilidades, para detectar sons mais ou menos fortes. O modelo mais adequado varia conforme o uso que se pretende fazer. Verifique a documentação do módulo.

Obs: Este tipo de módulo não permite gravar ou analisar sons complexos, mas principalmente níveis sonoros.

Esquema

O microfone requer pouca potência e pode ser alimentado diretamente no pino de 5V do Arduino. Ele devolve um valor analógico que é enviado para uma entrada analógica do microcontrolador. Dependendo do modelo, o módulo pode conter um potenciômetro para ajustar a sensibilidade do microfone.

  • AUD no pino A0
  • Vcc no pino 5V
  • GND no pino GND
arduino-microphone_bb Usar um Microfone com o Arduino

Código

Para medir o nível sonoro, usamos a função AnalogRead(), como para a maioria dos sensores analógicos.

//Parameters
const int micPin  = A0;

//Variables
int micVal  = 0;

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init Microphone
  pinMode(micPin, INPUT);
}

void loop() {
  readMicrophone();
}

void readMicrophone( ) { /* function readMicrophone */
  ////Test routine for Microphone
  micVal = analogRead(micPin);
  Serial.print(F("mic val ")); Serial.println(micVal);
  if (micVal > 600) {
    Serial.println("mic detected");
  }
}

Resultado

Depois de carregar o código no microcontrolador, podemos ver o valor analógico mudar conforme o ruído ambiente. Tente bater palmas, estalar os dedos ou falar para ver como o microfone se comporta. Isso ajudará a determinar o nível necessário para desencadear uma ação.

arduino-monitor-microphone-results Usar um Microfone com o Arduino

Aplicações

  • Ativar uma lâmpada batendo palmas
  • Criar um alarme ativado pelo ruído

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie