Module micro đa hướng I2S INMP441 MEMS



Mới



Module micro đa hướng I2S INMP441 MEMS
- Hàng trong kho: 26
- Nhà sản xuất: Nhập khẩu
- Khối lượng: 0.10kg
- Mã kho: 2279
- Vị trí: 1A4
Số lượng đã bán: 54
Lượt xem: 1062
99.360đ
Giá chưa bao gồm VAT: 92.000đ
20 sản phẩm trở lên giá: 8.640đ
1. Giới thiệu tổng quan
Module micro đa hướng I2S INMP441 MEMS là dòng micro kỹ thuật số hiệu suất cao, cho phép thu âm thanh từ mọi hướng với độ chính xác cao và tiêu thụ điện năng thấp. Sản phẩm sử dụng giao tiếp I2S kỹ thuật số 24-bit, tích hợp hoàn hảo với các vi điều khiển như ESP32, rất thích hợp cho các ứng dụng nhận dạng phân loại giọng nói và điều khiển thiết bị bằng giọng nói.
2. Thông số kỹ thuật
- Model: INMP441 MEMS
- Giao tiếp: I2S kỹ thuật số 24-bit
- Điện áp cấp: 1.8V đến 3.3V
- Dòng điện tiêu thụ: 1.4 mA
- Tỷ lệ tín hiệu trên nhiễu cao (SNR): 61 dBA
- Độ nhạy: -26 dBFS
- Đáp tuyến tần số: 60 Hz đến 15 kHz
- Tỷ lệ loại bỏ nguồn điện cao (PSR): -75 dBFS
- Kích thước: Đường kính 14mm x độ dày 2.0mm
- Khoảng cách chân cắm: 2.54mm
- Cân nặng: 1g
3. Ứng dụng
- Nhận dạng và phân loại giọng nói
- Hệ thống điều khiển thiết bị gia dụng bằng giọng nói
- Thiết bị ghi âm thông minh kỹ thuật số
- Các dự án IoT tích hợp âm thanh với ESP32 / Arduino
4. Hướng dẫn kiểm tra (Test)
Các bước kiểm tra nhanh:
- Chuẩn bị: Đồng hồ VOM, mạch ESP32, dây cắm và cáp kết nối máy tính.
- Thao tác: Đo kiểm tra điện áp VCC và GND để đảm bảo nguồn cấp ổn định từ 1.8V đến 3.3V trước khi kết nối tín hiệu I2S với ESP32.
- Kết quả: Module hoạt động tốt khi nạp code mẫu thành công, hệ thống đọc được dữ liệu âm thanh qua giao tiếp I2S mà không bị nhiễu hay treo mạch.
* Lưu ý an toàn: Không cấp nguồn vượt quá 3.3V vì có thể làm hỏng cảm biến MEMS bên trong. Tránh để nước hoặc bụi ẩm xâm nhập vào màng micro.
Sơ đồ kết nối & Code test mẫu (Arduino/ESP)
Kết nối chân:
- SCK nối với GPIO14
- SD nối với GPIO32
- WS nối với GPIO15
- L/R nối với GND
- GND nối với GND
- VDD nối với VDD3.3
C/C++ (Arduino/ESP)
#include
// Định nghĩa các chân kết nối I2S cho INMP441 với ESP32
#define I2S_WS 15
#define I2S_SD 32
#define I2S_SCK 14
// Cấu hình cổng I2S
#define I2S_PORT I2S_NUM_0
#define bufferLen 64
int16_t sBuffer[bufferLen];
void i2s_install() {
const i2s_config_t i2s_config = {
.mode = i2s_mode_t(I2S_MODE_MASTER | I2S_MODE_RX),
.sample_rate = 44100,
.bits_per_sample = i2s_bits_per_sample_t(16),
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S),
.intr_alloc_flags = 0,
.dma_buf_count = 8,
.dma_buf_len = bufferLen,
.use_apll = false
};
i2s_driver_install(I2S_PORT, &i2s_config, 0, NULL);
}
void i2s_setpin() {
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_set_pin(I2S_PORT, &pin_config);
}
void setup() {
Serial.begin(115200);
Serial.println("Đang khởi tạo I2S...");
// Thiết lập chân và driver I2S
i2s_install();
i2s_setpin();
i2s_start(I2S_PORT);
}
void loop() {
size_t bytesIn = 0;
// Đọc dữ liệu âm thanh từ micro INMP441
esp_err_t result = i2s_read(I2S_PORT, &sBuffer, sizeof(sBuffer), &bytesIn, portMAX_DELAY);
if (result == ESP_OK) {
int samples_read = bytesIn / 2;
if (samples_read > 0) {
float mean = 0;
for (int i = 0; i < samples_read; i++) {
mean += sBuffer[i];
}
}
}
} module micro da huong i2s inmp441 mems















