Supla + BME280

QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

wojtas567 wrote: Mon Nov 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.....
User avatar
wojtas567
Posts: 2334
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Post

QLQ wrote: Tue Nov 27, 2018 6:35 am
Rozumiem ze zamiast obsłużyć to kodem czujnika odległości zrobić na kodzie termometru.
Tak
Pozdrawiam
Wojtek
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

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

Code: Select all

#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:

Code: Select all

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
Posts: 1485
Joined: Wed Jun 27, 2018 5:48 pm
Location: El Saucejo - Sevilla

Post

Code: Select all

#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

Code: Select all

double get_distance(int channelNumber, double distance) {
 float lux = analogRead(LIGHTSENSORPIN); //Read light level 
 distance = lux;
   return  distance; 
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

elmaya wrote: Tue Jan 01, 2019 3:14 pm

Code: Select all

#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

Code: Select all

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
Posts: 1485
Joined: Wed Jun 27, 2018 5:48 pm
Location: El Saucejo - Sevilla

Post

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

Code: Select all

#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);

Code: Select all

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; 
}
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

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

Code: Select all

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
Posts: 44
Joined: Sat Aug 31, 2019 8:35 pm

Post

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.
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

lgorek wrote: Mon Sep 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
You do not have the required permissions to view the files attached to this post.
jak coś nie działa to włącz zasilanie.....
WinstonW
Posts: 22
Joined: Fri Jul 10, 2020 3:50 pm

Post

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

Return to “Ogólna dyskusja”