Actions

KAmod Si7021 (PL): Difference between revisions

From Kamamilabs.com - Wiki

No edit summary
Line 69: Line 69:
</center>
</center>
<br>
<br>
==== Program testowy ====
Program testowy został napisany w środowisku Arduino dla płytki KAmodESP32 POW RS485. Moduł czujnika KAmod BMP390 został podłączony poprzez interfejs SPI.<br><br>
<syntaxhighlight lang="arduino" line>
//example code for KAmodESP32 POW RS485 and KAmod BMP390
//ino board: ESP32-WROOM-DA Module
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP3XX.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_BMP3XX bmp390;
int status;
int i;
void setup() {
Serial.begin(115200);
Serial.println("\r\r\rHello. KAmod BMP390 test start");
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
//I2CBMP.begin(I2C_SDA, I2C_SCL, 100000);
status = 0;
while (status == 0){
status = bmp390.begin_SPI(SPI_CS, SPI_SCK, SPI_MISO, SPI_MOSI);
if (!status) {
Serial.println(F("Something wrong..."));
delay(3000);
}
}
bmp390.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
bmp390.setPressureOversampling(BMP3_OVERSAMPLING_4X);
bmp390.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
bmp390.setOutputDataRate(BMP3_ODR_50_HZ);
}
void loop() {
i++;
digitalWrite(LED_PIN, (i&1));
if (bmp390.performReading()) {
Serial.print(F("Temperature = "));
Serial.print(bmp390.temperature);
Serial.print(" *C; ");
Serial.print(F("Pressure = "));
Serial.print(bmp390.pressure);
Serial.println(" Pa");
} else {
Serial.println("Failed to reading...");
}
Serial.println();
delay(MY_DELAY);
}
</syntaxhighlight>
<br><br>


==== Linki ====
==== Linki ====

Revision as of 06:36, 10 September 2025

Opis

KAmod Si7021 - Moduł z czujnikiem temperatury i wilgotności Si7021
Moduł z niedrogim i łatwym w użyciu czujnikiem temperatury i wilgotności Si7021 firmy Sillicon Labs. Sensor komunikuje się przez interfejs I2C i umożliwia pomiar temperatury w zakresie -40 do 125 °C oraz wilgotności względnej w zakresie od 0 do 100% RH. Płytka została wyposażona w złącza I2C Qwire (kompatybilne z Qwiic/STEMMA QT) oraz 1-rzędowe złącze o rastrze 2,54 mm. Na płytce znajduje się dioda LED sygnalizująca obecność napięcia zasilania oraz moduł ma wbudowane rezystory podciągające 4,7 kΩ dla linii interfejsu I2C, a w razie potrzeby zworki pozwalają je odłączyć.



Podstawowe parametry

  • Oparty na układzie Si7021 firmy Sillicon Labs
  • Zakres pomiaru wilgotności: 0-80 % RH
  • Dokładność pomiaru wilgotności: ±3 % (w zakresie 0-80 %RH)
  • Rozdzielczość pomiaru wilgotności: ±0,025%RH
  • Zakres pomiaru temperatury: -40..125 °C
  • Dokładność pomiaru temperatury: ± 0,4°C (w zakresie -10...+85 °C)
  • Rozdzielczość pomiaru temperatury: ±0,01°C
  • Komunikacja za pomocą interfejsu I2C (adres układu: 0x40)
  • Złącza I2C Qwire typu JST SH 4-pin 1 mm (kompatybilne z Qwiic / STEMMA QT)
  • Napięcie zasilania: 3,3 V
  • Wymiary: 25 x 15 x 4,7 mm


Wyposażenie standardowe


Kod Opis
KAmod Si7021
  • Zmontowany i uruchomiony moduł
  • 1 x prosta listwa goldpin 4-pin raster 2,54 mm


Schemat elektryczny


Rozmieszczenie sygnałów na płytce


Zasilanie

Moduł KAmod Si7021 powinien być zasilany napięciem stałym o wartości 3,3 V (1,9...3,6V).
Zasilanie płytki odbywa się poprzez interfejs Qwire (kompatybilny z Qwiic / STEMMA QT) lub złącze szpilkowe na stykach +3V3 oraz GND. Obecność napięcia zasilania sygnalizuje świecenie diody LED oznaczonej PWR.


Zworki konfiguracyjne

Moduł KAmod Si7021 wyposażony został w zworkę SMD umożliwiającą odłączenie diody LED "PWR LED" (JP1) oraz zworki "I2C PULLUPS" (JP2, JP3) pozwalające na niezależne odłączenie do linii magistrali I2C rezystorów podciągających do dodatniego bieguna zasilania.
Zworki znajdują się na dolnej stronie płytki (bottom) i są fabrycznie zwarte (ścieżka miedzi pomiędzy padami). Aby rozłączyć zworki, należy przeciąć ostrym narzędziem powierzchnię płytki – tak jak wskazują czerwone linie na poniższym rysunku. Ponowne połączenie zworek jest możliwe poprzez naniesienie kropelki spoiwa lutowniczego, które połączy oba, przecięte pady zworki.


Wymiary

Wymiary płytkiKAmod Si7021 to 25x15 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 BMP390 został podłączony poprzez interfejs SPI.

//example code for KAmodESP32 POW RS485 and KAmod BMP390
//ino board: ESP32-WROOM-DA Module
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP3XX.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_BMP3XX bmp390;
int status;
int i;
void setup() {
Serial.begin(115200);
Serial.println("\r\r\rHello. KAmod BMP390 test start");
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
//I2CBMP.begin(I2C_SDA, I2C_SCL, 100000);
status = 0;
while (status == 0){
status = bmp390.begin_SPI(SPI_CS, SPI_SCK, SPI_MISO, SPI_MOSI);
if (!status) {
Serial.println(F("Something wrong..."));
delay(3000);
}
}
bmp390.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
bmp390.setPressureOversampling(BMP3_OVERSAMPLING_4X);
bmp390.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
bmp390.setOutputDataRate(BMP3_ODR_50_HZ);
}
void loop() {
i++;
digitalWrite(LED_PIN, (i&1));
if (bmp390.performReading()) {
Serial.print(F("Temperature = "));
Serial.print(bmp390.temperature);
Serial.print(" *C; ");
Serial.print(F("Pressure = "));
Serial.print(bmp390.pressure);
Serial.println(" Pa");
} else {
Serial.println("Failed to reading...");
}
Serial.println();
delay(MY_DELAY);
}



Linki

Linki