Grove - Microfone Analógico

O Grove - Microfone Analógico é baseado na tecnologia de alto desempenho SiSonic MEMS, oferecendo um microfone extremamente silencioso, de baixa corrente, confiável e pequeno para a indústria de hardware open source, e possui desempenho aprimorado em condições severas.
Grove - Microfone Analógico é uma escolha ideal de sensores de som quando é necessário excelente desempenho de áudio. Ele pode fornecer até 20dB de ganho e também possui baixa corrente, proteção máxima contra RF, o que o torna um microfone perfeito para Arduino e Raspberry Pi. Nosso produto em destaque ReSpeaker Core v2.0 também adota a tecnologia MEMS e o mesmo microfone que o Grove - Microfone Analógico utiliza. Se você está procurando um microfone sofisticado, esta é a escolha.
Recursos
- Tecnologia SiSonic MEMS de alto desempenho
- Extremamente silencioso, de baixa corrente e confiável
- Design compacto e elegante
Este sensor de som é usado para detectar se há som ao redor ou não, por favor não use o módulo para coletar sinal de som. Por exemplo, você pode usá-lo para fazer uma lâmpada controlada por som, mas não como um dispositivo de gravação.
Aplicações
- Sensor de som
- Coleta de sinal de som
- Reconhecimento de voz
- Gravação
Especificações
| Item | Valor |
|---|---|
| Dimensões | 20mm x 20mm |
| Tensão de Operação | 3,3V |
| Corrente de Operação | 5mA |
| Faixa de Temperatura de Operação | -40 °C a 100 °C |
Para mais detalhes sobre os módulos Grove, consulte Grove System
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Primeiros Passos
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
Brincar com Arduino
Hardware
| Seeeduino V4.2 | Base Shield | Grove-Analog Microphone |
|---|---|---|
![]() | ![]() | ![]() |
| Adquira agora | Adquira agora | Adquira agora |
- Step 1. Conecte o Grove-Sound Sensor à porta A0 do Grove-Base Shield.
- Step 2. Conecte o Grove - Base Shield ao Seeeduino e conecte o Seeeduino ao PC por meio de um cabo USB.

If we don't have Grove Base Shield, We also can directly connect Grove-Sound Sensor to Seeeduino as below.
| Seeeduino | Grove-Sound Sensor |
|---|---|
| 5V | Red |
| GND | Black |
| A1 | White |
| A0 | Yellow |
Software
- Step 1. Please copy below code to Arduio IDE and upload to arduino. If you do not know how to upload the code, please check how to upload code.
/*
Analog input, analog output, serial output
Reads an analog input pin, maps the result to a range from 0 to 255 and uses
the result to set the pulse width modulation (PWM) of an output pin.
Also prints the results to the Serial Monitor.
*/
// These constants won't change. They're used to give names to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
Serial.begin(9600); // initialize serial communications at 9600 bps
}
void loop() {
sensorValue = analogRead(analogInPin); // read the analog in value
outputValue = map(sensorValue, 0, 1023, 0, 255); // map it to the range of the analog out
analogWrite(analogOutPin, outputValue); // change the analog out value
Serial.println(outputValue); // print the results to the Serial Monitor
// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(2);
}
- Step 2. Clique em Serial > Plotter para obter a curva de variação do sensor. Por favor, faça um ruído para ver a mudança do valor.

Brincar com Wio Terminal
Hardware
| Wio Terminal | Grove-Analog Microphone |
|---|---|
![]() | |
| Adquira agora | Adquira agora |
Conexão de Hardware

Step 1 Conecte o Grove-Analog Microphone ao Wio Terminal por meio de um cabo Grove e também conecte o Wio Terminal ao PC através de um cabo USB.
Step 2 Copie o código de demonstração para o seu Arduino IDE e faça o upload.
Software
#include "seeed_line_chart.h" //include the library
TFT_eSPI tft;
#define LINE_DIS 0X00
#define STRING_DIS 0X01
#define max_size 30 //maximum size of data
doubles data; //Initilising a doubles type to store data
int brightness;
TFT_eSprite spr = TFT_eSprite(&tft); // Sprite
const int MIC = A0; //the microphone amplifier output is connected to pin A0
int adc;
int dB, PdB; //the variable that will hold the value read from the microphone each time
uint8_t mode = LINE_DIS;
void setup()
{
Serial.begin(9600); //sets the baud rate at 9600 so we can check the values the microphone is obtaining on the Serial Monitor
pinMode(A0, INPUT);
pinMode(WIO_KEY_C, INPUT_PULLUP);
pinMode(WIO_BUZZER, OUTPUT);
tft.begin();
spr.createSprite(TFT_HEIGHT, TFT_WIDTH);
spr.setRotation(3);
tft.setRotation(3);
}
void loop() {
if (digitalRead(WIO_KEY_C) == LOW) {
mode ++;
if(mode > STRING_DIS ) mode = LINE_DIS;
while(!digitalRead(WIO_KEY_C));
}
display(mode);
}
void display(uint8_t mode)
{
adc = analogRead(MIC); //Read the ADC value from amplifer
//Serial.println (adc);//Print ADC for initial calculation
dB = (adc + 83.2073) / 7.003; //Convert ADC value to dB using Regression values
if(dB > 50)
{
analogWrite(WIO_BUZZER, 128);
}else{
analogWrite(WIO_BUZZER, 0);
}
spr.fillSprite(TFT_WHITE);
if (data.size() == max_size)
{
data.pop(); //this is used to remove the first read variable
}
data.push(dB); //read variables and store in data
//Settings for the line graph title
auto header = text(0, 0)
.value("MIC DB Readings")
.align(center)
.valign(vcenter)
.width(tft.width())
.thickness(2);
header.height(header.font_height() * 2);
header.draw(); //Header height is the twice the height of the font
if (LINE_DIS == mode){
//Settings for the line graph
auto content = line_chart(20, header.height()); //(x,y) where the line graph begins
content
.height(tft.height() - header.height() * 1.5) //actual height of the line chart
.width(tft.width() - content.x() * 2) //actual width of the line chart
.based_on(0.0) //Starting point of y-axis, must be a float
.show_circle(false) //drawing a cirle at each point, default is on.
.value(data) //passing through the data to line graph
.color(TFT_RED) //Setting the color for the line
.draw();
} else if (STRING_DIS == mode){
for(int8_t line_index = 0;line_index < 5 ; line_index++)
{
spr.drawLine(0, 50 + line_index, tft.width(), 50 + line_index, TFT_GREEN);
}
auto header = text(0, 0)
.thickness(1);
spr.setFreeFont(&FreeSansBoldOblique24pt7b);
if(dB > 50){
spr.setTextColor(TFT_RED);
}else{
spr.setTextColor(TFT_BLUE);
}
spr.drawFloat(dB,2,70,110);
spr.drawString(" dB",80 + 100,110,1);
}
spr.pushSprite(0, 0);
delay(100);
}
A imagem será exibida na tela do Wio Terminal se tudo correr bem.

Visualizador Online de Esquemático
Recursos
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.







