TMP006 – bezdotykowy czujnik temperatury

Moduł adaptera z TMP006
Moduł adaptera z TMP006

Od długiego już czasu w naszej ofercie mamy moduł z układem TMP006, który to jest czujnikiem temperatury, ale działającym na podczerwień. Znaczy to, że nie jest wymagany fizyczny kontakt z mierzonym obiektem.

Niewielki rozmiar, zasilanie do 3.3V do 5V, mały pobór prądu podłączenie po I2C (tylko dwa kabelki) – wszystko to sprawia, że można znaleźć kilka scenariuszy użycia. Jeśli przeszukasz fora Arduino pod kątem tego modułu, wówczas możesz znaleźć opisy sytuacji w której czujnik zwraca zawsze 2.39 stopnia Celsjusza. Skąd się to wzięło?

Zdarza się to korzystającym z opisu podłączenia umieszczonego na SparkFun Learn. Przykładowy kod, który tam jest do ściągnięcia jest mocno przykładowy i nie zakłada problemów z komunikacją z czujnikiem. Jeżeli coś jest nie tak i nie zostanie nawiązana komunikacja, kod próbuje i tak obliczać temperaturę. I stąd pewnie się bierze wartość 2.39.

Wystarczy zmienić kod na przykład udostępniony przez Adafruit by przekonać się czy problem nie leży po stronie komunikacji z modułem. W tym celu zainstaluj w Arduino IDE odpowiednią bibliotekę. W menu Sketch/Include Library/Manage Libararies, w search wpisać TMP006 i zainstalować bibliotekę od Adafruit.

Jeśli to pierwsza biblioteka do sensorów do Adafruit nie masz jeszcze zainstalowanej Adafruit Unified Sensor. Biblioteki zawierającej wspólny kod dla wielu z bibliotek od Adafruit. W search wpisz 'adafruit unified’ i powinien to  być ostatni wynik – zainstaluj jeśli jeszcze nie masz biblioteki.

Podłącz moduł do Arduino – zasilanie, masa i SDA/SCL. Jak na tym zdjęciu:

TMP006 podłączony do Arduino
TMP006 podłączony do Arduino

Użyte tutaj zostały chwytaki IC Hooks, przydatne gdy nie chcesz lutować nic do modułu. Mają czasem problemy z łapaniem dużych otworów pod goldpiny, ale na modułach SF/Adafruit zwykle dają radę (domyślnie sa przeznaczone do łapania nóżek układów scalonych a te mają mniejsze średnice).

Po instalacji biblioteki w menu File/Examples/Adaftuit TMP006 pojawia się szkic tmp006. Otwórz go, wgraj na Arduino i obserwuj wynik działania. Jeśli napisze o braku komunikacji to możesz być pewnym, że to raczej błąd w kabelkologii niż niezwykły pomiar.