Dnes si představíme opravdu malé čidlo BMP180, pomocí kterého lze měřit atmosférický tlak a v omezeném rozsahu také teplotu.
Tento modu je dle specifikací měří v rozsahu 300 až 1100 hPa. Zároveň umožnuje měřit teplotu v rozsahu 0 až 65 °C. Přesnost měření tlaku je –4 až +2 hPa. U měření teploty je přesnost + – 2 °C. Modul se k desce Arduino připojuje pomocí sběrnice I2C a na jeho těle nenajdete možnost změny adresy. Počítejte tedy s tím, že můžete připojit pouze jeden modul na jednu I2C sběrnici. Modul je od výroby nastaven na adresu 0×77. Tuto adresu nicméně znát nemusíte, pokud budete modul obsluhovat pomocí připravené knihovny.
Jak si můžete prohlédnout, tak modul je opravdu velmi malých rozměrů. Na fotce je vedle nepříliš velkého čidla teploty DHT22. Na modulu najdete pouze čtveřici přípojných míst, kdy dvě jsou na samotné napájení 3,3V nebo 5V a další dva kontakty pak na samotnou I2C komunikaci. Na obrázku najdete schéma zapojení LCD, který se zároveň bude starat o zobrazení naměřených hodnot.
Komunikace s čidlem je velmi jednoduchá. Slouží k němu knihovna BPM085. Celý zdrojový kód příkladu naleznete níže.
#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`
// Initialize the OLED display using Wire library
SSD1306 display(0x3c, 5,4);
// https://github.com/ThingPulse/esp8266-oled-ssd1306
// (adresa , sda,scl)
#include <Wire.h>
#include <Adafruit_BMP085.h>
// inicializace senzoru BMP180 z knihovny BMP085
Adafruit_BMP085 bmp180;
void setup(void)
{
display.init();
display.flipScreenVertically(); // rotace displeje
display.setFont(ArialMT_Plain_16);
// zapnutí komunikace se senzorem BMP180
bmp180.begin();
}
void tlak( ) {
display.setFont(ArialMT_Plain_24);
display.setTextAlignment(TEXT_ALIGN_CENTER); // The coordinates define the center of the screen!
display.drawString(64,0,String(((bmp180.readPressure() )/100.0)) +"hPa");
display.drawString(64,2,String(bmp180.readTemperature() )+" °C");
}
void loop(void)
{
display.clear(); // clear the display
display.setTextAlignment(TEXT_ALIGN_RIGHT);
tlak();
display.display();
delay(500);
}
Mohlo by Vás zajímat
Vložit komentář
* - vyžadované údaje. RSS kanál s komentáři