Sơ đồ kết nối ESP32-S3 với microphone I2S INMP441
Tổng quan về ESP32-S3 và INMP441
ESP32-S3 là một vi điều khiển mạnh mẽ với khả năng xử lý âm thanh và hỗ trợ kết nối Wi-Fi và Bluetooth. INMP441 là microphone I2S cho phép thu âm thanh chất lượng cao, rất phù hợp cho các ứng dụng nhận diện giọng nói.
Sơ đồ kết nối
Dưới đây là sơ đồ kết nối giữa ESP32-S3 và microphone INMP441:
ESP32-S3 Pin INMP441 Pin
------------------------------
GPIO 35 (SCK) SCK
GPIO 36 (WS) WS
GPIO 37 (SD) SD
GND GND
3.3V VDD
Chi tiết kết nối
SCK (Serial Clock): Kết nối với GPIO 35, đảm bảo tốc độ truyền dữ liệu cao.
WS (Word Select): Kết nối với GPIO 36, dùng để điều khiển định dạng dữ liệu âm thanh.
SD (Serial Data): Kết nối với GPIO 37, nơi nhận dữ liệu âm thanh từ microphone.
GND: Kết nối đất chung cho cả hai thiết bị.
3.3V: Cung cấp điện áp cho microphone INMP441. Hãy kiểm tra yêu cầu điện áp của mô-đun INMP441 cụ thể của bạn trước khi kết nối.
Tip: Đảm bảo rằng các kết nối được thực hiện chắc chắn để tránh mất tín hiệu trong quá trình thu âm.
Lập trình ESP32-S3
Để sử dụng microphone INMP441, bạn cần sử dụng thư viện I2S trong Arduino IDE. Dưới đây là một đoạn mã mẫu để khởi tạo microphone:
#include
void setup() {
i2s_config_t i2s_config = {
.mode = I2S_MODE_MASTER | I2S_MODE_RX,
.sample_rate = 44100,
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
.communication_format = I2S_COMM_FORMAT_I2S_MSB,
.intr_alloc_flags = 0,
.dma_buf_count = 8,
.dma_buf_len = 1024,
.use_apll = false
};
i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
i2s_pin_config_t pin_config = {
.bck_io_num = 35,
.ws_io_num = 36,
.data_out_num = I2S_PIN_NO_CHANGE,
.data_in_num = 37
};
i2s_set_pin(I2S_NUM_0, &pin_config);
}
