BMP280 mi nefunguje

Sekcia určená pre Arduino nadšencov

Moderátor: Moderátori

martinius96

BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 28 Jan 2017, 14:39

Ahojte, kúpil som si BMP280, je to čip na meranie tlaku, teploty, nadmorskej výšky a vlhkosti z Aliexpressu a nefunguje. Skúšal som fúru knižníc a .ino sketchov. Stále dostávam teplotu 0°C, tlak 0 a nadmorskú výšku -21206 metrov, prípadne pri ešte jednej knižnici nadmorskú výšku 42 000 metrov.. Takže vo vesmíre asi nelietam. Skúšal som napätie aj 3.3V aj 5V , ale stále to isté, neviem či ''ťamani'' vyrobili len nejaký fake alebo čo.
Pridávam aj fotky toho, čo mi ukazuje. Neviem to vyriešiť:
Obrázok
Používam wiring takýto:
VCC --> 3.3V
GND --> GND
SCK/SCL --> 13 PIN
SDA/SDI --> 11 PIN
CSB --> 10 PIN
SDO --> 12 PIN
Použil som aj:
VCC --> 3.3V
GND --> GND
SCK/SCL --> A5
SDA/SDI --> A4
Musím ale dodať, že piny, ktoré boli s tým dodané nie sú prispajkované ale problém to asi nie je, lebo sa dotykaju tam, kde majú
Obrázok

Martin008
Nový člen
Nový člen
Príspevky: 52
Dátum registrácie: 18 Dec 2012, 19:59
Bydlisko: Bratislava
Vek: 25

Re: BMP280 mi nefunguje

Príspevok od používateľa Martin008 » 28 Jan 2017, 15:26

Ahoj,
tie káble sú fakt hnus. Skráť ich. Ak si to ešte nespálil, tak tu je aj riešienie toho problému: https://forum.arduino.cc/index.php?topic=400394.0. Použi I2C scanner aby si zistil adresu. Potom to uprav v knižnici: #define BME280_ADDRESS (0x76)

Tu je ten I2C skener: http://playground.arduino.cc/Main/I2cScanner
0

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 28 Jan 2017, 16:33

Skúsil som ten I2C scanner a našlo mi to:
I2C device found at address 0x76 ! - Toto mi ukázalo iba keď som to zapojil do Analógových pinov.
Zmenil som teda v tej knižnici tu adresu a bezúspešne.
Stále chyba: BME280 test
Could not find a valid BME280 sensor, check wiring!

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: BMP280 mi nefunguje

Príspevok od používateľa budvar10 » 28 Jan 2017, 17:09

Musím ale dodať, že piny, ktoré boli s tým dodané nie sú prispajkované ale problém to asi nie je, lebo sa dotykaju tam, kde majú
8O

Ak ti niečo nefunguje, tak v prvom rade si to poriadne zapoj. Určite si najprv pripákuj piny.
0

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 28 Jan 2017, 20:14

Nebude chyba, že som to skušal na 5V nebude zhoreny? Tu píšu, že môže ist aj aj. https://learn.adafruit.com/adafruit-bme ... t/overview

Používateľov profilový obrázok
roboulbricht
Stály člen
Stály člen
Príspevky: 156
Dátum registrácie: 07 Jan 2015, 12:01
Bydlisko: Banská Bystrica
Vek: 54
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa roboulbricht » 28 Jan 2017, 21:55

S pripojením I2C pinov na 5 V si ho mohol spáliť. Podobá sa tvoja spodná strana na to, čo má na obrázku Adafruit, alebo je tam len tých pár rezistorov, tak ako je to na doskách na Ebay? Verzia z Adafruit má na doske dva malé Mosfety, zapojené ako level shifter. To na Ebay sa zdá byť iba ako pull-up rezistor.
V datasheete na strane 9 má senzor napísané, že na dátové vodiče ide maximálne napájanie + 0.3 V, čiže ak si aj dal napájanie 3.3 V, s 5 V na dátových si čipu dal určite zabrať. A je tam aj nejaká poznámka, že ak by si odpojil napájanie a nechal napätie na dátových pinoch, tak čip potrápiš ešte viac. Nejaké ochranné diódy tam majú na schéme, ale asi pri tomto čipe nie je veľmi vhodné tam pripojiť 5 V.
0

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 29 Jan 2017, 00:16

Skúsil som I2C scanner a našiel mi zariadenie na porte 0x76, v knižnici je predvolený ako default 0x77 tak som to skusil zmeniť na 0x76 ale bezúspešne aj tak. Asi objednam nový..

Používateľov profilový obrázok
Radus
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1497
Dátum registrácie: 27 Okt 2009, 00:00
Bydlisko: Prešov
Vek: 42

Re: BMP280 mi nefunguje

Príspevok od používateľa Radus » 29 Jan 2017, 00:58

...skús radšej MPL3115A2. Netreba z neho minimálne dolovať výsledky obsiahlym výpočtom...
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa peterple » 29 Jan 2017, 09:00

martinius96 napísal:Skúsil som I2C scanner a našiel mi zariadenie na porte 0x76, v knižnici je predvolený ako default 0x77 tak som to skusil zmeniť na 0x76 ale bezúspešne aj tak. Asi objednám nový..
Ach, jaj. Zase arduinista. Viem figu o I2C ale podľa obrázkov to určite rozbehám. Lenže je tam tak 50 vecí ktoré sa môžu zvrtnúť a ja nič neviem tak to skúsim znova presne rovnakým spôsobom. Kúpim nového švába a hurá na to.

Trocha svetla do tej informačnej tmy:
  • naštudovať toto http://i2c.info/i2c-bus-specification
  • hlavne časť o adresovaní. Lebo 0x77 a 0x76 je adresa toho istého zariadenia. Len ... na to si už prídi sám.
  • že si 3,3V obvod praskol na 5V nie je tragédia. Ako vidíš obvod žije, kedže sa ozýva na ten scan. Samozrejme že to nie je úplne kóšer, ale zase prečo by to odchádzalo. Už som veľa krát zapojil vec čo bola iba na 3,3V na 5V a neodišla.
  • spájkovať nič netreba, iba poriadne pripojiť. žiadne lankové vodiče do kontaktného poľa, slušne odizolovať. V núdzi použijem TP, ale drôt, nie lanko. Je to ale iba na chvíľu, lebo meď zoxiduje. Najlepšie je pocínovaný drôt . Používam polia od päťnástich rokov a nemám žiadny problém, ako drôt používam to čo sa volalo zvonkový drôt. Neviem či také dnes existuje, ja mám pozostatky socializmu. Ak máš čínske pole za haliere tak pre istotu premerať spoje ohmmetrom
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

MiroH
Stály člen
Stály člen
Príspevky: 176
Dátum registrácie: 13 Dec 2009, 00:00
Bydlisko: Nitra
Vek: 60

Re: BMP280 mi nefunguje

Príspevok od používateľa MiroH » 29 Jan 2017, 13:55

martinius96 napísal: Musím ale dodať, že piny, ktoré boli s tým dodané nie sú prispajkované ale problém to asi nie je, lebo sa dotykaju tam, kde majú
A možno je iba toto problém. Nestabilný kontakt, raz to ide, inokedy nie. Zaspájkované by to malo byť v každom prípade. Či sa to dobre dotýka, alebo nie .. si si istý dobrým kontaktom ??
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa peterple » 29 Jan 2017, 14:51

Jáj tak toto bolo o tom spájkovaní. Pravdu povediac som to moc neštudoval. Ale v tomto samozrejme je problém a veľký. Až teraz som si na plno zväčšil fotku a z toho popisu pochopil, že ten pin header je tam len prestrčený. Tak to je jednoznačné že to treba za spájkovať.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

alidedko
Ultimate člen
Ultimate člen
Príspevky: 3963
Dátum registrácie: 04 Feb 2013, 22:04
Bydlisko: U alibabky v Poprade
Vek: 32

Re: BMP280 mi nefunguje

Príspevok od používateľa alidedko » 29 Jan 2017, 19:08

Ano, pravdu maju ujcovia.

Druha vec, ako to tu uz asi bolo spomenute, lanko vodic je nevhodny do kontaktneho pola.
0
Motto: Nikto nie je tak velky, aby sa nevosiel do truhly.

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 31 Jan 2017, 18:14

Ahojte páni. Zapájkoval som a funguje to, ale s originál Adafruit/bosch knižnicami nie. Stiahol som ale z totožného produktu na aliexpresse .ino súbor a ide to. Testujem to iba dnu zatiaľ, namerá mi to teplotu a tlak cca 918.5 HPa. Zmení sa tlak ak by som to dal vonku však? Chcem vedieť, či to merá dobre. Ale vlhkosť mi nemeriava opakovane 0%. Mám SCK v analógovom pine A5 a SDI v pine A4. Všetky ostatné .ino súbory s adafruit knižnicami mi vypíšu to, že sensor not found ani keď zmením pozíciu na i2c zbernici na 0x76.
Nejaké rady, ako namerať ostatné hodnoty? Vraj by som mal vedieť namerať aj nadmorskú výšku. :)
Ďakujem za pomoc - kód:

Kód: Vybrať všetko

#include <Wire.h>

#define BME280_ADDRESS 0x76
unsigned long int hum_raw,temp_raw,pres_raw;
signed long int t_fine;

uint16_t dig_T1;
 int16_t dig_T2;
 int16_t dig_T3;
uint16_t dig_P1;
 int16_t dig_P2;
 int16_t dig_P3;
 int16_t dig_P4;
 int16_t dig_P5;
 int16_t dig_P6;
 int16_t dig_P7;
 int16_t dig_P8;
 int16_t dig_P9;
 int8_t  dig_H1;
 int16_t dig_H2;
 int8_t  dig_H3;
 int16_t dig_H4;
 int16_t dig_H5;
 int8_t  dig_H6;

void setup()
{
    uint8_t osrs_t = 1;             //Temperature oversampling x 1
    uint8_t osrs_p = 1;             //Pressure oversampling x 1
    uint8_t osrs_h = 1;             //Humidity oversampling x 1
    uint8_t mode = 3;               //Normal mode
    uint8_t t_sb = 5;               //Tstandby 1000ms
    uint8_t filter = 0;             //Filter off 
    uint8_t spi3w_en = 0;           //3-wire SPI Disable
    
    uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mode;
    uint8_t config_reg    = (t_sb << 5) | (filter << 2) | spi3w_en;
    uint8_t ctrl_hum_reg  = osrs_h;
    
    Serial.begin(9600);
    Wire.begin();
    
    writeReg(0xF2,ctrl_hum_reg);
    writeReg(0xF4,ctrl_meas_reg);
    writeReg(0xF5,config_reg);
    readTrim();                    //
}


void loop()
{
    double temp_act = 0.0, press_act = 0.0,hum_act=0.0;
    signed long int temp_cal;
    unsigned long int press_cal,hum_cal;
    
    readData();
    
    temp_cal = calibration_T(temp_raw);
    press_cal = calibration_P(pres_raw);
    hum_cal = calibration_H(hum_raw);
    temp_act = (double)temp_cal / 100.0;
    press_act = (double)press_cal / 100.0;
    hum_act = (double)hum_cal / 1024.0;
    Serial.print("TEMP : ");
    Serial.print(temp_act);
    Serial.print(" DegC  PRESS : ");
    Serial.print(press_act);
    Serial.print(" hPa  HUM : ");
    Serial.print(hum_act);
    Serial.println(" %");    
    
    delay(1000);
}
void readTrim()
{
    uint8_t data[32],i=0;
    Wire.beginTransmission(BME280_ADDRESS);
    Wire.write(0x88);
    Wire.endTransmission();
    Wire.requestFrom(BME280_ADDRESS,24);
    while(Wire.available()){
        data[i] = Wire.read();
        i++;
    }
    
    Wire.beginTransmission(BME280_ADDRESS);
    Wire.write(0xA1);
    Wire.endTransmission();
    Wire.requestFrom(BME280_ADDRESS,1);
    data[i] = Wire.read();
    i++;
    
    Wire.beginTransmission(BME280_ADDRESS);
    Wire.write(0xE1);
    Wire.endTransmission();
    Wire.requestFrom(BME280_ADDRESS,7);
    while(Wire.available()){
        data[i] = Wire.read();
        i++;    
    }
    dig_T1 = (data[1] << 8) | data[0];
    dig_T2 = (data[3] << 8) | data[2];
    dig_T3 = (data[5] << 8) | data[4];
    dig_P1 = (data[7] << 8) | data[6];
    dig_P2 = (data[9] << 8) | data[8];
    dig_P3 = (data[11]<< 8) | data[10];
    dig_P4 = (data[13]<< 8) | data[12];
    dig_P5 = (data[15]<< 8) | data[14];
    dig_P6 = (data[17]<< 8) | data[16];
    dig_P7 = (data[19]<< 8) | data[18];
    dig_P8 = (data[21]<< 8) | data[20];
    dig_P9 = (data[23]<< 8) | data[22];
    dig_H1 = data[24];
    dig_H2 = (data[26]<< 8) | data[25];
    dig_H3 = data[27];
    dig_H4 = (data[28]<< 4) | (0x0F & data[29]);
    dig_H5 = (data[30] << 4) | ((data[29] >> 4) & 0x0F);
    dig_H6 = data[31];   
}
void writeReg(uint8_t reg_address, uint8_t data)
{
    Wire.beginTransmission(BME280_ADDRESS);
    Wire.write(reg_address);
    Wire.write(data);
    Wire.endTransmission();    
}


void readData()
{
    int i = 0;
    uint32_t data[8];
    Wire.beginTransmission(BME280_ADDRESS);
    Wire.write(0xF7);
    Wire.endTransmission();
    Wire.requestFrom(BME280_ADDRESS,8);
    while(Wire.available()){
        data[i] = Wire.read();
        i++;
    }
    pres_raw = (data[0] << 12) | (data[1] << 4) | (data[2] >> 4);
    temp_raw = (data[3] << 12) | (data[4] << 4) | (data[5] >> 4);
    hum_raw  = (data[6] << 8) | data[7];
}


signed long int calibration_T(signed long int adc_T)
{
    
    signed long int var1, var2, T;
    var1 = ((((adc_T >> 3) - ((signed long int)dig_T1<<1))) * ((signed long int)dig_T2)) >> 11;
    var2 = (((((adc_T >> 4) - ((signed long int)dig_T1)) * ((adc_T>>4) - ((signed long int)dig_T1))) >> 12) * ((signed long int)dig_T3)) >> 14;
    
    t_fine = var1 + var2;
    T = (t_fine * 5 + 128) >> 8;
    return T; 
}

unsigned long int calibration_P(signed long int adc_P)
{
    signed long int var1, var2;
    unsigned long int P;
    var1 = (((signed long int)t_fine)>>1) - (signed long int)64000;
    var2 = (((var1>>2) * (var1>>2)) >> 11) * ((signed long int)dig_P6);
    var2 = var2 + ((var1*((signed long int)dig_P5))<<1);
    var2 = (var2>>2)+(((signed long int)dig_P4)<<16);
    var1 = (((dig_P3 * (((var1>>2)*(var1>>2)) >> 13)) >>3) + ((((signed long int)dig_P2) * var1)>>1))>>18;
    var1 = ((((32768+var1))*((signed long int)dig_P1))>>15);
    if (var1 == 0)
    {
        return 0;
    }    
    P = (((unsigned long int)(((signed long int)1048576)-adc_P)-(var2>>12)))*3125;
    if(P<0x80000000)
    {
       P = (P << 1) / ((unsigned long int) var1);   
    }
    else
    {
        P = (P / (unsigned long int)var1) * 2;    
    }
    var1 = (((signed long int)dig_P9) * ((signed long int)(((P>>3) * (P>>3))>>13)))>>12;
    var2 = (((signed long int)(P>>2)) * ((signed long int)dig_P8))>>13;
    P = (unsigned long int)((signed long int)P + ((var1 + var2 + dig_P7) >> 4));
    return P;
}

unsigned long int calibration_H(signed long int adc_H)
{
    signed long int v_x1;
    
    v_x1 = (t_fine - ((signed long int)76800));
    v_x1 = (((((adc_H << 14) -(((signed long int)dig_H4) << 20) - (((signed long int)dig_H5) * v_x1)) + 
              ((signed long int)16384)) >> 15) * (((((((v_x1 * ((signed long int)dig_H6)) >> 10) * 
              (((v_x1 * ((signed long int)dig_H3)) >> 11) + ((signed long int) 32768))) >> 10) + (( signed long int)2097152)) * 
              ((signed long int) dig_H2) + 8192) >> 14));
   v_x1 = (v_x1 - (((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((signed long int)dig_H1)) >> 4));
   v_x1 = (v_x1 < 0 ? 0 : v_x1);
   v_x1 = (v_x1 > 419430400 ? 419430400 : v_x1);
   return (unsigned long int)(v_x1 >> 12);   
}

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa peterple » 31 Jan 2017, 20:17

Tak som zistil že s tou adresou som kecal. Arduino knižnice používajú 7bitový formát adresy. Takže 0x76 a 0x77 sú naozaj rôzne adresy. Ako to v skutočnosti je sa píše ako vždy v DS
The 7-bit device address is 111011x. The 6 MSB bits are fixed. The last bit is changeable by
SDO value and can be changed during operation. Connecting SDO to GND results in slave
address 1110110 (0x76); connection it to VDDIO results in slave address 1110111 (0x77), which
is the same as BMP180’s I²C address. The SDO pin cannot be left floating; if left floating, the
I²C address will be undefined.
The I²C interface uses the following pins:
 SCK: serial clock (SCL)
 SDI: data (SDA)
 SDO: Slave address LSB (GND = ‘0’, VDDIO = ‘1’)
CSB must be connected to VDDIO to select I²C interface. SDI is bi-directional with open drain to
GND: it must be externally connected to VDDIO via a pull up resistor. Refer to chapter 6 for
connection instructions.
https://ae-bst.resource.bosch.com/media ... df#page=28

Takže si to podľa toho skontroluj či ti nepláva SDO. A či máš nastavené na module I2C rozhranie.
Radu ako namerať ostatné veci nájdeš v DS.

PS. Nepáči sa mi ako stále zavádzaš všetkých s tým analógovým pinom. V tom tvojom programe určite nie je nakonfigurovaný ako analógový vstup, ale ako digitálny. Konkrétne je tam pripojené TWI rozhranie a to signály SDA (ADC4) a SCL (ADC5)
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 31 Jan 2017, 22:14

Tak mi prosím napíš čo kam pripojiť. SDO mi nepláva, inak by mi to nefungovalo. Ibaže tie hodnoty čo mi merá sa mi nezdajú. Teplota hej, ale tlak vzduchu je furt 918-919 HPa.
Mám k dispozícii tieto piny:
Vcc - tu pôjde 3.3V
GND - zem
SCK/SCL - KAM?
SDA/SDI - KAM?
CSB - KAM?
SDO - KAM?
Keď to mám na A5 a A4 dostávam tie hodnoty, ale sú ako keby neaktualizované. Nezdá sa mi, žeby sa tlak menil iba v desatinkách aj po hodinách. Po ďalšie nemeria mi to tú vlhkosť a vraj to má merať aj nadmorskú výšku, ale to už neviem do kódu dosadiť.
Obrázok

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa peterple » 31 Jan 2017, 23:00

Keď myslíš že nepláva tak nepláva. Prečo by som ti mal všetko doniesť až do huby? Keď si ty nevieš prečítať ani pár viet ktoré som ti vytiahol z DS.
A toto si videl?
https://cdn-learn.adafruit.com/download ... eakout.pdf

Nadmorskú výšku ti to meria. Kedže máš tlak tak si to prepočítaj na výšku. Ten senzor je vraj tak citlivý že by mal reagovať na zmenu výšky o 25cm. Skús si otvoriť okno a uvidíš či sa to mení. Ale meniť by sa mala posledná cifra.

A kde si prosím vyčítal že ten senzor meria vlhkosť? Ukáž mi jedno slovo kde sa v DS spomína vlhkosť. Ak si to nevieš preložiť do AJ tak je to humidity. To že niekto niečo napíše na plošák tak to potom zavisí trochu od toho čo sa tam naozaj osadí.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 01 Feb 2017, 11:12

Už mi to funguje vy pan najmudrejší :) meriam cca 920 HPa. Je to okej? Práve tu sneží, ak to má nato vplyv.

MiroH
Stály člen
Stály člen
Príspevky: 176
Dátum registrácie: 13 Dec 2009, 00:00
Bydlisko: Nitra
Vek: 60

Re: BMP280 mi nefunguje

Príspevok od používateľa MiroH » 01 Feb 2017, 13:32

Ešte jedna drobná otázka. Máš BMP280 alebo BME280. Podľa názvu témy je to ten prvý. A tu je rozdiel.

BMP280 - Digital Pressure Sensor tlak, teplota
BME280 - Environmental sensor tlak, teplota, vlhkosť

Prča je to, že oba majú rovnakú I2C adresu. Zistené podľa datašítov.
Takže Ti funguje kód, ktorý je určený pre BME280, ale (predpokladám)
Ty máš BMP280 a ten vlhkosť nemeria.
Je to tak ?
0

martinius96

Re: BMP280 mi nefunguje

Príspevok od používateľa martinius96 » 01 Feb 2017, 16:28

áno, mám BMP280 a už bežím na tomto kóde:

Kód: Vybrať všetko

#include <Wire.h>
#include "SPI.h" //Why? Because library supports SPI and I2C connection
#include <Adafruit_Sensor.h>
#include "Adafruit_BMP280.h"
Adafruit_BMP280 bmp; // I2C
float pressure;   //To store the barometric pressure (Pa)
float temperature;  //To store the temperature (oC)
float altimeter;    //To store the altimeter (m) (you can also use it as a float variable)
void setup() {
  bmp.begin();    //Begin the sensor
    Serial.begin(9600); //Begin serial communication at 9600bps
}

void loop() {
  //Read values from the sensor:
  pressure = bmp.readPressure() / 100;
  temperature = bmp.readTemperature();
  altimeter = bmp.readAltitude (1024.60); //Change the "1050.35" to your city current barrometric pressure (https://www.wunderground.com)
  
  //Print values to serial monitor:
  Serial.print(F("Pressure: "));
    Serial.print(pressure) ;
    Serial.print(" HPa");
    Serial.print("\t");
    Serial.print(("Temp: "));
    Serial.print(temperature);
    Serial.print(" oC");
  Serial.print("\t");
    Serial.print("Altimeter: ");
    Serial.print(altimeter); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    delay(10000); //Update every 5 sec
}
Mám otázku ku kódu k tomuto príkazu: altimeter = bmp.readAltitude (1024.60); //Change the "1050.35" to your city current barrometric pressure (https://www.wunderground.com)
Mám zmeniť HPa na aktuálne, aké je v meste, ale ono sa to stále mení nie? Momentálne som na tej stránke na ktorú to odkazuje našiel 1024,60, tak som to tam dal. A myslím, že aj nadmorská výška sedí, mení sa iba v desatinke.

Používateľov profilový obrázok
roboulbricht
Stály člen
Stály člen
Príspevky: 156
Dátum registrácie: 07 Jan 2015, 12:01
Bydlisko: Banská Bystrica
Vek: 54
Kontaktovať používateľa:

Re: BMP280 mi nefunguje

Príspevok od používateľa roboulbricht » 01 Feb 2017, 17:18

To si dal asi dobrú hodnotu. Malo by sa to každý deň meniť a má tam ísť barometrický tlak na tvojom konkrétnom mieste na hladine mora. Na SHMU je celkom pekne vidno, že za posledné dni ten tlak riadne poskakuje.
You can also calculate Altitude. However, you can only really do a good accurate job of calculating altitude if you know the hPa pressure at sea level for your location and day! The sensor is quite precise but if you do not have the data updated for the current day then it can be difficult to get more accurate than 10 meters.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok