Supla + BME280

User avatar
QLQ
Posts: 744
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Tue Nov 27, 2018 6:35 am

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. :(
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
User avatar
wojtas567
Posts: 1717
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Tue Nov 27, 2018 7:48 am

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
User avatar
QLQ
Posts: 744
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Tue Jan 01, 2019 1:53 pm

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)
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
elmaya
Posts: 210
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

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; 
User avatar
QLQ
Posts: 744
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Tue Jan 01, 2019 3:55 pm

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
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
elmaya
Posts: 210
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Thu Jan 03, 2019 4:16 pm

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; 
}
User avatar
QLQ
Posts: 744
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Fri Jan 04, 2019 9:09 pm

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;
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
lgorek
Posts: 16
Joined: Sat Aug 31, 2019 8:35 pm

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.
User avatar
QLQ
Posts: 744
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Mon Sep 02, 2019 9:34 pm

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
Screenshot_2019-09-02-23-40-08.png (127.72 KiB) Viewed 112 times
Rzeczy niemożliwe załatwiam "od ręki". Na cuda potrzebuje chwili...
Post Reply