Mündəricat:

Arduino Masa Fan İdarəçisi: 4 addım
Arduino Masa Fan İdarəçisi: 4 addım

Video: Arduino Masa Fan İdarəçisi: 4 addım

Video: Arduino Masa Fan İdarəçisi: 4 addım
Video: Web Programming - Computer Science for Business Leaders 2016 2024, Noyabr
Anonim
Arduino Masa Fan İdarəçisi
Arduino Masa Fan İdarəçisi
Arduino Masa Fan İdarəçisi
Arduino Masa Fan İdarəçisi
Arduino Masa Fan İdarəçisi
Arduino Masa Fan İdarəçisi

Bu yaxınlarda şirkətdəki rollarımı dəyişəndə Bradford -dan Wakefield -dəki baş ofisimizə keçərək saytları köçürdüm. Sadiq köhnə masamla vidalaşdım, ətrafımda sərinləmək üçün masa fanatı olmalıdır. Hər halda, əsas ofisimizdəki tendensiya 4 "ilə 6" arasında olan USB ilə işləyən kiçik fanatlar üçün idi. Beləliklə, gözəl bir antik pirinç effekti 6 "modeli dərhal sifariş edildi və ertəsi gün çatdırıldı.

Sürət parametrləri və ya mexaniki salınım rejimləri olsun, bütün azarkeşlərin problemi ya açıq, ya da söndürülməsidir və siz onları hər zaman yandırıb söndürürsünüz. Xəyal qığılcımı, monitörümü yaxşı bir 3 yüksəltmə tələbi ilə birlikdə və növbəti layihəm dünyaya gəlir. Fanomatic -ə daxil olun.

Uzun illər Arduino ilə oynadım, buna görə məntiqi ilk dayanacaq idi.

Addım 1: Alış -veriş siyahısı və Case

Alış -veriş siyahısı və qutu
Alış -veriş siyahısı və qutu
Alış -veriş siyahısı və qutu
Alış -veriş siyahısı və qutu
Alış -veriş siyahısı və qutu
Alış -veriş siyahısı və qutu

Alış-veriş siyahısı:

  • 1 təbəqə 12 mm MDF - kassa üçün
  • 1 Arduino Uno - beyinlər
  • 1 sm çörək taxtası və tellər
  • 1 DHT11 - rəqəmsal temperatur və rütubət sensoru - yalnız nümunə temperaturu üçün
  • 1. 96 "OLED ekran - dəyişənləri göstərmək üçün - sürət, temperatur və s
  • 1 IRF520 Mosfet modulu - fan üçün USB gücünü açmaq və söndürmək üçün
  • Fərqli rəngli düymələri olan 4 ədəd 10k potensiometr - fan sürətini, vaxtında, sönmə vaxtını və temperaturu təyin etmək üçün
  • 1 güc açarı
  • 1 sml qalay lövhə boyası - 1 qat MDF üçün uyğundur
  • 1 usb kabel və 1 usb soket

Dava:

Korpusun ölçüsü 24 düymlük monitörümün və 220 mm genişliyində və son hündürlüyündə 4 portlu KVM açarının ölçüsünə görə tənzimlənirdi. Dərinliyim olduqca elastik idi, buna görə də bolluq vermək üçün 180 mm getdim. 220 sm x 180 mm x 60 mm ölçüdə idi. İndi düzəltmək və doldurmaq.

12 mm -lik MDF, işçi baza və cəbhə yaratmaq üçün yapışqan və vintdən əvvəl evdə olduqca asanlıqla kəsilmişdir. Ardından Arduino və fan gücünü idarə edəcək 4 ədəd 10k Potensiometr və 1 üst açma/söndürmə açarına uyğun olaraq ön tərəf qazıldı. Kiçik bir hisə verilmiş boz akril paneli tutmaq üçün düzbucaqlı bir çuxur kəsildi, bunun arxasında o sevimli OLED ekranlardan birini bağlamağı planlaşdırdım. Yarım yolda, 12 mm MDF əvəzinə, ön tərəf üçün 3 mm təbəqə götürsəydim, qalan ağacdan daha çox ağac çıxardı.

Arxa və yan hissələrdə temperatur sensoru, usb yuvası və usb girişi üçün deliklər qazılaraq kəsildikdən sonra bir neçə qat lövhə boyası tətbiq olundu. MDF üçün əla bir boyadır, çünki yaxşı hopur və alt paltarına ehtiyac yoxdur. Çox bağışlanmaz mat bir nəticə verir, axtardığım şey.

Qablar və açarlar bərkidilmiş, hisə verilmiş akril yapışdırılmış və bu retro görünüş üçün Dyno etiketləri istehsal edilmişdir.

Nəzarətçilərin yanında…

Addım 2: Nəzarətlər

Nəzarətlər
Nəzarətlər

Hamısı bir Arduino Uno ətrafında qurulmuşdur. Çörəyi komponentlərə mindirdim və bir eskiz üzərində başladım.

Eskiz 3 kitabxanadan istifadə edir:

  • Fanı yandırmaq üçün irf520 mosfetini idarə etmək üçün.
  • OLED ekranı idarə etmək üçün biri
  • DHT11 -dən temperatur məlumatlarını oxumaq və tərcümə etmək

Eskizi bir az sonra səliqəyə saldıqdan sonra buraya daxil edəcəyəm, amma xəbərdar olun, mən kodlayıcı deyiləm, yaxşı kodlaşdırma prinsiplərini başa düşürəm, amma tənbəl kodlayıcı olmağa meylliyəm. Bir şeyin ətrafında bir yol tapa bilirəmsə və işləyirsə, o da işləyir.

Hər birindən necə istifadə ediləcəyini izah edən bəzi əla saytlar var …. və hər birindən ən yaxşı şəkildə istifadə etmək üçün ən yaxşı saytlara bağlantılar daxil edəcək.

Məntiq:

Tək bir usb kabeli Arduino VƏ USB fanına enerji verir. Arduino fanatı işə sala bilməz, çünki çəkdiyi cərəyan Arduinoya ziyan vuracaq (əslində bir az dramatikdir! Təyyarədəki qoruyucunu açacaq). Buna görə Arduinonun gücünü fana açmaq və ya söndürmək üçün bir yol tapmalıyıq.

Bir tranzistor tələb olunur, əvvəlcə Darlington tranzistoru sifariş verdim, amma oxuduqdan sonra HobbyComponents.com -dan irf520 MOSFET sürücü modulunu aldım. Geek Alert !! IRF520 məntiqi səviyyəli keçid üçün əladır (Arduino sancaqlarından çıxış). Cihaza göndərilən gərginlik MOSFET, I. E. -nin müqavimətini təyin edir. rəqəmsal bir pinə 255 -ə 0 göndərmək fanı (və ya bağlı olan digər cihazı) tam sürətlə söndürəcək.

Daha sonra 0 -dan 255 -ə qayıdacağıq.

Beləliklə, bir Arduino ilə bir fan yandırırıq, niyə narahat olursunuz? Yaxşı, çox soyuq olanda baş verməsini istəmirik, elə deyilmi? Buna görə bir temperatur sensoru əlavə etsək, kod yaza bilərik və isti olub olmadığını yoxlaya bilərik (255) və ya söndürə bilərik (0). DHT11 -ə getdim, çünki kir ucuz, kodu asan və bu layihə üçün kifayət qədər dəqiqdir.

Qayıdaq 0 -dan 255 -ə qədər iş. Bir az kodun, temperatur yüksək olarsa, fanı (255) açacağını, temperaturun aşağı olması halında söndürəcəyini (0), 0 ilə 255 arasında bir dəyərimiz olsaydı, müqavimət yüksələcək və ya düşəcək MOSFET və fanı sürətləndirin və ya yavaşlatın.

Analog pinlə əlaqəli bir potensiometr daxil edin! Döndükdə 0 ilə 1023 arasında bir dəyər yaradır. Bu dəyər daha sonra fan sürətini dəyişdirmək üçün kodda yoxlanıla bilər !! yeeeeeee.

Son bir şey var (yaxşı, bir cüt). MOSFET sürücüsünü idarə etmək üçün istifadə edəcəyimiz motor idarə kitabxanası, biri müqavimət (sürət üçün), digəri müddəti təyin etmək üçün 2 parametri qəbul edir. Beləliklə, bu sehrli parametrlə fanın nə qədər işlədiyini və söndürüldükdə fanın nə qədər müddətini təyin edə bilərik.

Beləliklə, 4 dəyişəni idarə etmək üçün 4 qabımız var. Sonra ekrana baxacağıq.

Addım 3: Ekran

Ekran
Ekran
Ekran
Ekran

Bunun bir ekrana ehtiyacı varmı? Həqiqətən deyil. Bəs onda niyə var? Yaxşı bir ekranda cari temperaturu, fan sürətini, fanı vaxtında, fan sönmə vaxtını və temperatur təyin nöqtəsini göstərmək istədiyim üçün.

U8G kitabxanası, bu kiçik OLED ekranı idarə etməkdə çox zəhmlidir. Bir araşdırma gecəsi oldu və 5 sətirdə istədiyim yazı tipi ölçüsünü əldə etmək və u8g.print () əmrlərindən istifadə edərək dəyişənlərin göstərilməsini təmin etmək üçün başımı əmrlərə çevirdim. Bu ekranın üstünlüyü, Arduino cəmiyyətinin çox istifadə etdiyi 2 və ya 4 'sıra' bir ekran olmamasıdır, buna görə də qrafiklər, şriftlər çox əlverişlidir.

Düzünü desəm, kodun çoxu ekranı idarə edir. ifadələr göstəriləcək dəyərləri təyin edərsə, E. G. analoq qablardan (0 -dan 1023 -ə qədər) bir dəyəri ekranda göstərmək üçün bir dəyərə çevirin. Ümumilikdə, bir neçə ifadə bloku var, qazanın fan sürətini təyin edin, fan üçün % dəyərinə və fan idarə etmək üçün 0 ilə 255 arasındakı dəyərə çevirin.

Yaxşı, millət bunu indiyə qədər edəcək. Ümid edirəm bu ilk hissədən zövq alacaqsınız. Bağlantılar və kodla düzəliş edəcəyəm və yeniləyəcəyəm. Ətraflı öyrənmək istədiyiniz bir şey varsa, şərh yazın və soruşun.

Addım 4: Kod

3 il əvvəl bunu yazanda eskizi yükləyəcəyimə söz vermişəm və heç etməmişəm.

Deməli burada ……

Tövsiyə: