É 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
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.
Aplicações
- Ativar uma lâmpada batendo palmas
- Criar um alarme ativado pelo ruído
Fontes
- https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/
- Gestão de sensores com o Arduino
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie