Czujniki w bibliotece SuplaDevice

dobo
Posty: 250
Rejestracja: ndz kwie 07, 2019 8:14 pm

czw kwie 09, 2020 11:34 pm

Jeśli chodzi o adresy to fajnie by było je definiować spod GUI.
Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

pt kwie 10, 2020 5:25 am

dobo pisze:
czw kwie 09, 2020 11:34 pm
Jeśli chodzi o adresy to fajnie by było je definiować spod GUI.
Na razie w bibliotece nie ma GUI. Także takie opcje zostwię ludziom, którzy będą robić jakieś gotowe aplikacje na bazie biblioteki :)
dobo
Posty: 250
Rejestracja: ndz kwie 07, 2019 8:14 pm

pt kwie 10, 2020 11:02 am

Zgadza się kod programu korzysta z biblioteki przy kompilacji. Chodziło o uproszczenie tego w bibliotece o czym pisał @shimano73 by jeszcze prościej to zaimplementować też w GUI.
dogu18
Posty: 94
Rejestracja: czw paź 11, 2018 8:35 pm

pt kwie 17, 2020 3:27 pm

kiedy można się spodziewać bme na testy?
Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

pt kwie 17, 2020 9:31 pm

dogu18 pisze:
pt kwie 17, 2020 3:27 pm
kiedy można się spodziewać bme na testy?
Wczoraj udało mi się mój egzemplarz odpalić, więc nie długo coś będzie
lukfud
Posty: 217
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pn kwie 27, 2020 12:29 pm

klew pisze:
pt kwie 17, 2020 9:31 pm
Wczoraj udało mi się mój egzemplarz odpalić, więc nie długo coś będzie
hej, udało Ci się?
.newbie
Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

czw kwie 30, 2020 11:43 pm

lukfud pisze:
pn kwie 27, 2020 12:29 pm
hej, udało Ci się?
Na moim githubie pojawił się <supla/sensor/BME280.h>

Na chwilę obecną działa po hardware'owym I2C. Adres urządzenia można podać jako pierwszy parametr konstruktora. Domyślnie używa 0x77 - tak jak biblioteka Adafruit BME280 (która jest wymagana do działania tego sensora).

Drugi parametr to wysokość. Jeśli się ją poda, to pokaże ciśnienie bezwzględne, a jak się poda, to będzie widać względne.

Niestety na razie nie ma sensownej obsługi błędów. Da się wystartować bez czujnika, jak się go podłączy, to zacznie działać bez resetu. Podobnie utrata i przywrócenie czujnika będzie działać.

Niestety przy braku połączenia lecą jakieś dziwne wartości temperatury i ciśnienia. Na razie będą one widoczne, aż wymyślę sposób na ich pozbycie się :).

Użycie proste. Dodajemy include:

Kod: Zaznacz cały

#include <supla/sensor/BME280.h>
i w setup wpisujemy:

Kod: Zaznacz cały

new Supla::Sensor::BME280(0x76, 105); // adres 0x76, 105 m n.p.m.)
Wysokość można zmieniać w runtime przy pomocy metody setAltitude(nowaWysokosc).
Awatar użytkownika
klew
Posty: 815
Rejestracja: czw cze 27, 2019 12:16 pm

czw kwie 30, 2020 11:44 pm

I nie wiem, czy dwa czujniki BME280 o różnych adresach będą z tym kodem działać. Jeśli ktoś ma dwa, to czekam na wieści
lukfud
Posty: 217
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pt maja 01, 2020 3:51 pm

Jeden czujnik działa :) dziękuję!
W przypadku Basica musiałem dodać w setup

Kod: Zaznacz cały

Wire.begin(1,3);
.newbie
elmaya
Posty: 812
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: Sevilla

sob maja 02, 2020 12:04 pm

you can check if BME280 is connected by reading the ID

Kod: Zaznacz cały

bool BME280_ID() {    // return false if no BME280 connected
  uint8_t value;

    Wire.beginTransmission(0x76);      // BME280_ADDRESS (0x76)
    Wire.write(0xD0);                  // BME280_REGISTER_CHIPID = 0xD0
    Wire.endTransmission();
    Wire.requestFrom(0x76, (byte)1);   // BME280_ADDRESS (0x76)
    value = Wire.read();

  if (value != 0x60)                   // BME280_CHIPID = 0x60,
    return false;
}
I don't think it's difficult to add to the library ;)
ODPOWIEDZ