BME280 temperatūros, drėgmės ir slėgio jutiklio modulis su Arduino

BME280 jutiklio modulis savybės

BME280 jutiklio modulis yra didelio tikslumo modulis temperatūrai, drėgmei ir atmosferos slėgiui matuoti. Pagrindinės funkcijos yra šios:

  • Temperatūros matavimo diapazonas: -40 to +80 laipsnių pagal Celsijų; Tikslumas: 1 laipsnis pagal Celsijų dipazone nuo 0 iki +65 ir 1.5 laipsnių pagal Celsijų už diapazono ribų.
  • Drėgmė: 0-100%RH; Tikslumas: 3%RH.
  • Slėgis: nuo 330hPa iki 1100hPa. Tikslumas: 1hPa

Šis modulis taip pat netiesiogiai apskaičiuoja aukštį, naudojant atmosferos slėgį. Šio jutiklio ryšio protokolas gali būti tiek SPI, tiek I2C. Šiame pavyzdyje naudojamas modulis turi I2C ryšio protokolą.

GY-BME280 Sensor Module

BME280 jutiklio išvadai

Šis jutiklis turi 4 išvadus:

  • VCC: maitinimas +5V
  • GND: Minusas (Ground)
  • SCL: Serial Clock Input I2C protokolui
  • SDA: Serial Data Input/Output I2C protokolui

Jutiklio išvadai pažymėti žemiau esančiame paveikslėlyje.

Reikalingos medžiagos

Aparatinė įranga

Arduino UNO R3×1
BME280 temperatūros, drėgmė ir slėgio jutiklis×1
Mamytė – Tėvelis jungiamieji laideliai×1

Programinė įranga

Arduino IDE

BME280 jutiklio modulio sąsaja su Arduino

Žingsnis 1: Grandinė

The following circuit shows how you should connect Arduino to BME280 module. Connect wires accordingly.

GY-BME280 Module Arduino circuit

Žingsnis 2: Biblioteka

Go to Library manager and install Adafruit BME280 and Adafruit Unified Sensor.

Pastaba

Jeigu reikia pagalbos įdiegiant bibliotekas, skaitykite čia: How to Install an Arduino Library

Žingsnis 3: Kodas

Įkelkite sekantį kodą į Arduino. Po to atidarykite Serial Monitor.

    /*
modified on Jan 04, 2021
Modified by MehranMaleki from Arduino Examples
Home
*/ #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; void setup() { Serial.begin(9600); if (!bme.begin(0x76)) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while(1); } } void loop() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.write("\xC2\xB0"); //The Degree symbol Serial.print("C"); Serial.print("\t Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.print("hPa"); Serial.print("\t Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.print("m"); Serial.print("\t Humidity = "); Serial.print(bme.readHumidity()); Serial.println("%"); Serial.println(); delay(1000); }

Pagal pirmiau pateiktą kodą temperatūros, atmosferos slėgio, apytikslio aukščio ir drėgmės duomenys gaunami iš jutiklio kiekvieną sekundę ir rodomi Serial Monitor.

Rezultatas yra žemiau.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

Secured By miniOrange