-
Notifications
You must be signed in to change notification settings - Fork 0
Banc de test microphone MEMS
8 dépôts github : exemples-de-montages avec les ateliers et projets réalisés au repair café festisol animations et projets réalisés pendant FESTISOL et à la MJC ; CROUS-micro-python animations et projets commencés au CROUS et poursuivis pendant les ateliers numériques ; piano une nouvelle passion réalisée à coup de marteau visio et communication ; jouets réparations, récréations mathématiques, création de nouveaux jouets developpement-voiture robot, intelligence artificielle ; raspberry-pico et micro-python ; Repair Café d'Orsay Blog Mots clés
INMP441 avec un module bluetooth
pour réaliser une boucle pour écouter le micro et sortir sur un haut parleur : je réalise une boucle de lecture du micro vers l'ampli MAX9837 en reliant la sortie SD est reliée à l'entrée Din de l'ampli, MAX LRC <> WS INMP, MAX B <> SCK
la boucle
la bibliothèque "pschatzmann" est bien documentée https://github.com/pschatzmann/arduino-audio-tools
Comment enregistrer ou transmettre avec un microphone ? il existe des micros de très grande fidélité ; pour tester je branche un microphone sur une sortie jack PCM5100 en utilisant un esp32c3 "super mini"
- I2S_BCK_IO 0 // Serial clock (SCK)
- I2S_WS_IO 1 // Word select (WS)
- I2S_DATA_IN_IO 2 // Serial data (SD)
Pour microphone
L/R mis à Vcc
Pour jack PCM5100 l'entree DIN est branchée sur la sortie microphone SD ; le code affiche les données
Pour comprendre le fonctionnement, voici un montage avec 2 composants esp32 et un lecteur PCM5100 soudé sur un connecteur femelle
le montage est réalisé en montant mal <> femelle
ESP Pin I2S Signal PCM5102 Pin
- GPIO15 LRCK LRCK
- GPIO2 DATA DIN
- GPIO4 BCK BCK
https://github.com/pschatzmann/arduino-audio-tools
avec la bibliothèque audio
audio.setVolume(6); // 0...21
le réglage n'est pas linéaire ; pschatzmann propose un réglage exponentiel ; le wiki est très bien fait
https://github.com/pschatzmann/ESP32-A2DP/wiki/Volume-Control
utilisation du micro INMP441
https://www.instructables.com/ESP32-Mic-Testing-With-INMP441-and-DumbDisplay/
Solution : ESP32 en périphérique Bluetooth (BLE ou A2DP)
- Configurer l'ESP32 :
- Lire l'audio de l'INMP441 (I2S).
- Transmettre l'audio via Bluetooth (BLE ou A2DP).
- Smartphone :
- Recevoir l'audio et le lire.
Exemple avec ESP32 et Bluetooth Classic (A2DP) L'ESP32 envoie l'audio en Bluetooth vers le smartphone (comme un microphone Bluetooth).
Code Exemple (ESP32 + A2DP)
#include <BluetoothA2DPSource.h> #include <driver/i2s.h>
BluetoothA2DPSource a2dp_source; const char* ssid = "ESP32-Audio";
void setup() { // Config I2S (INMP441) 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_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 = 1024, };
i2s_pin_config_t pin_config = { .bck_io_num = GPIO_NUM_18, // SCK .ws_io_num = GPIO_NUM_25, // WS .data_out_num = GPIO_NUM_26, // SD };
i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL); i2s_set_pin(I2S_NUM_0, &pin_config);
// Config A2DP a2dp_source.start(ssid, i2s_read); }
void loop() { // L'audio est transmis en Bluetooth }
Smartphone
- Active le Bluetooth.
- Recherche "ESP32-Audio" et connecte-toi.
- Utilise une app audio (ex : "SoundSource" sur iOS/Android) pour écouter.
Alternative : BLE avec app dédiée Si A2DP ne fonctionne pas, utiliser BLE pour envoyer l'audio à une app spécifique (ex : "BLE Microphone" sur Play Store).
Il faut disposer d'un oscilloscope ; pour les 3 signaux SD ( serial data ) SCK ( horloge ) et WS ( mots transmis ) le signal a une fréquence de 174 KHz et seulement de 17 KHz pour WS

L'univers Arduino est vaste ; découvrez des montages en quelques clics pour faire des jouets avec des arduino, les nouveaux modules raspberry pico ou avec du wifi les petits esp CROUS-micro-python

ateliers orientés sur le matériel, les capteurs
automates à base arduino
montage à base esp avec ajout de la connexion wifi
aide pour l'utilisation des logiciels libres
ateliers logiciels en environnement arduino
objets connectés en réseau domestique sans programmation (esp easy)
automates avec moteur, lampe, afficheur
automates composés de plusieurs objets
construction de projets : Jouets pour enfant avec des lumières qui s'allument, reconnaissance de visage avec un simple module caméra, rose des vents connectée sur internet pour avoir l'orientation du vent ( les 8 leds autour de la boite ) et son intensité


