Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 lis 2024, o 01:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 22 gru 2015, o 07:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witam!

Proszę o sprawdzenie poprawności zapisu funkcji do wyliczania wysokości n.p.m. na podstawie ciśnienia atmosferycznego. Nie działa Rzutowanie na float - błąd kompilacji. Rzutowanie na uint16_t - zwraca wynik -21206. Funkcja BMP180_getp() zwraca wartość typu long. Podstawiane wartości: Po-101325Pa (poziom morza), P-99247Pa (u mnie). Spodziewany wynik 250m n.p.m. Wzór na wysokość z noty katalogowej czujnika BMP180.
Obrazek
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 08:34 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Ja mam w bibliotece tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 09:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

wchpikus napisał(a):
return ((1 - pow(bmp085_rawpressure/(double)101325, 0.1903 )) / 0.0000225577) + BMP085_UNITMOFFSET;

Dziękuję bardzo.
Napisz proszę skąd pochodzi wartość /0.0000225577 (we wzorze jest: 44330*) oraz co dodajesz do wyniku (BMP085_UNITMOFFSER)?
Pozdrawiam

P.S. Czy jest to biblioteka ze strony: https://github.com/mkschreder/martink/b ... s/bmp085.c i czy działa z czujnikiem BMP180?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 11:54 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Podsyłam pliki, jest to od BMP085, ale powinna biblioteka pasować.
Może są rożne adresy, trzeba sprawdzić w specyfikacji..

BMP085.c

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


BMP085.h

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Działa tylko z biblioteka I2C:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 13:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

wchpikus napisał(a):
Podsyłam pliki, jest to od BMP085, ale powinna biblioteka pasować.
Może są rożne adresy, trzeba sprawdzić w specyfikacji..

Wielkie dzięki!
Jak tylko wrócę do domu wieczorkiem to odpalę bibliotekę i dam znać.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 15:28 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Nie zapomnij o bibliotekach:
#include <math.h>
#include <stdbool.h>



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 16:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

wchpikus napisał(a):
Nie zapomnij o bibliotekach:
#include <math.h>
#include <stdbool.h>

Ok. Dzięki.
Reasumując tworzę następujące pliki biblioteczne:
BMP085.c i BMP085.h np. w folderze BMP085 (obsługa czujnika)
i2cmaster.c i i2cmaster.h w foderze BMP085_I2CFLEURYPATH, który jest inkludowany w BMP085.c (obsługa I2C)
Czy dobrze to rozumiem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 17:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 333
Lokalizacja: Rybnik
Pomógł: 55

avrfun napisał(a):
Napisz proszę skąd pochodzi wartość /0.0000225577 (we wzorze jest: 44330*)

Podstawy matematyki, mnożenie to dzielenie przez odwrotność. 1/0.0000225577 = 44330.7606715, więc blisko 44330, które jest zapisane jako mnożenie. Nie wiem, czy jest to wartość dokładniejsza, czy autor biblioteki się pomylił -nie zaglądałem do dokumentacji.

_________________
Amatorska stacje meteorologiczna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 19:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

anonimowy napisał(a):
Podstawy matematyki, mnożenie to dzielenie przez odwrotność. 1/0.0000225577 = 44330.7606715, więc blisko 44330, które jest zapisane jako mnożenie. Nie wiem, czy jest to wartość dokładniejsza, czy autor biblioteki się pomylił -nie zaglądałem do dokumentacji.

Dziekuję.
Czy mógłbyś wspomóc mnie w " C prawidłowym" zapisaniu wzoru do wyliczania wysokości (jak w pierwszym poście). Próbuję zapisać go na różne sposoby bez powodzenia, a problem jest najpewniej w rzutowaniu. Komunikaty kompilatora to np. invalid operands to binary / (have 'long int (*)(void)' and 'long int').



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 19:44 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

szczerze to nie sprawdzałem wysokości, nie miałem potrzeby.
Ciśnienie działa ok.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2015, o 19:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

wchpikus napisał(a):
szczerze to nie sprawdzałem wysokości, nie miałem potrzeby.

Chodzi mi o prawidłowe zapisanie w C wzoru na wysokość n.p.m., aby kompilator nie krzyczał.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO