Cum se folosește senzorul de temperatură și presiune BMP280 cu Arduino

How to Use the BMP280 Temperature and Pressure Sensor with Arduino

BMP280 este un senzor de înaltă precizie care măsoară presiunea barometrică, temperatura și altitudinea. Este utilizat pe scară largă în stațiile meteorologice, trackere de altitudine și dispozitive IoT datorită exactității și opțiunilor de comunicare I2C/SPI. Acest tutorial vă va ghida prin conectare și utilizarea BMP280 cu Arduino.


Ce vei avea nevoie

  1. Modul de senzor BMP280
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea BMP280

Senzorul BMP280 acceptă atât comunicarea I2C cât și SPI. Majoritatea plăcilor de desfacere implicit în modul I2C, care necesită mai puține fire.

BMP280 PINOUT

Ac Funcţie
VCC Sursă de alimentare (3,3V sau 5V)
GND Sol
SCL Linia de ceas I2C
SDA Linia de date I2C
CSB CHIP SELECT pentru SPI (opțional)
Sdo Selecția adreselor SPI Out/I2C
  • Nota: Pentru comunicarea I2C, conectați SDO la GND pentru adresa implicită (0x76) sau la VCC pentru 0x77.

Pasul 2: Cablarea BMP280 către Arduino

Iată cum să conectați BMP280 la un Arduino Uno în modul I2C:

BMP280 pin Pinul Arduino
VCC 5V
GND GND
SCL A5
SDA A4

Nota: Pentru alte tablouri Arduino, verificați pinii I2C specifici din documentația consiliului de administrație.


Pasul 3: Instalați biblioteca necesară

Biblioteca „Adafruit BMP280” face ușor interfața cu senzorul.

Pași pentru instalarea bibliotecii:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Adafruit BMP280” și faceți clic pe Instala.
  4. De asemenea, instalați biblioteca „senzor unificat adafruit”, dacă vi se solicită.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a citi temperatura, presiunea și altitudinea de la BMP280:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("BMP280 Sensor Test");

  if (!bmp.begin(0x76)) { // Default I2C address is 0x76
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure() / 100.0F); // Convert to hPa
  Serial.println(" hPa");

  Serial.print("Approx. Altitude: ");
  Serial.print(bmp.readAltitude(1013.25)); // Standard sea level pressure in hPa
  Serial.println(" m");

  Serial.println();
  delay(2000); // Wait for 2 seconds before the next reading
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Observați citirile de temperatură, presiune și altitudine afișate în monitorul serial.

Aplicațiile BMP280

  1. Stații meteo
  2. Măsurarea altitudinii la drone
  3. IoT Monitorizare a mediului
  4. Navigare barometrică bazată pe presiune

Depanare

  • Fără răspuns din partea senzorului: Verificați dublu cablarea și asigurați-vă că adresa I2C se potrivește cu configurarea.
  • Citiri incorecte: Asigurați -vă că senzorul nu este expus la condiții extreme de mediu sau tulburări de flux de aer.
  • Erori de bibliotecă: Verificați că biblioteca „Adafruit BMP280” este instalată corect.

Concluzie

Ați interfațat cu succes senzorul BMP280 cu Arduino, permițând măsurători precise ale temperaturii, presiunii și altitudinii. Acest senzor versatil este perfect pentru o varietate de aplicații, de la monitorizarea vremii până la navigarea dronei. Experimentați în continuare prin integrarea BMP280 cu jurnaluri de date, afișaje sau platforme IoT pentru proiecte avansate!

Lasă un comentariu

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.