Actions

KAmod BMP280 (PL): Difference between revisions

From Kamamilabs.com - Wiki

Line 178: Line 178:
<br>
<br>
Program testowy został napisany w środowisku Arduino dla płytki KAmodESP32 POW RS485. Moduł czujnika KAmod BMP280 został podłączony poprzez interfejs I2C.<br><br>
Program testowy został napisany w środowisku Arduino dla płytki KAmodESP32 POW RS485. Moduł czujnika KAmod BMP280 został podłączony poprzez interfejs I2C.<br><br>
<syntaxhighlight lang="arduino">
<syntaxhighlight lang="arduino" line>
//example code for KAmodESP32 POW RS485 and KAmod BMP280
//example code for KAmodESP32 POW RS485 and KAmod BMP280
//ino board: ESP32-WROOM-DA Module
//ino board: ESP32-WROOM-DA Module

Revision as of 07:16, 30 December 2024

Opis

KAmod BMP280 - Precyzyjny czujnik ciśnienia i temperatury z interfejsem SPI oraz I2C
KAmod BMP280 zawiera precyzyjny czujnik BMP280 produkcji Bosch Sensortec, który umożliwia pomiar ciśnienia atmosferycznego oraz temperatury. Na płytce modułu zostały wyprowadzone wszystkie kluczowe sygnały miniaturowego sensora BMP280, co ułatwia jego użycie w aplikacjach modułowych. Komunikacja odbywa się poprzez interfejsy SPI lub I2C wyposażone w obwody translacji napięć sterujących.



Podstawowe parametry
  • Zasilanie 2...5 V
  • Zawiera precyzyjny czujnik BMP280 produkcji Bosch Sensortec
  • Zakres pomiaru ciśnienia: 300...1100 hPa
  • Zakres pomiaru temperatury: -40...+85°C
  • Umożliwia pomiar ciśnienia atmosferycznego oraz temperatury
  • Komunikacja odbywa się poprzez interfejsy SPI lub I2C
  • Interfejsy komunikacyjne wyposażone w obwody translacji napięć



Wyposażenie standardowe
Kod Opis
KAmod BMP280
  • Zmontowany i uruchomiony moduł
  • 1 x prosta listwa goldpin 8-pin raster 2,54 mm



Schemat elektryczny
Rozmieszczenie sygnałów na płytce
Oznaczenie Funkcja
VIN Wejście zasilania 2...5 V, biegun dodatni
VDD Wyjście napięcia zasilającego czujnik
SI/GND Masa zasilania – biegun ujemny
SC/SI/SDA Wejście szeregowe danych SPI lub linia danych SDA dla I2C
SC/SCL Sygnał taktujący SPI oraz I2C
SDO Wyjście szeregowe danych SPI lub wybór adresu dla I2C
CSB Sygnał CS - Chip Select dla SPI lub wybór interfejsu I2C jeśli połączony do VDD


Wszystkie sygnały modułu są wyprowadzone na 1-rzędowym złączu J1 o rastrze 2,54 mm. Rozmieszczenie poszczególnych sygnałów zostało opisane na dolnej stronie płytki modułu (Bottom) oraz na rysunku:



Interfejsy komunikacyjne


Czujnik BMP280 udostępnia dwa interfejsy komunikacyjne: SPI lub I2C. Interfejs SPI może działać w konfiguracji 4-przewodowej lub 3-przewodowej. Dokładne informacje dotyczące komunikacji są zawarte w dokumentacji układu BMP280.

Wszystkie sygnały sterujące modułu KAmod BMP280 są wyposażone w obwody translacji napięć i mogą współpracować z systemami, których interfejsy pracują z napięciem o wartości 2...5 V.

Interfejs SPI 4-przewodowy
Oznaczenie Funkcja, sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście danych, podłączyć do MOSI interfejsu SPI uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCLK SPI uC
SDO Wyjście danych, podłączyć do MISO interfejsu SPI uC
CSB Wejście sygnału CS - Chip Select, podłączyć do CE interfejsu SPI uC



Interfejs SPI 3-przewodowy
Oznaczenie Sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście/wyjście danych, podłączyć do SDI/SDO (DI/DO) interfejsu SPI uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCK SPI uC
SDO Niepodłączony
CSB Wejście sygnału CS - Chip Select, podłączyć do CE interfejsu SPI uC



Interfejs I2C
Oznaczenie Sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście/wyjście danych, podłączyć do SDA interfejsu I2C uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCL I2C uC
SDO Wejście, wybór adresu:
podłączony do GND – adres I2C = 0x76
podłączony do VDD – adres I2C = 0x77
CSB Wejście, wybór interfejsu, dla I2C należy podłączyć do VDD
Zasilanie


Moduł KAmod BMP280 może być zasilany napięciem stałym o wartości 2...5 V.
Na wyprowadzeniu VDD dostępne jest napięcie z wyjścia stabilizatora napięcia 3,3 V umieszczonego na płytce. Jego wartość wynosi 3,3 V przy zasilaniu dołączonym do wyprowadzenia VIN o wartości 3,5…5 V. Natomiast przy niższym zasilaniu, napięcie na wyjściu VDD będzie miało wartość zbliżoną do napięcia na VIN.



Wymiary

Wymiary płytki KAmod BMP280 to 24x15 mm. Na płytce znajdują się 2 otwory montażowe o średnicy 3,2 mm.



Program testowy


Program testowy został napisany w środowisku Arduino dla płytki KAmodESP32 POW RS485. Moduł czujnika KAmod BMP280 został podłączony poprzez interfejs I2C.

//example code for KAmodESP32 POW RS485 and KAmod BMP280
//ino board: ESP32-WROOM-DA Module
//additional wires:
//BMP280 SDO -> GND
//BMP280 CSB -> VDD (3,3V)
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
//LED
#define LED_PIN 2
#define MY_DELAY 2000
//I2C
#define I2C_SDA 33
#define I2C_SCL 32
//SPI
#define SPI_MOSI 13
#define SPI_MISO 12
#define SPI_SCK 14
#define SPI_CS 15
TwoWire I2CBMP = TwoWire(0);
Adafruit_BMP280 bmp280(&I2CBMP);
int status;
int i;
void setup() {
Serial.begin(115200);
Serial.println("\r\r\rHello. KAmod BMP280 test start");
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
I2CBMP.begin(I2C_SDA, I2C_SCL, 100000);
status = 0;
while (status == 0){
status = bmp280.begin(0x76);
Serial.print("SensorID was: 0x"); Serial.println(bmp280.sensorID(),16);
if (!status) {
Serial.println(F("Something wrong..."));
delay(3000);
}
}
bmp280.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
Adafruit_BMP280::FILTER_X16, /* Filtering. */
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
}
void loop() {
i++;
digitalWrite(LED_PIN, (i&1));
Serial.print(F("Temperature = "));
Serial.print(bmp280.readTemperature());
Serial.print(" *C; ");
Serial.print(F("Pressure = "));
Serial.print(bmp280.readPressure());
Serial.println(" Pa");
Serial.println();
delay(MY_DELAY);
}
Linki