Spesifikasi Utama:
- Tipe Mikrofon: Omnidirectional MEMS mikrofon, yang mampu menangkap suara dari semua arah.
- Antarmuka: I2S (Inter-IC Sound), yang memungkinkan transfer data audio digital langsung ke mikrokontroler seperti ESP32.
- Rentang Tegangan Operasi: 1.8V – 3.3V.
- Konsumsi Daya Rendah: Modul ini dirancang untuk aplikasi dengan efisiensi daya tinggi, ideal untuk perangkat portabel atau sistem yang bekerja dengan daya terbatas.
- Rasio Signal-to-Noise (SNR): Sekitar 61 dB, memungkinkan kualitas suara yang baik untuk berbagai aplikasi.
- Frekuensi Sampling: Mendukung frekuensi sampling audio standar, seperti 8kHz hingga 48kHz.
- Aplikasi: Digunakan dalam proyek yang membutuhkan input audio seperti pengenalan suara, perekaman audio, kontrol suara, dan perangkat IoT audio.
Fitur:
- Presisi Tinggi: INMP441 memiliki SNR yang tinggi, memungkinkan penangkapan suara yang jernih dan berkualitas.
- Konsumsi Daya Rendah: Modul ini sangat efisien, membuatnya cocok untuk aplikasi yang memerlukan operasi hemat daya.
- Omnidirectional: Menangkap suara dari semua arah, ideal untuk aplikasi yang memerlukan cakupan suara luas.
- Antarmuka I2S: Menghasilkan output data audio digital, sehingga mudah diintegrasikan dengan mikrokontroler yang mendukung I2S seperti ESP32, tanpa perlu konversi ADC tambahan.
Kode Pemrograman (ESP32 Contoh):
Berikut adalah contoh kode untuk membaca data audio dari INMP441 menggunakan ESP32 dan menampilkan data di serial monitor:
// Konfigurasi I2S
// Pengaturan konfigurasi I2S
void setupI2S() {
i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
.sample_rate = 16000, // Frekuensi sampling
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT,
.communication_format = I2S_COMM_FORMAT_I2S,
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 8,
.dma_buf_len = 64
};
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
};
// Inisialisasi I2S
i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
i2s_set_pin(I2S_NUM_0, &pin_config);
i2s_zero_dma_buffer(I2S_NUM_0);
}
void setup() {
Serial.begin(115200);
setupI2S(); // Panggil fungsi untuk inisialisasi I2S
}
void loop() {
int16_t samples[64];
size_t bytes_read;
// Baca data dari I2S
i2s_read(I2S_NUM_0, &samples, sizeof(samples), &bytes_read, portMAX_DELAY);
// Tampilkan nilai sampel di serial monitor
for (int i = 0; i < 64; i++) {
Serial.println(samples[i]);
}
delay(100);
}
Langkah Penggunaan:
- Sambungkan Modul ke ESP32:
- VCC ke 3.3V.
- GND ke GND.
- SD (Data) ke pin I2S data input (misalnya, GPIO32 pada ESP32).
- WS (Word Select) ke pin I2S LRCK (misalnya, GPIO15).
- SCK (Clock) ke pin I2S BCLK (misalnya, GPIO14).
- Konfigurasi Kode: Gunakan pustaka atau driver I2S untuk ESP32, seperti yang ditunjukkan dalam contoh kode di atas.
- Pembacaan Data Audio: Data audio digital yang diterima dari modul dapat diproses, ditampilkan, atau disimpan sesuai kebutuhan aplikasi.
Cara Perawatan:
- Gunakan Tegangan yang Tepat: Pastikan modul diberi tegangan yang sesuai (3.3V), jangan melebihi spesifikasi untuk menghindari kerusakan.
- Jaga Kebersihan Mikrofon: Hindari debu dan kelembapan berlebih yang dapat mempengaruhi kinerja mikrofon.
- Jauhkan dari Interferensi Elektromagnetik: Tempatkan modul jauh dari sumber interferensi elektromagnetik yang dapat memengaruhi kualitas sinyal audio.
Aplikasi:
- Pengenalan Suara: Menggunakan modul ini untuk menangkap perintah suara untuk proyek kontrol suara atau AI.
- Perekaman Audio: Digunakan dalam proyek yang memerlukan perekaman suara berkualitas tinggi.
- Kontrol Suara di Perangkat IoT: Seperti smart speaker atau asisten suara.
- Sistem Keamanan Audio: Untuk mendeteksi suara atau kebisingan di area tertentu sebagai bagian dari sistem keamanan.
Modul INMP441 adalah pilihan yang sangat baik untuk proyek-proyek yang memerlukan mikrofon berkualitas tinggi dengan antarmuka digital I2S yang mudah digunakan, terutama dengan mikrokontroler seperti ESP32.