LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
IoT

[PROJEKT] KAmodHTS221 – czujnik temperatury i wilgotności powietrza + KAmduino UNO

IMG_0147

KAmodHTS221 to kompaktowy moduł czujnika temperatury i wilgotności powietrza. Został zaprojektowany w oparciu o sensor HTS221 firmy STMicroelectronics. Moduł czujnika wykonuje pomiar temperatury powietrza w zakresie -40…120 °C i wilgotności 0…100% RH. Dokładność pomiarów wynosi odpowiednio ±1°C (0…60°C) / ±0,5°C (15…40°C) i ±6% (0…100% RH) / ±4,5% (20…80% RH). Rozdzielczość przetwornika pomiarowego to 16 bitów, co przenosi się na rozdzielczość pomiarową wynoszącą 0,004% RH/LSB. Sensor HTS221 pozwala na wprowadzenie konfiguracji częstotliwości wykonywanego pomiaru i wynosi ona od 1 do 25 Hz. Dostępne są dwa sposoby komunikacji z czujnikiem, poprzez magistralę I2C oraz SPI.

Moduł KAmodHTS221 został wyposażony w stabilizator liniowy co pozwala na zasilanie go napięciem od 2,5 do 5,5 V lub można bezpośrednio zasilać układ czujnika napięciem 3,3 V. Oprócz stabilizatora, na płytce modułu znajduje się konwerter poziomów logicznych, co pozwala na podłączenie modułu do układów o różnych poziomach napięć magistrali komunikacyjnych.

Fot. 1. Wyprowadzenia modułu KAmodHTS221

Fot. 1. Wyprowadzenia modułu KAmodHTS221

Moduł KAmodHTS221 posiada 8 padów lutowniczych, do których możemy przylutować dołączone złącza goldpin lub przewody. Złącze +3,3 V służy do bezpośredniego zasilania układu czujnika napięciem 3,3 V. Nie należy do tego pinu podawać większego napięcia niż 3,6 V ponieważ spowoduje to trwałe uszkodzenie układu. Złącze +VIN pozwala na zasilanie modułu napięciem z przedziału 2,5-5,5 V, GND to masa układu. Złącza oznaczone jako SDA, SCL, SDO, CS służą do komunikacji z sensorem HTS221. W zależności od wybranego sposobu komunikacji złącza te zmieniają swoje przeznaczenie, inne dla I2C, a inne dla SPI. Ostatnie wyprowadzenie oznaczone jako DRDY jest wyjściem gotowości danych.

W prezentowanym przykładzie została wykorzystana magistrala I2C oraz moduł KAmduino UNO.  Podłączenie modułu do płytki z mikrokontrolerem ogranicza się do podłączenia zasilania oraz dwóch linii magistrali, SCL – wyjście zegarowe, oraz SDA – linia danych. Na płytce modułu znajdują się rezystory 4,7 kΩ podciągające linie SDA i SCL do zasilania układu, stąd nie ma potrzeby dodawania już kolejnych na płytce prototypowej. W przykładzie wykorzystano zasilanie 5 V, które można pobrać bezpośrednio z płytki KAmduino UNO (zdjęcie 2).

Fot. 2. Podłączony zestaw testowy

Fot. 2. Podłączony zestaw testowy

Na listingu przedstawiono kod przykładowego programu obsługującego czujnik HTS221. Program wykorzystuje bibliotekę HTS221.h, która odpowiada za obsługę rejestrów czujnika. W procedurze setup() przeprowadzana jest inicjalizacja czujnika do pracy.W pętli głównej programu wykorzystywane są dwie metody, readHumidity i readTemperature. Zwracają one dane typu double, które przechowywane są odpowiednio w zmiennych wilgotnosc i temperatura. Dane odczytane z sensora są wypisywane w terminalu. Opóźnienie 500 ms pozwala na łatwiejsze odczytywanie wyników.

#include <Wire.h>
#include <Arduino.h>

#include <HTS221.h>

void setup() {
    Wire.begin();
    
    smeHumidity.begin();
    
    Serial.begin(9600);
}

void loop() {

    double wilgotnosc = 0;
    double temperatura = 0;

    data = smeHumidity.readHumidity();
    data1 = smeHumidity.readTemperature();
    
    Serial.print("Wilgotnosc : ");
    Serial.print(wilgotnosc);
    Serial.print(" % ");
    Serial.print(" Temperatura: ");
    Serial.print(temperatura);
    Serial.println(" *C");

    delay(500);
}
Rys. 3. Efekt działania programu

Rys. 3. Efekt działania programu

Autor: Jakub Kuryło