Spisu treści:

Kontroler wentylatora biurkowego Arduino: 4 kroki
Kontroler wentylatora biurkowego Arduino: 4 kroki

Wideo: Kontroler wentylatora biurkowego Arduino: 4 kroki

Wideo: Kontroler wentylatora biurkowego Arduino: 4 kroki
Wideo: ЧИТЕРСКИЙ ВЕНТИЛЯТОР - 140 мм с креплением как у 120 мм вентилятора - ID-COOLING NO-14025K #shorts 2024, Listopad
Anonim
Kontroler wentylatora biurkowego Arduino
Kontroler wentylatora biurkowego Arduino
Kontroler wentylatora biurkowego Arduino
Kontroler wentylatora biurkowego Arduino
Kontroler wentylatora biurkowego Arduino
Kontroler wentylatora biurkowego Arduino

Kiedy ostatnio zmieniłem role w firmie, przeniosłem się z Bradford do naszej siedziby w Wakefield. Pożegnałem się z moim starym, wiernym biurkiem z wentylatorem na biurko, który zapewnia mi chłód, gdy jestem dookoła……. W każdym razie trend w naszym głównym biurze dotyczył małych wentylatorów zasilanych przez USB o wielkości około 4" do 6". Tak więc ładny 6-calowy model z efektem antycznego mosiądzu został szybko zamówiony i dostarczony następnego dnia.

Problem ze wszystkimi wentylatorami, niezależnie od tego, czy mają ustawienia prędkości, czy mechaniczne tryby oscylacyjne, polega na tym, że są one włączone lub wyłączone, a Ty w końcu je włączasz i wyłączasz przez cały czas. Iskra wyobraźni w połączeniu z wymogiem podniesienia monitora o dobre 3 cale i rodzi się mój kolejny projekt. Wchodzi Fanomatic.

Grałem z Arduino przez wiele lat, więc był to logiczny pierwszy przystanek.

Krok 1: Lista zakupów i sprawa

Lista zakupów i sprawa
Lista zakupów i sprawa
Lista zakupów i sprawa
Lista zakupów i sprawa
Lista zakupów i sprawa
Lista zakupów i sprawa

Lista zakupów:

  • 1 arkusz MDF 12mm - do obudowy
  • 1 Arduino Uno - mózgi
  • 1 mała płytka stykowa i przewody
  • 1 DHT11 - cyfrowy czujnik temperatury i wilgotności - tylko do próbkowania temperatury
  • Wyświetlacz OLED 1,96" - do wyświetlania zmiennych - prędkości, temperatury itp
  • 1 moduł Mosfet IRF520 - do włączania i wyłączania zasilania USB wentylatora
  • 4 potencjometry 10k z różnymi kolorowymi pokrętłami - do kontroli prędkości wentylatora, czasu, czasu wyłączenia, nastawy temperatury
  • 1 wyłącznik zasilania
  • 1 sml farby do tablic cynowych - odpowiednia do płyt MDF z 1 warstwą
  • 1 kabel usb i 1 gniazdo usb;

Sprawa:

Rozmiar obudowy był zależny od rozmiaru podstawy mojego 24-calowego monitora i 4-portowego przełącznika KVM o szerokości 220 mm i ostatecznej wysokości, na jakiej chciałem ustawić monitor. Głębokość była dość elastyczna, więc wybrałem 180 mm, aby dać dużo pokój. Więc 220mmx180mmx60mm to był rozmiar. Teraz zrobić to i wypełnić.

Płyta MDF o grubości 12 mm została dość łatwo przycięta w domu, przed przyklejeniem i przykręceniem, aby utworzyć roboczą podstawę i front. Przód został następnie wywiercony, aby zmieścić 4 potencjometry 10k i 1 nad górnym włącznikiem / wyłącznikiem, który sterował zasilaniem Arduino i wentylatorem. Wykuto prostokątny otwór na mały przydymiony szary akrylowy panel, za którym planowałem zabezpieczyć jeden z tych uroczych wyświetlaczy OLED. W połowie żałuję, że nie wybrałem warstwy 3 mm na przód, zamiast 12 mm MDF, ponieważ usunięto więcej drewna niż pozostało.

Po wywierceniu i wyrzeźbieniu otworów z tyłu iz boku na czujnik temperatury, gniazdo USB i zasilanie USB. Nałożono kilka warstw farby tablicowej. To świetna farba do mdf, ponieważ dobrze wchłania się i nie wymaga podkładu. Daje bardzo bezlitosne matowe wykończenie, dokładnie to, czego szukałem.

Dołączono garnki i przełączniki, wklejono na gorąco przydymiony akryl i wyprodukowano etykiety Dyno w stylu retro.

Obok elementów sterujących…

Krok 2: Sterowanie

Sterowanie
Sterowanie

Wszystko oparte na Arduino Uno. Włożyłem na deski elementy i zacząłem szkicować.

Szkic wykorzystuje 3 biblioteki:

  • Jeden do sterowania mosfetem irf520 w celu włączenia wentylatora.
  • Jeden do sterowania wyświetlaczem OLED
  • Jeden do odczytu i tłumaczenia danych temperatury z DHT11

Wstawię ten szkic później, kiedy już trochę go posprzątam, ale ostrzegam, NIE jestem koderem, rozumiem dobre zasady kodowania, ale zwykle jestem leniwym koderem. Jeśli uda mi się coś obejść i to działa, to działa.

Istnieje kilka świetnych witryn wyjaśniających, jak korzystać z każdego z nich…. i będzie zawierać linki do najlepszych (moim zdaniem) witryn, aby jak najlepiej wykorzystać każdą z nich.

Logika:

Pojedynczy kabel USB zapewnia zasilanie Arduino i wentylatora USB. Arduino nie może uruchomić wentylatora, ponieważ prąd, który ciągnie, mógłby uszkodzić Arduino (właściwie trochę dramatycznie! spowodowałby wyzwolenie wbudowanego bezpiecznika). Musimy więc znaleźć sposób na wykorzystanie Arduino do włączania lub wyłączania zasilania wentylatora.

Wymagany jest tranzystor, najpierw zamówiłem tranzystor Darlingtona, ale po przeczytaniu wybrałem moduł sterownika MOSFET irf520 z HobbyComponents.com. Alert geeka!! IRF520 doskonale nadaje się do przełączania poziomów logicznych (wyjście z pinów Arduino). Napięcie wysyłane do urządzenia określa rezystancję tranzystora MOSFET, tj. wysłanie od 0 do 255 do pinu cyfrowego spowoduje wyłączenie wentylatora (lub innego podłączonego urządzenia) do pełnej prędkości.

Wrócimy do 0 do 255 później.

Więc włączamy wentylator za pomocą Arduino, po co się męczyć? Cóż, nie chcemy, żeby włączał się, gdy jest za zimno, prawda? Jeśli więc dodamy czujnik temperatury, możemy napisać kod i przetestować, czy jest gorąco i włączyć wentylator (255) lub wyłączyć (0). Wybrałem DHT11, ponieważ jest tani, łatwy do zakodowania i wystarczająco dokładny dla tego projektu.

Wracając do tego biznesu od 0 do 255. Jeśli wiemy, że fragment kodu włączy wentylator (255), jeśli temperatura jest wysoka, lub wyłączy (0), jeśli temperatura jest niska, gdybyśmy mieli wartość między 0 a 255, opór wzrósłby lub spadłby w poprzek MOSFET i przyspieszaj lub spowalniaj wentylator.

Wprowadź potencjometr podłączony do pinu analogowego! Po włączeniu generuje wartość z zakresu od 0 do 1023. Wartość tę można następnie przetestować w kodzie, aby zmienić prędkość wentylatora!! taaaaaaaaaaaaaaaaaaaaaaaaaaaa

Jest jeszcze jedna rzecz (no, para). Biblioteka sterowania silnikiem, której użyjemy do sterowania sterownikiem MOSFET, akceptuje 2 parametry, jeden do ustawienia rezystancji (dla prędkości), a drugi do ustawienia czasu trwania. Tak więc za pomocą tego magicznego parametru możemy ustawić, jak długo wentylator jest włączony i jak długo wentylator jest wyłączony.

Mamy więc 4 pule do kontrolowania 4 zmiennych. Następnie przyjrzymy się wyświetlaczowi.

Krok 3: Wyświetlacz

Wyświetlacz
Wyświetlacz
Wyświetlacz
Wyświetlacz

Czy POTRZEBUJESZ wyświetlacza? Nie bardzo. Więc dlaczego ma jeden? Cóż, ponieważ chciałem mieć ładny wyświetlacz, który pokazywałby aktualną temperaturę, prędkość wentylatora, czas włączenia wentylatora, czas wyłączenia wentylatora i nastawę temperatury.

Biblioteka U8G jest genialna w prowadzeniu tego małego wyświetlacza OLED. Zajęło mi to wieczór badań i zastanowiłem się nad poleceniami, aby uzyskać żądany rozmiar czcionki dla 5 wierszy i uzyskać zmienne do wyświetlenia za pomocą poleceń u8g.print(). Zaletą tego wyświetlacza jest to, że nie jest to 2- lub 4-wierszowy wyświetlacz, do którego społeczność Arduino jest tak przyzwyczajona, więc grafika i czcionki są bardzo wykonalne.

Szczerze mówiąc, większość kodu steruje wyświetlaczem. jeśli oświadczenia określają wartości, które mają być wyświetlane, Np. przekonwertować wartość z potencjometrów analogowych (0 do 1023) na wartość wyświetlaną na ekranie. W sumie istnieje kilka zestawów bloków instrukcji, określających prędkość wentylatora z potencjometru, konwertujących na wartość % dla ekranu i wartość od 0 do 255, aby sterować wentylatorem.

Cóż, na razie wystarczy. Mam nadzieję, że ta pierwsza odsłona przypadnie Wam do gustu. Edytuję i zaktualizuję linki i kod. Jeśli jest coś, co chcesz szczegółowo opisać, zostaw komentarz i zapytaj.

Krok 4: Kod

Obiecałem przesłać szkic, kiedy to opublikowałem, 3 lata temu, i nigdy tego nie zrobiłem.

Więc oto jest……

Zalecana: