Lekce 19 - Arduino a senzor tlaku BMP085

24.05.2013 21:07

Translate to English

   

 Před několika dny mi dorazil poštou senzor atmosférického tlaku BMP085 od firmy Bosch. Jedná se o již připravený modul o velikosti 20x15mm takže opravdu prcek. Nálézá se na něm 6 vývodů, všechny jsou na modulu popsané a vzhledem k tomu, že modul komunikuje protokolem I2C, stačí pro funkční zapojení pouze 4 vodiče (2 napájení a 2 pro I2C). Modul je napájený napětím 3V, což z Arduina není problém. S tímto modulem si můžeme postavit malou meteostanici i s předpovědí počasí, elektronický měřič nadmořské výšky a pod.

     Pro zprovoznění modulu máme 2 možnosti. Jedna obtížnější - po prozkoumání datasheetu napíšeme zdrojový kód a poté ta lehčí - najdeme již napsanou knihovnu modulu a importujeme ji do programu. Začneme, ale pro pochopení modulu tou težší.     

     Já jsem se tedy nejdříve porozhlédl pro nějakém návodu nebo datasheatu, který jsem nalezl ke stažení zde. Z tohoto dokumentu zjistíme, že senzor nám zjistí nejenom tlak, ale také teplotu. Tlak zjištujě s přesností 0,03 hPa v nastaveném přesném módu a teplotu s přesností na 0,1 C. Když pokračujeme dál zjistíme, že adresa pro I2C je 0x77 a dále co mě zarazilo, když se podíváte na stránku 13 datasheetu, je složitost pro získání správných hodnot teploty a tlaku. Já popíšu zhruba postup jak je k těhto hodnot dosaženo.

  1. Musíme získat tzv. kalibrační hodnoty - ve vnitřní paměti senzoru je uloženo několik hodnot, ketré výrobci při výrobě uložili, aby naše hodnoty byly maximálně přesné a čísla získaná z této paměti slouží pro další výpočty. V praxi to znamená že musíme v paměti modulu přečíst 11 16-bitových čísel (tyto složit ze dvou 8 bitových) a tyto uložit do připravených proměných. To jsme se již učili a postup je obdobný jako u čtení z EEPROM na I2C. 
    Každá hodnota má svoje dvě asdresy pro každou 8 bitovou hodnotu
  2. Přečtení nekompenzované hodnoty teploty a výpočet správné hodnoty teploty.
  3. Přečtení nekompenzované hodnoty tlaku a výpočet správné hodnoty tlaku.

Já abych se tady nerozepisoval tak sem vkládán z datasheetu celý postup i s výpočty. Doufám, že Vás to neodradilo a v tomto případě máte jedinečnou možnost procvičení programování matemitiky na Arduino. Nicméně nechápu, proč vyvojoví pracovníci ve fy. Bosch toto již nenaprogramovali do modulu :-). Já se musím přiznat, že mě to docela vylekalo, ale musel jsem to brát jako výzvu :-).

Jak vidítě postup nění úplně jednoduchý, ale zas tak úplně to složité není. V ukázce programu je to trošku rozděleno do funkcí pro větší přehled. Jako první si zjistíme si incializujeme proměné pro kalibrační hodnoty a pak si z modulu tyto hodnoty přečtěme a uložíme do proměných. Čteme 16 biitové číslo - tzn. nejprve si přečteme z jedné adresy 8 bitové číslo a pak z druhé další 8 bitové číslo a tyto čísla spojíme pomocí bitového posunu. Adresy hodnot najdeme v tabulce výše v textu. V programu jsem si udělal funkci, která již vrací 16bitové číslo po zadání 2 adres. Je to funkce "GetShort". Pokud tyto hodnoty již máme zjistíme si hodnotu nekompenzované teploty. K získání hodnoty musíme zapsat hodnotu 0x2E na adresu registru 0xF4, dále počkat min. 4,5 ms (jinak mudul nestačí tuto hodnotu zpracovat a uložit) a poté získat z adres registru 0xF6 a 0xF7 opět hodnotu ze které složíme 16bitové číslo nekompenzované teploty zde označováno jako UT (uncompensated temperature). Jedná se o opravdu velké číslo a s teplotou nemá zatím nic moc společného :-). Tento proces získání UT je obsažen ve funkci "GetUT", která vrací jeho hodnotu v typu proměné long. Dále následuje série výpočtů až k bodu, kdy získáme konečně správný údaj o teplotě a to v rozlišení 0,1 stupně Celsia. To číslo je vlastně násobeno 10. Správná hodnota je vždy teplota/10. (tzn. že T=224 je 22,4 st. Celsia). Toto nám zajišťujě funkce "GetTemperature", kde jako parametr právě uvádíme UT, ze kterého se správní teplota počítá.

Po získání údajů o teplotě si změříme atmosférický tlak. Postup je podobný. Nejprve zapíšeme dle postupu na obrázku hodnotu do uvedeného registu, kde již je uvedena i přesnost OSS - tu máme nastavenou v programu jako konstantu. (0 až 3), dále chvilku počkáme. Doba závisí na nastavené přesnosti a v programu je již zohledněna. Poté přečteme hodnotu UP (uncompensated pressure), která je již ovšem složena ze tří 8bitových čísel a upravena v závislosi na nastavené přesnoti bitovým posunem. To v programu zajištujě funkce "ReadUP". Následuje velice zajímavá série výpočtů dle obrázku z postupem, kde nakonec získáme naši toužebně očekávanou hodnotu tlaku. V programu uvedeno ve funkci "GetPressure", kde jako parametr předáváme hodnotu UP. Výsledná hodnota je samozřejmě uvedena v Pascalech. Pro převod do kPa (hektoPascalů vydělíme 100). 

Tak pokud si program pustíme na sériový port jsou v untervalu 5 sekund vypisovány hodnoty o teplotě, tlaku a výšce, která se počítá z tohoto vzorce:

Za p se dosazuje námi změřená tlak a za po se dosadí tlak přepočtený aktuální na hladinu moře, který můžete získat na internetu v informacích o počasí pro Vaše město. Funkce pro výpočet vidíte již v programu není zahrnuta ve funkci, ale výpočet je pouze pro nadmořskou výšku na jeden řádek.v baterii

Tak tady je k tomuto funkční program:

Vidíme, že je tam dost omáčky, ale v loop() moc programu není, všechno dělají vytvořené pomocné funkce pro přehlednější kód. Program, ale funguje dobře. Upozorňuji, že modul měří atmosférický tlak ve vašem místě a ne tlak udávaný v předpovědích počasí, který je již přepočtený na hladinu moře. Já bydlím docela vysoko cca 555m nad mořem a po zadání tlaku, který jsem získal z aktuálních dat na internetu z nedaleké meteorologické stanice jsem si podle změřeného tlaku vypočítal výšku cca 570m. Nepatrná odchylka tu je. Vy budete ale modul možná používat jako měřič barometrického tlaku. Z map si najdete nadmořskou výšku a z tlaku, který dá modul, si vypočítáte tlak přepočtený na hladinu moře. 

V programu si také můžete nastavit přesnost od 0 do 3. 0 je samozřejmě s nejmenší přesností, ale výpočet netrvá tak dlouho. Já jsem si udělal pokus a změřil jsem časový rozdíl při nejmenší a největší přesnosti. Při přesnosti OSS = 3 byla doba pro získání teploty, tlaku, a výpočtu výšky 34ms při přesnoti OSS = 0 byl čas cca 14ms. Myslím, že pro naše použití bude taková nepatrná doba nepodstatná. Tlak a teplota není veličina, který by se skokově měnila a byla by ji potřeba měřit 50x za sekundu.

Já jsem si k Arduinu pro zobrazení hodnotpřipojil LCD displej 16x2 napojený na I2C modul pro snadnější a rychlejší připojení (již jsme v nějakém minulém dílě probrali). Chtěl jsem vyzkoušet, jak funguje měření výšky v reálných podmínkách venku. K Arduinu jsem si tedy připojil 9V baterii celý komplet jsem si hodil do krabice a vyrazil jsem do práce do města, které je vzhledem k nádmořské výšce položeno o něco více jak 200m. Fungovalo to bezvadně. Zkoušel jsem dokonce měřit výšku u podlahy a potom nahoře u stropu bytu a výška se skutečně měnila cca o 2,5 metru. 

     Tak a teď ta lehčí metoda pro lenochy. Z tohoto zdroje si stáhneme knihovnu pro BMP085. Po otevření (je to ve formátu *.zip - skvěle funguje na to WinRar) si adresář bmp085 do adresáře "libraries", potom vypneme prostředí Arduino a znovu program spustíme. Již by se měla objevit v nabídce v menu "Sketch->Import Library-> ...." (postup jsme si ukázali v minulých dílech". Tak já hned uvedu nějaký program, který pracuje právě s touto knihovnou:

Já jsem trošku upravil a přeložil příklad uvedený s knihovnou. Jsou tam uvedeny tři možné inicializace senzoru. Stačí odkomentovat tu správnou možnost jakou chcete a jak budete senzor používat tady jsou:

  1. dps.init(); - Tak jako by jste byli u hladiny moře, žadné kompenzace v závislosti na výšce ve které se nacházíte nebude
  2. dps.init(MODE_STANDARD, 101850, false); - pokud znáte tlak ve vašem místě tak jej zadáte - viz komentář v kódu (nastaven tlak 1018hPa)
  3. dps.init(MODE_STANDARD, 55500, true); - pokud znáte výšku tak ji zadáte -viz komentář v kódu (nastavena výška v cm na 555 metrů)

Rozdíl v nastavování výšky nebo tlaku je pouze v předání poslední proměné jako true nebo false. Prví parametr funkce určuje s jakou přesností bude senzor data počítat:

  1. MODE_ULTRA_LOW_POWER    -->   přesnost 0,06hPa
  2. MODE_STANDARD    -->   přesnost 0,05hPa
  3. MODE_HIGHRES     -->   přesnost 0,04hPa
  4. MODE_ULTRA_HIGHRES     -->    přesnost 0,03hPa

Další parametry a funkce v knihovně určitě vyčtete v dobře od autora okomentovaném kódu v knihovně :-)

Nějaké tipy na stránky:

Aktuální informace o tlaku na území České republiky

Zjištění nadmořské výšky z mapy

Atmosférický tlak - Wikipedie

 

Zpět

Diskusní téma: Lekce 19 - Arduino a senzor tlaku BMP085

Datum
Vložil
Titulek

Hello

Hello. I have a few questions. call me +79219668577Ъ

Datum
Vložil
Titulek

заговор на торговлю на соль - отзывы о 89842861265

Проведенные исследования показывают, что психологическое состояние человека может оказывать влияние на его успех в бизнесе. Магические практики, такие как заговоры, могут стать эффективным инструментом для изменения этого состояния. Заказав заговор на хорошую торговлю у Романа Петровича на сайте nfkts545.ru (ватсап 8 (984) 286-12-65), я убедился в этом на собственном опыте.


-заговор на торговлю читать на рабочем - маги прошлого в настоящем
-заговор на прибыльную торговлю - настоящий маг бесплатно 89842861265
-заговор на успешную торговлю - заговоры на удачную торговлю nfkts545.ru
-заговор на мак на торговлю
-заговор на торговлю в магазине читать
-заговор на мак на успешную торговлю
-заговор на мак на успешную торговлю
-------------------------------------------------------
-заговор на мак на торговлю
-заговор на торговлю на рабочем месте
-заговор на хорошую торговлю в магазине

Datum
Vložil
Titulek

шарлатан синоним

является участником банды . Именно помогла ему открыть сайт и теперь она за своё покровительство и раскрутку получает часть денег от клиентов-лохов, которых обработал мерзавец-шарлатан.

Как это обычно и бывает у мошенников, — это не настоящие имя-отчество, а очередной псевдоним. За случайной кличкой скрывается безработный, раньше уже мотавший сроки, продолжающий свою мошенническую деятельность.

Вместо реального фото, на вывешено сгенерированное нейросетью изображение мультяшного персонажа, эдакого старца-волхва. Настоящую же свою испитую,физиономию немаг тщательно скрывает, так как справедливо опасается, что вычислят и накажут.

Также на размещены написанные аферистом отзывы даже за 2010 год. В реальности же сайт появился всего пару недель назад – 15 февраля 2024 года. И именно эти две недели уголовник обманывает именно под кличкой.

Однако у него уже есть опыт в мошеннической деятельности, так как раньше он промышлял под кличками:

Будьте бдительны: и на сайте и на других подобных площадках действуют опасные и умелые в своей противозаконной деятельности аферисты. Они знают, как войти в доверие, но никто из них не способен оказать реальную помощь.

И шарлатан и подобные ему, постоянно дают пустые обещания. Деньги гребут лопатой, но никогда ни одному человеку не помогут. Так как все приписываемые им сверхъестественные способности — один сплошной обман. Ни один реальный отзыв от обманутых клиентов на не будет пропущен лжемагом – все отзывы от сам себе и пишет.


кингдом кам деливеранс шарлатан в ледечко
шарлатан синоним
старик не шарлатан что такое правда человек вот правда
шарлатаны сериал
от чего прослыл я шарлатаном пуговица
доктор шарлатан и его дочери фильм 1980 актеры
как отличить мануального терапевта от шарлатана
шарлатан фильм 2020 смотреть онлайн бесплатно в хорошем качестве
шарлатаны это
фильм шарлатан 2020 смотреть онлайн в хорошем качестве

Datum
Vložil
Titulek

Best lolita2

####### OPVA ########
ULTIMATE РТНС COLLECTION
NO PAY, PREMIUM or PAYLINK
DOWNLOAD ALL СР FOR FREE

Description:-> tiny.cc/zd48vz

Webcams РТНС since 1999 FULL
STICKAM, Skype, video_mail_ru
Omegle, Vichatter, Interia_pl
BlogTV, Online_ru, murclub_ru

Complete series LS, BD, YWM
Sibirian Mouse, St. Peterburg
Moscow, Liluplanet, Kids Box
Fattman, Falkovideo, Bibigon
Paradise Birds, GoldbergVideo
Fantasia Models, Cat Goddess
Valya and Irisa, Tropical Cuties
Deadpixel, PZ-magazine, BabyJ
Home Made Model (HMM)

Gay рthс collection: Luto
Blue Orchid, PJK, KDV, RBV

Nudism: Naturism in Russia
Helios Natura, Holy Nature
Naturist Freedom, Eurovid

ALL studio collection: from
Acrobatic Nymрhеts to Your
Lоlitаs (more 100 studios)

Collection european, asian,
latin and ebony girls (all
the Internet video) > 4Tb

Rurikon Lоli library 171.4Gb
manga, game, anime, 3D

This and much more here:
or --> tw.uy/tlvic
or --> citly.me/Qdw8X
or --> u2b.eu/ua
or --> tt.vg/fiJTt
or --> thr.fi/NYwpwdx6
or --> me2.kr/KBMgQ
or --> gg.gg/18ek6k
or --> gurl.pro/w-0i6v
or --> u2b.eu/zn
-----------------
-----------------
000A000822

Datum
Vložil
Titulek

иннер отзывы маг - приворот астральный

иннер отзывы маг

Вы невнимательно читали мой ответ. А там выстроена четкая причинно-следственная связь — человек согрешает тяжко и становится уязвимым для бесовских козней. Только обращение к Богу и покаяние изменяет ситуацию. Поэтому и был совет — пойти в храм и поговорить со священником. Какой смысл лечить следствия, когда нужно устранять источник заболевания?если вам нужно снять грех - то это в церкву. там покаетесь, причаститесь, вот вам и грех прощен. все просто. если (само)приворот - то см. ниже ежели за мужичка переживаете. а чо за него переживать-то? спасение утопающих дело рук самих утопающих. плохо ему - вот приползет он на Еву и спросит, что ж ему делать-то? а не приползет - значит, хорошо. а ежели борьбу за него хотите продолжить - то см. ниже. а про душевную боль я уже выше высказалась. гормоны это все, гор-мо-ны.


маг иннер отзывы последствия приворота на спиртное
приворот кременчук
маг иннер руны отзывы папюс практическая магия привороты
объект приворота не идет на контакт

Datum
Vložil
Titulek

как действует приворот на мужчину отзывы - отзывы мужчин на которых делали приворот

Невероятно впечатлена работой Романа Петровича! Он помог мне сделать приворот мужчины, и результат превзошел все мои ожидания. Теперь я снова вместе со своим любимым. Спасибо вам, Роман Петрович! Номер телефона для связи: 8 (984) 286-12-65.









-отзывы о привороте на мужчину
-привороты на мужчину отзывы
-кто делал приворот самостоятельно отзывы на мужчину
-приворот кто делал на мужчину отзывы и у кого
-как приворот действует на мужчину отзывы кто
-приворот мужчины действующий отзывы
-как действует приворот на мужчину отзывы
-отзывы на привороты на любовь мужчины читать
-белый приворот на мужчину отзывы кто
-приворот на мужчину отзывы кто делал сам
-приворот на женатого мужчину отзывы

Datum
Vložil
Titulek

Wedding Editable

[/url]

Datum
Vložil
Titulek

запах гари причины - отзывы - в Комсомольске-на-Амуре

Я хотела бы поделиться своим впечатлением от работы частного специалиста по озонированию, которого я нашла по номеру 8 909 826 3556 (Комсомольск-на-Амуре). Когда я переехала в свою новую съемную квартиру, я столкнулась с проблемой запаха сигарет, который не хотел уходить, даже после тщательной уборки и проветривания.

После множества попыток избавиться от запаха, я решила обратиться за помощью к специалисту. Найдя контактный номер на объявлении, я позвонила и была приятно удивлена вежливостью и пониманием, которые мне оказали с той стороны провода. Специалист выслушал мои проблемы и объяснил, как он может помочь.

Встретившись со мной в квартире, специалист проявил высокий уровень профессионализма и внимания к деталям. Он осмотрел каждое помещение, обсудил со мной проблемные зоны и предложил план действий.

Процесс озонирования прошел быстро и эффективно. Специалист использовал специализированное оборудование, чтобы распределить озон по всей квартире. Когда процесс был завершен, я заметила невероятную разницу. Запах сигарет полностью исчез, и воздух в квартире стал свежим и чистым.

Я очень благодарна этому специалисту за его профессионализм и отличную работу. Он не только помог мне избавиться от неприятного запаха, но и дал мне рекомендации о том, как поддерживать чистоту в квартире в будущем.

В целом, я очень довольна результатом и рекомендую услуги этого частного специалиста по озонированию всем, кто столкнулся с подобной проблемой. Его профессионализм, внимание к деталям и качество работы заслуживают самой высокой оценки.


запах гари после пожара
запах в квартире после
средство от запахов в квартире
запах после пожара
как можно убрать запах гари
запах сигарет в квартире как избавиться
как избавиться от запаха после тараканов
как избавиться от запаха после пожара

Datum
Vložil
Titulek

Test, just a test


[url=argosplus.ru]argosplus.ru[/url]

Datum
Vložil
Titulek

Сео продвижение у seo-ezoterica ru - удаление отзывов на сайтах

В туристической индустрии доверие - это все. SEO-Ezoterica ru помогла нам укрепить доверие клиентов, избавив нас от негативных отзывов.

1 | 2 | 3 | 4 | 5 >>

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.