-
Notifications
You must be signed in to change notification settings - Fork 0
INMP441
8 dépôts github : exemples-de-montages festisol CROUS-micro-python piano visio anumby jouets developpement-voiture raspberry-pico Blog ateliers numériques Repair Café d'Orsay
micro Bluetooth avec une ProMicro nRF52840 + INMP441. C’est le combo classique pour un micro BLE audio.
- Câblage nRF52840 ProMicro <-> INMP441 I2S INMP441 nRF52840 ProMicro Note VDD 3V3 3.3V uniquement GND GND Masse SD P0.25 I2S DIN WS P0.24 I2S LRCLK SCK P0.23 I2S SCLK L/R GND Canal gauche. Mets à VDD pour droit
- Code Arduino avec Bluefruit nRF52 Installe le core Adafruit nRF52 dans l’IDE Arduino. #include <bluefruit.h> #include <PDM.h>
BLEDis bledis; BLEUart bleuart;
void setup() { Serial.begin(115200);
Bluefruit.begin(); Bluefruit.setName("Micro-nRF52");
bledis.setManufacturer("DIY"); bledis.setModel("INMP441"); bledis.begin();
bleuart.begin();
Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE); Bluefruit.Advertising.addTxPower(); Bluefruit.Advertising.addService(bleuart); Bluefruit.ScanResponse.addName(); Bluefruit.Advertising.restartOnDisconnect(true); Bluefruit.Advertising.setInterval(32, 244); Bluefruit.Advertising.setFastTimeout(30); Bluefruit.Advertising.start(0);
PDM.onReceive(onPDMdata); PDM.setBufferSize(512); // P0.23 = CLK, P0.25 = DOUT, P0.24 = WS PDM.setPins(23, 25, 24); if (!PDM.begin(1, 16000)) { Serial.println("PDM fail"); while (1); } }
void onPDMdata() { int bytesAvailable = PDM.available(); char sampleBuffer[512]; PDM.read(sampleBuffer, bytesAvailable); if (Bluefruit.connected()) { bleuart.write(sampleBuffer, bytesAvailable); } }
void loop() { } 3. Points clés
I2S vs PDM : L’INMP441 sort en I2S. Le nRF52840 gère I2S mais la lib PDM est plus simple. Ça marche car PDM = I2S 1-bit. Qualité OK pour voix
Débit BLE : 16kHz mono 16-bit = 256kbit/s. Le BLE 4.2 du nRF52 tient ∼200kbit/s réel. Donc 16kHz c’est le max fiable. Pour 32kHz passe en BLE 5.0 2M PHY
Buffer : Envoie par paquets de 20 à 512 octets via BLEUart. Au-delà ça fragmente
Conso : ∼8mA en streaming. Une LiPo 500mAh = 60h
- Côté réception App nRF Connect ou appli custom qui lit le service Nordic UART. Tu récupères du PCM 16kHz 16-bit brut.
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

La progression par 5 niveaux des exemples-de-montages est importante pour aborder des projets de plus en plus ambitieux. Compléter votre boite à outils avec des Capteurs, des Afficheurs en utilisant des Instruments de mesure. Regarder les Videos et montez vos propres projets pour refaire les jeux du festival festisol et commencer à utiliser les nouveaux raspberry-pico. Voulez-vous nous aider à développer d'autres applications ? Commencez un peu de code CROUS-micro-python, participez au developpement-voiture ou pour construire des jouets Anumby
