Projekt przedstawia urządzenie, które można wykorzystać do automatycznej wentylacji pomieszczeń o chwilowym wysokim poziomie zawilgocenia (Fig. 1). Układ mierzy temperaturę i wilgotność. Wyniki pomiarów są prezentowane na wyświetlaczu LCD. W momencie przekroczenia założonej wartości progowej wilgotności, układ uruchamia niewielki silniczek prądu stalego, który można wykorzystać do wymuszenia ruchu powietrza w przewodzie wentylacyjnym.
Sercem układu jest platforma Arduino Nano (Fig. 2). Do mikrokontrolera podłączono czujnik temperatury/wilgotności DHT11. Dane z czujnika przekazywane są do pinu D2 obsługującego przerwanie "0".
Do obsługi silnika wentylatora wykorzystany został mostek H L293D (Fig. 3). Pozwala on sterować dwoma silnikami prądu stałego o maksymalnym poborze prądu 1,2A. Sterowanie silnikiem 1 wymaga użycia trzech wejść sterujących: INPUT1, INPUT2 oraz ENABLE1. Wejścia INPUT1 i INPUT2 służą do wyboru kierunku obrotów silnika (Tab. 1). Wejście ENABLE wykorzystywane jest do regulacji prędkości obrotów.
| ENABLE | INPUT1 | INPUT2 | obroty |
|---|---|---|---|
| PWM | 1 | 0 | LEWO |
| PWM | 0 | 1 | PRAWO |
| PWM | 0 | 0 | stop |
| PWM | 1 | 1 | stop |
Do obsługi wejść mostka H wykorzystano (kolejno) piny: D7, D8 oraz umożliwiający sterowanie PWM D6 (Fig. 2). Aby silnik obracał się w prawo, na wejścia INPUT1 oraz INPUT2, zgodnie z tabelą prawdy Tab.1. należy odpowiednio podać logiczne "0" i logiczną "1". Aby silnik kręcił się w lewo, należy odpowiednio podać logiczną "1" i logiczne "0". W celu uniknięcia zakłóceń działania mikrokontrolera, zastosowano dwa osobne źródła zasilania: osobne dla: mikrokontrolera, czujnika i wyświetlacza LCD oraz osobne do obsługi silnika. Układ wymaga wspólnej masy dla obu źródeł zasilania. Napięcie zasilające silnik jest filtrowane za pomocą kondensatorów sprzęgających 100nF oraz 100uF. Napięcie zasilające układ sterowania +5V podpięto do pinu 16 mostka L293D (Fig. 2, 3). Napięcie zasilające silnik (także wynoszące 5V) podpięto do pinu 8. Maksymalne napięcie obsługi silników, które można podpiąć do zastosowanego mostka H wynosi 36V. Układ jest wyposażony w wyświetlacz LCD (16×2). Aby obniżyć liczbę połączeń pomiędzy Arduino i wyświetlaczem LCD, zastosowano konwerter I2C.
Układ w kolejnych krokach działania mikrokontrolera dokonuje pomiaru temperatury oraz wilgotności powietrza. Jeżeli wilgotność jest większa od 34%, uruchamiany jest silnik wentylatora. Prędkość obrotów jest stała i maksymalna (wartrość PWM podawana na PIN 6 jest ustawiona na 255).