Czujnik temperatury DS18B20 i raspberry PI

Czujnik temperatury DS18B20 to termometr cyfrowy o rozdzielczości od 9 do 12 bitów. Można nim zmierzyć temperaturę z dokładnością od 0,5 °C do 0,0625 °C w zakresie od -10 do 85 °C.

Którejś wiosny zastanawialiśmy się z żoną ile stopni jest w chacie zimą? Zostawiamy tam różne rzeczy np. farby do malowania, kleje do drewna. Zaczęliśmy się zastanawiać, czy dobrze robimy. Stąd powstał pomysł, żeby zacząć mierzyć temperaturę.

W mojej głowie kiełkował pomysł, żeby użyć raspberry PI z czujnikiem temperatury i odpowiednim programikiem zapisującym temperaturę na karcie pamięci np. co godzinę.

Czujnik temperatury – realizacja

Czujnik podłączony jest do raspberry PI za pomocą interfejsu 1-wire. Każdy czujnik ma swój niepowtarzalny numer.

Opis wyprowadzeń:

czujnik temperatury

Podłączenie wygląda tak:

czujnik temperatury

Protokół komunikacji jest dosyć skomplikowany, ale z pomocą przychodzą odpowiednie biblioteki.

Konfiguracja raspberry PI

Na początku włączamy sterownik do czujnika DS18B20. Najprościej jest skorzystać z programu raspi-config.

sudo raspi-config

Wybieramy opcję: „5. Interfacing Options”.

Wybieramy: „P7 1-Wire”.

Uruchamiamy obsługę interfejsu i restartujemy system.

Następnie poleceniem lsmod możemy sprawdzić stan po instalacji:

lsmod

Na liście powinny znajdować się wpisy: w1_gpio i w1_therm.

Następnym krokiem jest zainstalowanie gotowej biblioteki do odczytu temperatury:

sudo pip3 install w1thermsensor

Ostatnim krokiem jest napisanie skryptu w pythonie na bazie klasy:

import w1thermsensor
therm = w1thermsensor.W1ThermSensor()
temp = therm.get_temperature()
print(temp)

Po uruchomieniu skryptu powinniśmy mieć zapisaną temperaturę w naszym pliku z wynikami.

Powyższy skrypt można uruchomić za pomocą crona, o czym pisałem w innym poście.

Jeśli chodzą Ci pod głowie podobne pomysły to napisz o tym w komentarzach. Jak można jeszcze użyć takie urządzenia w mieszkaniu? Jeśli jesteś zainteresowany podobnymi tematami to napisz o tym. Od niedawna założyłem konto na facebook’u, na które zapraszam.

[responsivevoice_button voice=”Polish Female” buttontext=”Odtwórz” ]

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *