Kolejnym czujnikiem zaraz po DHT21/AM230 będzie cyfrowy barometr. Bardzo fajnym czujnikiem jest BMP180 – czujnik ciśnienia I2C – moduł SparkFun. Czujnik bardzo ładnie współpracuje z Arduino lub właśnie Raspberry Pi. Komunikacja odbywa się poprzez I2C (Inter-Integrated-Circuit). Czujnik umożliwia pomiar ciśnienia w zakresach od 300 do 1100 hPa z dokładnością 0,02 hPa. Wyniki są bardzo dokładne, dzięki technologii piezorezystancyjnej.
Podłączenie z Raspberry Pi
- VDD (czasem oznaczenie Vin) – napięcie zasilania, 5.0V (pin 2)
- GND – masa układu podłączona do GDN (pin 6)
- SDA – linia danych SDA0 (I2C) (pin 3)
- SCL – linia zegarowa SCL0 (I2C) (pin 5)
Pin VDDIO może zostać niepodłączony. Używany jest on do współpracy z systemami o napięciu niższym niż 1,8 V.
Komunikacja z Raspbbery Pi
Na samym początku musimy załadować w systemie dwa dodatkowe moduły za pomocą polecenia:
[bash]
sudo modprobe i2c-bcm2708
sudo modprobe i2c-dev
[/bash]
Jeżeli po załadowaniu modułów nie ma żadnych problemów, należy dodać je do pliku /etc/modules, a następnie usunąć je lub zakomentować linie w pliku /etc/modprobe.d/raspi-blacklist.conf:
[bash]
#blacklist spi-bcm2708
#blacklist i2c-bcm2708
[/bash]
Na samym końcu instalujemy potrzebne oprogramowanie do wykrycia naszego czujnika:
[bash]sudo apt-get install python-smbus i2c-tools[/bash]
Wydając polecenie i2cdetect -y 1 powinniśmy wykryć czujnik pod adresem 0x77, jeżeli został dobrze podłączony.
[bash][17:09:34] [root@rubus /]# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — 77[/bash]
Aby odczytać dane z czujnika, możemy skorzystać z gotowej aplikacji. Jest to zestaw bibliotek Adafruit napisanych dla Raspberry Pi.
[bash]cd /usr/src
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
cd Adafruit-Raspberry-Pi-Python-Code/Adafruit_BMP085
./Adafruit_BMP085_example.py
Temperature: 21.40 C
Pressure: 994.35 hPa
Altitude: 157.88[/bash]
Kod programu możemy przerobić pod własne potrzeby i cieszyć się pomiarami.
OSWorld.pl liked this on Facebook.
picoboard.pl liked this on Facebook.
Piotr Baranowski liked this on Facebook.
Cyryl Sochacki liked this on Facebook.
Szymon Sobieraj liked this on Facebook.
Michał Olber liked this on Facebook.
Dzięki za pomocny artykuł :)
A jak podłączyć go razem z ekspanderem mcp23017. Mam takie czipy, które rozszerzają ilość pinów gpio (potrzebowałem sterować wieloma przekaźnikami). Jak ten barometr podłaczyć do któregoś czipu? Czy raczej podłączyć go obok czipu?
Niestety po wykonaniu tej czynności:
cd /usr/src
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
pobiera mi paczkę plików ale nie ma w niej plików potrzebnych do odpalenia czujnika :(. W czym jest problem ? :(
Witam.
Mam problem z czujnikiem BMP180.
Od ponad roku dzialal poprawnie, odczyn na bierząco. Niestety od kliku dni odczyty pojawiają się raczej sporadycznie.
Wymieniłem czujnik na nowy i jest tak sa, odczyt raz na dobe, raz na 2 doby.
Zainstalowałem system i domoticz od nowa i nadal to samo.
Gdzie może być problem, co może powodować taką sytuacje?
Z gory dziękuję za pomoc.