Supla + BME280

Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

wojtas567 pisze: pn lis 26, 2018 6:59 pm nic nie zrobisz bo pokazuje Ci 1 km
przenieś na termometr
Rozumiem ze zamiast obsłużyć to kodem czujnika odległości zrobić na kodzie termometru. A supla 2.3 czasem nie ma mieć już zaimplementowanej stacji pogodowej?

Edit: stacja w wersji 2.6 Supli. :(
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

QLQ pisze: wt lis 27, 2018 6:35 am
Rozumiem ze zamiast obsłużyć to kodem czujnika odległości zrobić na kodzie termometru.
Tak
Pozdrawiam
Wojtek
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Jak to zrobić na kodzie czujnika odległości aby wrzucić do Supli?

Kod: Zaznacz cały

#define LIGHTSENSORPIN A0
void setup()
{
pinMode(LIGHTSENSORPIN, INPUT);
Serial.begin(9600);
}
void loop()
{
float lux = analogRead(LIGHTSENSORPIN); //Read light level
Serial.println(lux);
delay(1000);
}
tak jak czujnik ciśnienia:

Kod: Zaznacz cały

double get_distance(int channelNumber, double distance) {
   
 distance = bme.readPressure() / 100.0F;
   return  distance; 
EDIT:
Chodzi mi o dodanie czujnika TEMT6000 do kodu z BME280 aby też wyświetlało natężenie światła na kolejnym kanale (czujniku odległości)
jak coś nie działa to włącz zasilanie.....
elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

Kod: Zaznacz cały

#define LIGHTSENSORPIN A0
void setup()

wifi_set_sleep_type(NONE_SLEEP_T);

pinMode(LIGHTSENSORPIN, INPUT);
Serial.begin(9600);
dodana linia (wifi_set_sleep_type(NONE_SLEEP_T); ) dla lepszej stabilności odczytu analogowego

Kod: Zaznacz cały

double get_distance(int channelNumber, double distance) {
 float lux = analogRead(LIGHTSENSORPIN); //Read light level 
 distance = lux;
   return  distance; 
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

elmaya pisze: wt sty 01, 2019 3:14 pm

Kod: Zaznacz cały

#define LIGHTSENSORPIN A0
void setup()

wifi_set_sleep_type(NONE_SLEEP_T);

pinMode(LIGHTSENSORPIN, INPUT);
Serial.begin(9600);
dodana linia (wifi_set_sleep_type(NONE_SLEEP_T); ) dla lepszej stabilności odczytu analogowego

Kod: Zaznacz cały

double get_distance(int channelNumber, double distance) {
 float lux = analogRead(LIGHTSENSORPIN); //Read light level 
 distance = lux;
   return  distance; 
JEEEE !! działa !
Moja pierwsza modyfikacja z dodaniem nowego kanału czujnika (faktycznie było mi łatwiej dodać nowy kanał jako czujnik DS18 bo nie wiem czy da się - pewnie tak - dodać kolejny czujnik odległości jako kolejny kanał - dla mnie to jeszcze nie ten etap)
Dodałem TEMT6000 czujnik natężenia światła - nie jestem w 100% pewien tego co pokazuje ale mi na razie wystarczy (w odniesieni do czujnika w moim Galaxy S7 - jest różnica np 40 lux na S7 czujnik pokazuje 28, przy 300 na S7 czujnik pokazuje 289 itd ). Mi to na razie wystarczy.

Czekam teraz na BH1750 - jest na i2c i jego będę chciał wrzucić razem z BME280.


Dziękuję ślicznie koledze @elemaya
jak coś nie działa to włącz zasilanie.....
elmaya
Posty: 1482
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: El Saucejo - Sevilla

Myślę, że szukasz czegoś do mierzenia za pomocą czujnika Hall
to, aby zobaczyć obroty na minutę

Kod: Zaznacz cały

#define Sensor_PIN D5     // Rpm sensor pin
int pulseCount;  
double distance;
unsigned long oldTime;

void setup()

pinMode(Sensor_PIN, INPUT_PULLUP);
attachInterrupt(Sensor_PIN, Pcounter, FALLING);

Kod: Zaznacz cały

void Pcounter ()
{
    pulseCount++;
}
double get_distance(int channelNumber, double distance) {
        
        detachInterrupt(Sensor_PIN);

        yield();
        distance = ((1000.0 / (millis() - oldTime)) * pulseCount)*60;
        Serial.print("Pulse: ");
        Serial.println(distance);
        yield();
        oldTime = millis();
        pulseCount = 0;
        

        attachInterrupt(Sensor_PIN, Pcounter, FALLING);
                                                             
   return  distance; 
}
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Dziękuję koledze @elemaya za rozwiązanie tematu licznika obrotów. W weekend pokombinuję.

Zamieniłem czujnik TEMT6000 (wartości od 0 do 1024 lux )na BH1750 (od 0 do ? ) - natężenie oświetlenia na czujniku odległości

Kod: Zaznacz cały

double get_distance(int channelNumber, double t) {

   uint16_t lux = LightSensor.GetLightIntensity()+1;     //BH1750
    t =abs( lux);
    Serial.print("Natezenie swiatla = ");
    Serial.print(LightSensor.GetLightIntensity());
    return t;
jak coś nie działa to włącz zasilanie.....
lgorek
Posty: 44
Rejestracja: sob sie 31, 2019 8:35 pm

Odkopię trochę stary temat ale pomału przenoszę się z Blynk na Supla. Niby podobne ale trochę inne w konfiguracji. Mam pytanie bo wgrałem kod z pierwszego postu w tym temacie i wszystko poszło może nie za pierwszym razem ale udało. Na NodeMCU miałem jakieś problemy nie było stabilnego połączenia Wifi co jakiś czas zrywało. Natomiast na D1 mini chodzi oki. Jednak mam pytanie jak ustawić aby z Supli pokazywało hPa zamiast głębokości lub szerokości. Ponieważ przeczytałem cały temat jednak jestem dzisiaj już dość zmęczony i jest tu poruszanych bardzo dużo kwestii a nikt nie dał kompletnego kodu po zmianach. Ewentualnie jeżeli ktoś może to niech wrzuci plik .ino Z oled tutaj nie korzystam to jest mi zbyteczny chodzi mi o sposób działania. Bo jak pisałem różni się troszkę od blynk. A chciałbym przenieść już swoje wszystkie czujniki do Supli.
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

lgorek pisze: pn wrz 02, 2019 9:08 pm Odkopię trochę stary temat ale pomału przenoszę się z Blynk na Supla. Niby podobne ale trochę inne w konfiguracji. Mam pytanie bo wgrałem kod z pierwszego postu w tym temacie i wszystko poszło może nie za pierwszym razem ale udało. Na NodeMCU miałem jakieś problemy nie było stabilnego połączenia Wifi co jakiś czas zrywało. Natomiast na D1 mini chodzi oki. Jednak mam pytanie jak ustawić aby z Supli pokazywało hPa zamiast głębokości lub szerokości. Ponieważ przeczytałem cały temat jednak jestem dzisiaj już dość zmęczony i jest tu poruszanych bardzo dużo kwestii a nikt nie dał kompletnego kodu po zmianach. Ewentualnie jeżeli ktoś może to niech wrzuci plik .ino Z oled tutaj nie korzystam to jest mi zbyteczny chodzi mi o sposób działania. Bo jak pisałem różni się troszkę od blynk. A chciałbym przenieść już swoje wszystkie czujniki do Supli.
Tu: https://forum.supla.org/viewtopic.php? ... start=170
Poczytaj wątek. Soft na str 8, jak wgrać do wemos tez tam jest screen.

Supla normalnie obsługuje czujnik ciśnienia i wyświetla jako kanał pressure sensor w hPa.
Screenshot_2019-09-02-23-40-08.png
Screenshot_2019-09-02-23-40-08.png (127.72 KiB) Przejrzano 3347 razy
jak coś nie działa to włącz zasilanie.....
WinstonW
Posty: 19
Rejestracja: pt lip 10, 2020 3:50 pm

Czy posiada ktoś gotowy skrypt dla ethernshield W5100 +Arduino Mega dla czujnika BME280?
ODPOWIEDZ

Wróć do „Ogólna dyskusja”