SKU: OT6767 Artikelnummer: AH131 EAN: 8720828223857
Bereichern Sie Ihre technologischen Projekte mit unserem fortschrittlichen omnidirektionalen MEMS-Mikrofonmodul, ausgestattet mit dem INMP441-Chip. Dieses Modul wurde entwickelt, um hochwertige Audioleistung zu liefern, kompatibel mit einer breiten Palette von Mikrocontrollern und Entwicklungsboards, die mit 3.3V arbeiten, wie ESP8266, ESP32 und sogar dem Raspberry Pi. Das macht es zu einer vielseitigen Wahl für Anwendungen von Smart-Geräten und Klanganalyse bis hin zu interaktiven Kunstprojekten.
Technische Spezifikationen:
Pinbelegung:
Lieferumfang:
Dieses Mikrofonmodul ist nicht nur für Hobbyisten und Maker geeignet, sondern auch für Profis, die nach einer zuverlässigen Lösung für fortschrittliche Audioprojekte suchen. Es unterstützt eine breite Palette von Anwendungen und ist kompatibel mit beliebten Entwicklungsplattformen wie ESP8266, ESP32 und Raspberry Pi, wodurch es eine ausgezeichnete Wahl für alle ist, die ihre Projekte mit hochwertigem Audio bereichern möchten.
Dieses omnidirektionale MEMS-Mikrofonmodul mit dem INMP441-Chip eignet sich für eine breite Palette von Anwendungen, darunter:
So schließt du den Omnidirektionales Mikrofon INMP441 MEMS 3.3V an einen Arduino UNO oder ESP32 an, mit einem Beispiel-Sketch, den du direkt hochladen kannst.
Dieses Projekt verbindet ein digitales, omnidirektionales INMP441 I2S-Mikrofon mit einem Arduino Uno. Der Uno erzeugt die I2S-Bitclock (SCK) und das Word-Select-Signal (WS) per Software, um 24-bit-Audio-Samples von der SD-Leitung auszulesen. Öffnen Sie den Seriellen Monitor oder den Serial Plotter mit 115200 baud, um die schwankenden Schallpegel in Echtzeit zu sehen.
/*
* ==================================================================
* 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
Liest digitale Audiodaten vom omnidirektionalen I2S-Mikrofon INMP441 und berechnet Lautstärkewerte in Echtzeit. Öffne den Serial Monitor oder Serial Plotter mit 115200 baud, um Umgebungsgeräusche und Sprachamplitude zu visualisieren.
/*
* ==================================================================
* 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