Snímač BME280, zobrazení hodnot.

Zdravím,
nehrál jste si někdo se snímačem tlaku, vlhkosti a teploty BME280? Jde mi o to, jak v ASM převézt vyčtené hodnoty na hodnotu kterou bych mohl zobrazit na display.

cau, nehral, takze netusim jestly se to nejak jeste neprevadi ci neco jeste nedela , ale klasicky se to da delat treba takhle https://forum.mcontrollers.com/t/prevod-hex-na-ascii-pro-zobrazeni-hodnoty-ad-prev-na-lcd/751/1

Doprčic práce, to je takovej problém stáhnout si datasheet?? Omílá se to tu pořád dokola že tohle je prostě základ, kterým se vždy začíná!. Kdybys to udělal tak bys zjistil že ten snímač podoruje SPI i I2C, příkladů jak rozchodit na PICu tyhle dvě sběrnice najdeš na netu spoustu, i Microchip k tomu má nějaké examples a appnotes. Navíc ses ani nenamáhal uvést typ PICu.

treba tim “vyčtené hodnoty” chtel rict ze komunikace funguje jen potrebuje tu hodnotu zobrazit na LCD, ale na druhou stranu pokud zvladl komunikaci po SPI/I2C tak by asi nemel bejt problem to dostat na lcd ze ? no , nechame se prekvapit …

převést z BIN na BCD a přičíst 30h aby to měl v ASCII by mohl zvládnout, pokud se tedy jedná o znakový (to se taky nenamáhal uvést). Google je kamarád, najde toho moře.

A mohl bych se Safa zeptat, jestli jakou by měl představu, že by se ty hodnoty na display vozily ?

Takže, co se týče googla a datasheetu, ten jsem použil. Jinak bych nerozjel I2C a nenastartoval chip. Jedná se o 16F876A a znakový LCD dispaly 2x16.
Pravděpodobně potřebuji převod z unsigned na signed (nejsem si jist) abych mohl teplotu zobrazit pomocí stejné rutiny jako zobrazuji teplotu z čdla DS18B20.
Vyčtu teplotu MSB- 81h, LSB-D2h to odpovídá asi 22.40 stupňů.
Když vynuluji 7bit z MSB a přičtu k MSB sedmičku tak to zobrazí dobře 22.58 ale takhle to udělat nejde.
Převážet display už nepotřebuji už je doma :slight_smile:

Není to tak dlouho, co se tu převody řešily. Musíš se jen trochu víc snažit a hledat, když sis dokázal rozjet to čidlo tak tohle už je malina…

Malina… :smiley: Pro mě spíše meloun!!
Už v tom ležím čtyři dny a nic, nedopočítám to ani na papíře, takže ani nevím co mám hledat. Doposud nevím kolik přesně je 81FBh stupňů při rozlišení 0.01 a jak to spočítat. Matematika a bitové operace mě moc nejdou.

Tak jsem se podíval do datasheetu k BMP180 (podobné) je tam rozepsán výpočet naměřených hodnot (pro mě pochopitelně). Asi to nedám v ASM to bude složité.

No, on je to taky typicky inženýrskej produkt jak tak koukám, např. pod pojmem “vyčtení” myslí i docela složitý přepočet korekcí. To jsem prve přehlídnul, mají to tam uvedený jenom v tom C kódu a jinde ne.

Na osmibitu to pořádně nedáš, resp. asi ten výpočet bude trvat “věčnost”. Pokud by ti to ale nevadilo, tak buď přímo využij ten jejich C kód co tam mají, nebo jako další možnost si ho můžeš přeložit a použít a upravit si ten překlad (C překládá nejdřív do ASM a až z něj do strojovýho kódu), a nebo máš ještě možnost si předpočítat tabulky a uložit si je do paměti už hotový a jenom číst registry čidla a v tabulkách k tomu vyhledávat odpovídající hodnotu. Jsou to ale vícebajtový hodnoty, tak ani ty tabulky nebudou úplně trivka, v ASM.

Asi sis mě koupit pro začátek spíš SHT11 / DHT22, pokud jde tedy o vlhkost a teplotu.

Trochu jsem přestřelil. No nic, kašlu na to. DHT22 už mám. Tady u toho mě zaujal ten tlak ale měl jsem se nejdříve podívat do datasheetu. Nenapadlo mě jak to bude složité na výpočty.