Arduino UNO prueba el sensor de temperatura y presión BMP388

Introducción al sensor BMP388

El BMP388 es un sensor digital 2 en 1 que puede medir la temperatura y la presión atmosférica absoluta. Dado que la presión del aire varía con la altitud, la altitud se puede estimar con mucha precisión, lo que la hace muy útil para aplicaciones de navegación y drones.
inserte la descripción de la imagen aquí

parámetro Rango de medición precisión
temperatura -40 a 85 ºC +/- 0,5 ºC (0 a 65 ºC)
presión del aire 300 a 1250 hPa Precisión absoluta +/- 0,5 hPa, precisión relativa +/- 0,08 hPa
Tasa de muestreo / 200Hz

Descripción de la interfaz

inserte la descripción de la imagen aquí

VIN- Fuente de alimentación positiva 3.3-5V
GND Fuente de alimentación negativa
3Vo Regulador de voltaje Salida de 3.3V
SCK Modo SPI/IIC entrada de señal de reloj
SDI Modo SPI Entrada de señal de datos MOSI, entrada y salida de señal de datos en modo IIC Modo
SDO SPI Datos MISO Salida de señal, IIC pin de configuración de la dirección del dispositivo en modo IIC, dirección del dispositivo 1110110 (0x76) cuando está conectado a GND, 1110111 (0x77) cuando está conectado a VCC
CS pin de selección de chip en modo SPI, entrada baja activa
INT Salida de interrupción de nivel alto

Cableado y programa BMP388 y Arduino UNO

BMP388 Método de cableado SPI Método de cableado IIC
SCK D13 A5
IDE D11 A4
SDO D12 /
CS D10 /

Método de cableado
inserte la descripción de la imagen aquí
IICAdministrador de la biblioteca
inserte la descripción de la imagen aquí
IDE de Arduino instalar la biblioteca Adafruit_BME680Administrador de la biblioteca IDE de Arduinoinstalar
inserte la descripción de la imagen aquí
el sensor unificado de AdafruitAbrir el código de muestra

/***************************************************************************
  This is a library for the BMP3XX temperature & pressure sensor

  Designed specifically to work with the Adafruit BMP388 Breakout
  ----> http://www.adafruit.com/products/3966

  These sensors use I2C or SPI to communicate, 2 or 4 pins are required
  to interface.

  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing products
  from Adafruit!

  Written by Limor Fried & Kevin Townsend for Adafruit Industries.
  BSD license, all text above must be included in any redistribution
 ***************************************************************************/

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BMP3XX.h"

#define BMP_SCK 13
#define BMP_MISO 12
#define BMP_MOSI 11
#define BMP_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BMP3XX bmp;

void setup() {
    
    
  Serial.begin(115200);
  while (!Serial);
  Serial.println("Adafruit BMP388 / BMP390 test");

  if (!bmp.begin_I2C()) {
    
       // hardware I2C mode, can pass in address & alt Wire
  //if (! bmp.begin_SPI(BMP_CS)) {  // hardware SPI mode  
  //if (! bmp.begin_SPI(BMP_CS, BMP_SCK, BMP_MISO, BMP_MOSI)) {  // software SPI mode
    Serial.println("Could not find a valid BMP3 sensor, check wiring!");
    while (1);
  }

  // Set up oversampling and filter initialization
  bmp.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
  bmp.setPressureOversampling(BMP3_OVERSAMPLING_4X);
  bmp.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
  bmp.setOutputDataRate(BMP3_ODR_50_HZ);
}

void loop() {
    
    
  if (! bmp.performReading()) {
    
    
    Serial.println("Failed to perform reading :(");
    return;
  }
  Serial.print("Temperature = ");
  Serial.print(bmp.temperature);
  Serial.println(" *C");

  Serial.print("Pressure = ");
  Serial.print(bmp.pressure / 100.0);
  Serial.println(" hPa");

  Serial.print("Approx. Altitude = ");
  Serial.print(bmp.readAltitude(SEALEVELPRESSURE_HPA));
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

Abra el monitor serie para mostrar los datos medidos por el sensor
inserte la descripción de la imagen aquí

Resumir

A través de este experimento, aprendí el uso básico del sensor BMP388 y medí los datos básicos de temperatura, presión atmosférica y altitud.

Supongo que te gusta

Origin blog.csdn.net/qq_42250136/article/details/122301966
Recomendado
Clasificación