-
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.
-
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.
Pas facile d'utiliser la numérotation ; traduction en plaçant les définitions dans le code
// left side (top to bottom)
#define D0 (0ul) // P0.06 (TX)
#define D1 (1ul) // P0.08 (RX)
#define D2 (2ul) // P0.17 (SCK)
#define D3 (3ul) // P0.20 (MISO)
#define D4 (4ul) // P0.22 (MOSI)
#define D5 (5ul) // P0.24 (CS)
#define D6 (6ul) // P1.00 (SDA)
#define D7 (7ul) // P0.11 (SCL)
#define D8 (8ul) // P1.04
#define D9 (9ul) // P1.06
#define D10 (10ul) // P0.09 (NFC1)
#define D11 (11ul) // P0.10 (NFC2)
#define D12 (12ul) // P1.11
#define D13 (13ul) // P1.13 (SDA1)
#define D14 (14ul) // P1.15 (SCL1)
#define D15 (15ul) // P0.02/AIN0 (A0)
#define D16 (16ul) // P0.29/AIN6 (A1)
#define D17 (17ul) // P0.31/AIN7 (A2)
// extra center pins (left to right)
#define D18 (18ul) // P1.01 (SCK1)
#define D19 (19ul) // P1.02 (MISO1)
#define D20 (20ul) // P1.07 (MOSI1)
// LEDs
#define PIN_LED (22) // USR LED is P0.15
#define LED_PWR (PINS_COUNT) // no LED_PWR
#define PIN_NEOPIXEL (PINS_COUNT) // no neopixel
#define NEOPIXEL_NUM 0
#define LED_BLUE PIN_LED // required by bluefruit library
#define LED_BUILTIN PIN_LED
#define LED_STATE_ON 1 // State when LED is on
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
