Siłownik liniowy sterowany czujnikiem temperatury i wilgotności ma wiele kluczowych zastosowań. Przykładowo, praktycznym zastosowaniem będzie akwaponika i hydroponika, gdzie trzeba kontrolować wilgotność — czujnik wykryje, gdy temperatura i wilgotność osiągną określony próg, i automatycznie otworzy/zamknie drzwi za pomocą siłownika liniowego. Ten projekt to świetna zabawa dla początkujących programistów lub hobbystów, którzy chcą poznać podstawy kodowania Arduino do sterowania siłownikiem liniowym.
Ten artykuł jest częścią serii Progressive Automations, której celem jest wyposażenie Cię w wiedzę potrzebną do użycia siłowników liniowych, mikrokontrolerów i czujników w Twoim następnym projekcie automatyzacji. Chcesz sterować siłownikiem liniowym za pomocą prostej klawiatury numerycznej czy czegoś bardziej zaawansowanego, jak wiele czujników ultradźwiękowych do wykrywania ruchu w pobliżu? Mamy to! Ten artykuł pokaże Ci, jak dobrać właściwy czujnik temperatury do siłownika i jak działa ten czujnik. Zaczynajmy!

Czym jest cyfrowy czujnik temperatury i wilgotności?
Cyfrowy czujnik temperatury i wilgotności to podstawowy, bardzo tani czujnik, który może służyć do pomiaru temperatury i wilgotności w otaczającym powietrzu. Czujnik temperatury i wilgotności LC-226 od Progressive Automations wykorzystuje pojemnościowy czujnik wilgotności i termistor do generowania sygnałów wyjściowych, które mikrokontroler może odczytać.
Element pomiaru wilgotności to podłoże zatrzymujące wilgoć z elektrodami na powierzchni. Gdy para wodna zostaje zaabsorbowana przez podłoże z otaczającego powietrza, podłoże uwalnia jony, co zwiększa przewodność między elektrodami. Zmiana oporu między dwiema elektrodami jest proporcjonalna do wilgotności względnej. Zatem wyższa wilgotność względna zmniejsza opór między elektrodami, a niższa wilgotność względna zwiększa opór.

LC-226 może być zasilany ze źródła 5 VDC i ma następujące specyfikacje dotyczące temperatury i wilgotności:
- Zakres pomiaru wilgotności: 20% - 90% (wilgotność względna)
- Błąd pomiaru wilgotności: +5% (wilgotność względna)
- Zakres pomiaru temperatury: 0 – 50°C
- Błąd pomiaru temperatury: +2°C
Czego będziesz potrzebować
Przejdźmy do tego, jak można połączyć czujnik temperatury z siłownikiem dla dowolnego wybranego zastosowania. Oto lista potrzebnych elementów:
- 1 × Przekaźnik 2‑kanałowy
- 1 × Arduino Uno
- 1 × Siłownik liniowy (12 VDC, maks. pobór prądu 10 A)
- 1 × PS-20-12 Zasilacz 12 VDC
- 1 × LC-226 Czujnik temperatury i wilgotności
- Przewody połączeniowe żeńskie–męskie (jumpery)
Można użyć dowolnego siłownika liniowego, ale upewnij się, że zasilacz jest dobrany do napięcia i poboru prądu siłownika oraz poradzi sobie z wymaganiami mocy pod obciążeniem.
Okablowanie
Podłączenie siłownika liniowego do przekaźnika jest proste. W tym przypadku użyliśmy 2‑kanałowej płytki przekaźnikowej. Okablowanie składa się z czterech kroków: Arduino do przekaźnika, czujnik do Arduino, przekaźnik do zasilacza oraz siłownik do przekaźnika.
Pamiętaj, że zdalny czujnik temperatury i wilgotności z siłownikiem używany w wilgotnym środowisku powinien mieć kontroler odpowiednio zabezpieczony lub zainstalowany poza tym środowiskiem. Czujnik jest zaprojektowany do pracy z wilgotnością, ale Twój kontroler Arduino — nie. Dla takich zastosowań dostępne są obudowy o klasie szczelności IP dla Arduino. Alternatywnie poprowadź przewody od zewnętrznego kontrolera do czujnika wilgotności zamontowanego wewnątrz, gdzie odczytywana jest temperatura i wilgotność.

Krok 1: Arduino do przekaźnika
- Arduino (Pin 7) do Przekaźnik (IN1)
- Arduino (Pin 8) do Przekaźnik (IN2)
- Arduino (5V) do Przekaźnik (VCC)
- Arduino (GND) do Przekaźnik (GND)
Krok 2: Czujnik temperatury i wilgotności do Arduino
- Sensor (+) do Arduino (5V)
- Sensor (-) do Arduino (GND)
- Sensor (OUT) do Arduino (Pin 2)
Krok 3: Przekaźnik do zasilacza
- Relay (NO2) do Power Supply (-12VDC/GND)
- Relay (NC2) do Power Supply (+12VDC)
- Relay (NC1) do Relay (NC2)
- Relay (NO1) do Relay (NO2)
Krok 4: Siłownik do przekaźnika
- Siłownik (plus) do Relay (COM1)
- Siłownik (minus) do Relay (COM2)

Programowanie Arduino
Aby użyć czujnika temperatury z siłownikiem, pobierz bibliotekę DHT w środowisku Arduino IDE. Ta biblioteka umożliwi użycie krótkich komend do odczytu wilgotności lub temperatury. Po pobraniu biblioteki DHT dodaj do nowego projektu następujący kod: Temperature and Humidity Controlled Linear Actuator Code.
Wszystko przed pętlą void setup() konfiguruje piny na podstawie Twojego okablowania i zawiera konfigurację biblioteki DHT. Jeśli zdecydujesz się użyć innego modelu Arduino, dopasuj numery pinów w kodzie. Ponadto możesz ustawić wartości temperatur, przy których siłownik powinien otwierać lub zamykać (open_door_temp i close_door_temp). Na początku ustaw wartości bliżej temperatury pokojowej, aby przetestować działanie kodu za pomocą suszarki do włosów lub innego źródła ciepła, by osiągnąć temperaturę aktywacji.
Pętla void setup() ustawia konfigurację przekaźników jako wyjścia i zapewnia, że są one nieaktywne po pierwszym włączeniu zasilania. Monitor portu szeregowego jest również zainicjalizowany, zakładając, że Arduino jest podłączone przez USB do laptopa/komputera stacjonarnego do wstępnych testów.
Główna pętla kodu pobiera odczyty z czujnika za pomocą poleceń dht.readHumidity(), dht.readTemperature() oraz dht.readTemperature(true) i zapisuje te wartości w zmiennych typu float do dalszych konwersji. Wartości są konwertowane na Celsjusza i Fahrenheita i wypisywane w Serial Monitor Arduino.
Na koniec te odczyty są porównywane z progowymi wartościami temperatury, aby określić, czy siłownik liniowy powinien się otworzyć czy zamknąć. Przekaźniki są odpowiednio ustawiane w stan wysoki, w przeciwnym razie siłownik pozostaje nieruchomy, a Arduino nadal monitoruje odczyty temperatury i wilgotności.
Podsumowanie
Użycie czujnika temperatury z siłownikiem to świetny sposób na naukę programowania Arduino i bardzo przydatne rozszerzenie aplikacji. Możesz też znaleźć wiele innych zastosowań poza akwaponiką i hydroponiką, do których warto dodać ten czujnik! Choć pokazaliśmy, jak sterować siłownikiem liniowym 12 VDC, nic nie stoi na przeszkodzie, by w bardziej wymagających projektach zastosować przemysłowy, wysokiej mocy siłownik liniowy — upewnij się tylko, że zasilacz jest dopasowany do siłownika.
Jeśli masz jakiekolwiek pytania lub komentarze dotyczące tego artykułu lub któregokolwiek z naszych produktów, nie wahaj się skontaktować z nami!