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.

Poprzedni artykułdigiKam 4.0.0 z obsługą wielu rdzeni i nowymi narzędziami
Następny artykułUbuntu 12.10 – koniec wsparcia technicznego

10 KOMENTARZE

  1. 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?

  2. 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.

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj