SKU: OT6767 Αριθμός είδους: AH131 EAN: 8720828223857
Εμπλουτίστε τα τεχνολογικά σας projects με τη σύγχρονη πολυκατευθυντική μονάδα μικροφώνου MEMS, εξοπλισμένη με το chip INMP441. Αυτή η μονάδα έχει σχεδιαστεί για να προσφέρει υψηλής ποιότητας απόδοση ήχου, συμβατή με ένα ευρύ φάσμα μικροελεγκτών και πλακετών ανάπτυξης που λειτουργούν στα 3.3V, όπως ESP8266, ESP32 και ακόμη και το Raspberry Pi. Αυτό την καθιστά μια ευέλικτη επιλογή για εφαρμογές που κυμαίνονται από έξυπνες συσκευές και ανάλυση ήχου έως διαδραστικά καλλιτεχνικά projects.
Τεχνικές Προδιαγραφές:
Pinout:
Περιεχόμενο συσκευασίας:
Αυτή η μονάδα μικροφώνου δεν είναι μόνο κατάλληλη για χομπίστες και makers, αλλά και για επαγγελματίες που αναζητούν μια αξιόπιστη λύση για προηγμένα audio projects. Υποστηρίζει ένα ευρύ φάσμα εφαρμογών και είναι συμβατή με δημοφιλείς πλατφόρμες ανάπτυξης όπως ESP8266, ESP32 και Raspberry Pi, καθιστώντας την εξαιρετική επιλογή για όποιον θέλει να εμπλουτίσει τα projects του με υψηλής ποιότητας ήχο.
Αυτή η πολυκατευθυντική μονάδα μικροφώνου MEMS με το chip INMP441 είναι κατάλληλη για ένα ευρύ φάσμα εφαρμογών, όπως:
Έτσι συνδέεις το Πολυκατευθυντικό Μικρόφωνο INMP441 MEMS 3.3V σε ένα Arduino UNO ή ESP32, με ένα παράδειγμα sketch που μπορείς να ανεβάσεις αμέσως.
Αυτό το έργο συνδέει ένα ψηφιακό, πανκατευθυντικό μικρόφωνο I2S INMP441 σε ένα Arduino Uno. Το Uno δημιουργεί τα σήματα I2S bit clock (SCK) και word select (WS) σε λογισμικό για να διαβάζει δείγματα ήχου 24-bit από τη γραμμή SD. Ανοίξτε το Serial Monitor ή το Serial Plotter στα 115200 baud για να δείτε τα επίπεδα ήχου να μεταβάλλονται σε πραγματικό χρόνο.
/*
* ==================================================================
* 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
Διαβάζει ψηφιακό ήχο από το πανκατευθυντικό μικρόφωνο I2S INMP441 και υπολογίζει επίπεδα έντασης σε πραγματικό χρόνο. Ανοίξτε το Serial Monitor ή το Serial Plotter στα 115200 baud για να δείτε οπτικά τον ήχο περιβάλλοντος και το πλάτος της φωνής.
/*
* ==================================================================
* 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