SKU: OT6767 Číslo položky: AH131 EAN: 8720828223857
Obohaťte své technologické projekty naším pokročilým všesměrovým MEMS mikrofonním modulem vybaveným čipem INMP441. Tento modul je navržen tak, aby poskytoval vysoce kvalitní audio výkon, a je kompatibilní se širokou škálou mikrokontrolérů a vývojových desek pracujících na 3.3V, jako jsou ESP8266, ESP32 a dokonce i Raspberry Pi. Díky tomu je všestrannou volbou pro aplikace od chytrých zařízení a analýzy zvuku až po interaktivní umělecké projekty.
Technické specifikace:
Pinout:
Obsah balení:
Tento mikrofonní modul je vhodný nejen pro hobbyisty a tvůrce, ale také pro profesionály, kteří hledají spolehlivé řešení pro pokročilé audio projekty. Podporuje širokou škálu aplikací a je kompatibilní s populárními vývojovými platformami, jako jsou ESP8266, ESP32 a Raspberry Pi, což z něj činí vynikající volbu pro každého, kdo chce své projekty obohatit o vysoce kvalitní zvuk.
Tento všesměrový MEMS mikrofonní modul s čipem INMP441 je vhodný pro širokou škálu aplikací, včetně:
Takto připojíš Všesměrový mikrofon INMP441 MEMS 3.3V k Arduino UNO nebo ESP32, s ukázkovým sketchem, který můžeš hned nahrát.
Tento projekt připojuje digitální, všesměrový I2S mikrofon INMP441 k Arduino Uno. Uno generuje v softwaru signály I2S bit clock (SCK) a word select (WS), aby mohlo číst 24-bit audio vzorky z vedení SD. Otevřete Serial Monitor nebo Serial Plotter při 115200 baud, abyste viděli, jak se úrovně zvuku mění v reálném čase.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : INMP441 I2S Microphone with Arduino Uno
* Board : Arduino UNO (arduino:avr:uno)
* Parts : INMP441 microphone
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
// INMP441 I2S Microphone demonstration on Arduino Uno
const int PIN_SCK = 2; // Serial Clock (SCK)
const int PIN_WS = 3; // Word Select / LRCLK (WS)
const int PIN_SD = 4; // Serial Data (SD)
void setup() {
Serial.begin(115200);
pinMode(PIN_SCK, OUTPUT);
pinMode(PIN_WS, OUTPUT);
pinMode(PIN_SD, INPUT);
digitalWrite(PIN_SCK, LOW);
digitalWrite(PIN_WS, LOW);
Serial.println(F("INMP441 Microphone Demo Initialized."));
Serial.println(F("Speak or make noise near the microphone."));
}
// Bit-bang 32 clock pulses per channel and sample 24-bit audio
int32_t readI2SSample() {
int32_t sample = 0;
// Select Left Channel
digitalWrite(PIN_WS, LOW);
// I2S standard has 1-bit delay before MSB
for (int bit = 0; bit < 32; bit++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
if (bit > 0 && bit <= 24) {
sample = (sample << 1) | digitalRead(PIN_SD);
}
}
// Select Right Channel to complete stereo frame
digitalWrite(PIN_WS, HIGH);
for (int bit = 0; bit < 32; bit++) {
digitalWrite(PIN_SCK, HIGH);
digitalWrite(PIN_SCK, LOW);
}
// Sign-extend 24-bit to 32-bit signed integer
if (sample & 0x00800000) {
sample |= 0xFF000000;
}
return sample;
}
void loop() {
int32_t rawSample = readI2SSample();
int32_t magnitude = abs(rawSample);
Serial.print(F("Raw: "));
Serial.print(rawSample);
Serial.print(F("\tMagnitude: "));
Serial.println(magnitude);
delay(20);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Čte digitální zvuk z všesměrového mikrofonu I2S INMP441 a počítá úrovně hlasitosti v reálném čase. Otevřete Serial Monitor nebo Serial Plotter při 115200 baud a zobrazte si okolní hluk a amplitudu hlasu.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : INMP441 I2S Sound Level Meter
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : INMP441 microphone
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <driver/i2s.h>
#define I2S_WS 15
#define I2S_SD 32
#define I2S_SCK 14
#define I2S_PORT I2S_NUM_0
#define BUFFER_LEN 64
int32_t samples[BUFFER_LEN];
void setup() {
Serial.begin(115200);
const i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
.sample_rate = 16000,
.bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT,
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_STAND_I2S),
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 4,
.dma_buf_len = BUFFER_LEN,
.use_apll = false
};
const i2s_pin_config_t pin_config = {
.bck_io_num = I2S_SCK,
.ws_io_num = I2S_WS,
.data_out_num = I2S_PIN_NO_CHANGE,
.data_in_num = I2S_SD
};
i2s_driver_install(I2S_PORT, &i2s_config, 0, NULL);
i2s_set_pin(I2S_PORT, &pin_config);
}
void loop() {
size_t bytes_read = 0;
i2s_read(I2S_PORT, &samples, sizeof(samples), &bytes_read, portMAX_DELAY);
int samples_read = bytes_read / sizeof(int32_t);
int64_t sum = 0;
for (int i = 0; i < samples_read; i++) {
int32_t sample = samples[i] >> 14;
sum += abs(sample);
}
if (samples_read > 0) {
int32_t sound_level = sum / samples_read;
Serial.print("SoundLevel:");
Serial.println(sound_level);
}
delay(20);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online