Az egy DIP-tokozású, univerzális légköri nyomásmérő szenzor, mely széles körben használható légnyomásmérésre, mint például:
A nyomásmérő gyakorlatilag egy Wheatstone-híd, mely 0-25 mV jelet ad ki. Ez az Arduino számára közvetlenül nem értékelhető, ezért a jelátalakításhoz egy műveleti erősítőt kell beiktatni.
A szenzor adatlapja: https://softroboticstoolkit.com/files/sorotoolkit/files/mps20n0040d-s_datasheet.pdf
Ez a kapcsolás Alexander Lang-tól származik, ő egy LM358-as műveleti erősítőn keresztül juttatta a nyomásmérő jelét az Arduno analóg bemenetére. Egy komment szerint (lásd az oldalon) a HX711 is tökéletesen alkalmas a jelátalakításra, a gain-t ezesetben 32-re kell állítani.
A fenti kapcsolást innen másoltam ide: http://langster1980.blogspot.de/2014/11/how-to-use-pressure-sensor-with.html
A BME20 egy nagyfelbontású légköri nyomást mérő szenzor. Az interneten sokféle modulba szervezett változata elérhető, ezeknek a közös vonása, hogy szerepel a nevükben a 280. Ez annyira nem véletlen, ugyanis ezek a Bosch BME280-as szenzorát (https://www.bosch-sensortec.com/bst/products/all_products/bme280) (rosszabb esetben enek valamely utángyártott klónját) használják a méréshez.
Specifikáció
Ez a CJMCU modul a BME280 nyomásszenzoron kívül páratartalom- és hőmérséklet-mérést is tartalmaz. Technikai jellemzői megegyeznek a CJMCU-280E modullal.
port | leírás |
---|---|
Vcc | Tápfeszültség |
GND | grund |
SDI | I²C SDA (adat) port |
SCK | I²C SCL (órajel) port |
CSB | I²C kommunikáció esetén a Vcc-re kell kötni. SPI esetén a GND-re. |
SDO | Az I²C slave cím kiválasztása: a GND-re kötve 0x76, a Vcc-re kötve 0x77 lesz. Az SDO-t mindenképpen le kell kötni, egyébként a modul címe bizonytalan lesz. |
A modul használata ESP8266-tal: https://myesp8266.blogspot.de/2016/12/bmp280-and-esp8266.html
library: https://github.com/sparkfun/SparkFun_BME280_Arduino_Library
#include <stdint.h> #include "SparkFunBME280.h" #include "Wire.h" #include "SPI.h" //Global sensor object BME280 mySensor; void setup() { Serial.begin(57600); //SPI mySensor.settings.commInterface = SPI_MODE; mySensor.settings.chipSelectPin = 10; //Operation settings mySensor.settings.runMode = 3; //Normal mode mySensor.settings.tStandby = 0; mySensor.settings.filter = 0; mySensor.settings.tempOverSample = 1; mySensor.settings.pressOverSample = 1; mySensor.settings.humidOverSample = 1; Serial.print("Starting BME280... result of .begin(): 0x"); delay(10); //BME280 requires 2ms to start up. Serial.println(mySensor.begin(), HEX); } void loop() { //Each loop, take a reading. Serial.print("Temperature: "); Serial.print(mySensor.readTempC(), 2); Serial.println(" degrees C"); Serial.print("Temperature: "); Serial.print(mySensor.readTempF(), 2); Serial.println(" degrees F"); Serial.print("Pressure: "); Serial.print(mySensor.readFloatPressure(), 2); Serial.println(" Pa"); Serial.print("Altitude: "); Serial.print(mySensor.readFloatAltitudeMeters(), 2); Serial.println("m"); Serial.print("Altitude: "); Serial.print(mySensor.readFloatAltitudeFeet(), 2); Serial.println("ft"); Serial.print("%RH: "); Serial.print(mySensor.readFloatHumidity(), 2); Serial.println(" %"); Serial.println(); delay(1000); } forrás: http://arduinolearning.com/code/bme280-sensor-example.php
A GY-65 a Bosch BMP085 légnyomás és hőmérsékletmérő szenzor modul-változata, I²C kommunikációval.
A BMP085 4 üzemmóddal (OSS) rendelkezik (ultra low power, standard, high resolution, ultra high resolution). Ezek egyrészt a kommunikáción keresztül paraméterezhetők, másrészt függenek a mérések gyakoriságától.
Az Arduino I²C összefoglalása itt található: Arduino I²C.
A kommunikáció összekötése után érdemes az Arduino I²C scanner programmal tesztelni a modul jelenlétét.
Vigyázat, a legtöbb ilyen modulban nincs 5V-os feszültségszabályozó, így a leírásokat nem érdemes figyelmen kívül hagyni és a tápellátást is a 3.3V-tal kell megoldani.
Egyszerre csak egy ilyen modul lehet egy I²C vonalon, mivel fix címe van.
Az I²C vezetékeket felhúzóellenállásokkal az 5V DC-re át kell kötni (a lenti vezetékezés-példánál ez nincs feltüntetve)
BMP085 pin | pin funkció |
---|---|
VCC | Táp (1.8V .. 3.6V) |
GND | Grund |
EOC | konverzió vége kimenet: aktiv, ha a mérés készen van (opcionális) |
XCLR | master reset (low-active): ha GND-re kapcsoljuk, visszaállítja a BMP085 kezdeti értékeit (opcionális) |
SCL | soros órajel I/O |
SDA | soros adatjel I/O |
Könyvtár a Githubon: https://github.com/hackabletype/37-Sensors-Code/tree/master/arduino/gy_65
Github / Adafruit könyvtár: https://github.com/adafruit/Adafruit-BMP085-Library
Vagy a Sparkfun-tól: https://dlnmh9ip6v2uc.cloudfront.net/assets/b/9/5/3/f/512d1197ce395fcc3f000001.zip