🛠 Connecter un capteur externe en I²C et SPI

Adafruit Feather nRF52840 Express · intermediaire · Schéma : IMG-nrf52840-feather-intermediaire-3-nrf52840-spi-i2c-capteur-externe.svg — Feather nRF52840 reliée à un module BMP280 en I²C (SDA/SCL) et à un module SPI, pull-up sur le bus, broches 3V3 et GND communes.

Objetivos

Conectar y leer un sensor externo (ejemplo: BMP280/BME680) en los buses I²C y SPI del nRF52840. El SoC enruta SPI, UART, I²C e I²S a cualquier pin (PSEL), pero tenga cuidado con las peculiaridades propias de la Feather: los 3 maestros SPI lentos comparten sus instancias con los maestros I²C, y el SPIM3 rápido no funciona con alimentación por batería.

Material

Código completo

// nrf52840-spi-i2c-capteur-externe.ino
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp;               // par defaut: I2C sur Wire

void setup {
  Serial.begin(115200);
  Wire.begin;                    // TWI sur les broches Feather SDA/SCL
  // AVERTISSEMENT: board.SPI/SPI par defaut peut allouer SPIM3 (<=32 MHz),
  // qui NE FONCTIONNE PAS sur batterie (bug materiel documente par Adafruit,
  // la ligne ne devient correcte que lorsque VUSB est alimente). Sur batterie,
  // forcez un SPIM lent: SPIClass spi(SPI1); ou workaround CircuitPython.
  if (!bmp.begin_I2C(0x76, &Wire)) {
    Serial.println("BMP280 absent sur 0x76 (essayer 0x77)");
    while (1) delay(100);
  }
  Serial.println("BMP280 OK");
}

void loop {
  Serial.print(bmp.readTemperature, 2); Serial.print(" C  ");
  Serial.print(bmp.readPressure / 100.0f, 2); Serial.println(" hPa");
  delay(1000);
}

Verificación esperada

La temperatura y la presión se muestran cada segundo. Un Wire.scan de I²C lista la dirección del módulo (0x76 o 0x77). La prueba es reproducible tanto por USB como por batería únicamente si no ha utilizado SPIM3 — pruebe ambas fuentes de alimentación antes de validar un proyecto portátil.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales