İçindekiler:

Arduino Masa Fan Kontrolörü: 4 Adım
Arduino Masa Fan Kontrolörü: 4 Adım

Video: Arduino Masa Fan Kontrolörü: 4 Adım

Video: Arduino Masa Fan Kontrolörü: 4 Adım
Video: AKILLI FAN (ARDUİNO) - DIY 2024, Kasım
Anonim
Arduino Masa Fan Kontrolörü
Arduino Masa Fan Kontrolörü
Arduino Masa Fan Kontrolörü
Arduino Masa Fan Kontrolörü
Arduino Masa Fan Kontrolörü
Arduino Masa Fan Kontrolörü

Yakın zamanda şirket içindeki rolleri değiştirdiğimde, Bradford'dan Wakefield'deki merkez ofisimize taşınarak siteleri taşıdım. Etrafımdayken beni serinletmek için mutlaka masa fanı olan sadık eski masama veda ettim……. Her neyse, ana ofisimizdeki trend, USB ile çalışan küçük fanlar için 4" ila 6" arasındaydı. Böylece güzel bir antik pirinç efektli 6" model hızlı bir şekilde sipariş edildi ve ertesi gün teslim edildi.

Hız ayarları veya mekanik salınım modları olsun, tüm fanlarla ilgili sorun, bunların açık veya kapalı olması ve sonunda onları sürekli açıp kapatmanızdır. Bir hayal gücü kıvılcımı, monitörümü iyi bir 3 büyütme gereksinimiyle birleşti ve bir sonraki projem doğdu. Fanomatic'e girin.

Arduino ile uzun yıllar oynadım, bu yüzden mantıklı ilk duraktı.

1. Adım: Alışveriş Listesi ve Vaka

Alışveriş Listesi ve Vaka
Alışveriş Listesi ve Vaka
Alışveriş Listesi ve Vaka
Alışveriş Listesi ve Vaka
Alışveriş Listesi ve Vaka
Alışveriş Listesi ve Vaka

Alışveriş listesi:

  • 1 yaprak 12 mm MDF - kasa için
  • 1 Arduino Uno - beyinler
  • 1 sml breadboard ve teller
  • 1 DHT11 - dijital sıcaklık ve nem sensörü - yalnızca numune sıcaklığı için
  • 1,96" OLED ekran - değişkenleri görüntülemek için - hız, sıcaklık vb.
  • 1 IRF520 Mosfet modülü - fan için USB gücünü açıp kapatmak için
  • Farklı renkli düğmelere sahip 4 adet 10k Potansiyometre - fan hızını, zamanında, kapalı kalma süresini, sıcaklık ayar noktasını kontrol etmek için
  • 1 güç anahtarı
  • 1 sml teneke karatahta boyası - 1 kat MDF için uygun
  • 1 usb kablosu ve 1 usb soketi

Durum:

Kasanın boyutu, 24 monitörümün tabanının boyutuna ve 220mm genişliğinde 4 port KVM anahtarına ve monitörümün ayarlanmasını istediğim son yüksekliğe göre belirlendi. Derinlik oldukça esnekti, bu yüzden bol miktarda vermek için 180mm'ye gittim. yani 220mmx180mmx60mm boyutundaydı. Şimdi onu yapmak ve doldurmak için.

12 mm MDF, bir çalışma tabanı ve ön kısım oluşturmak için yapıştırıcı ve vidadan önce evde oldukça kolay bir şekilde kesildi. Ön taraf daha sonra 4 adet 10k Potansiyometre ve 1 adet Arduino ve fana giden gücü kontrol edecek olan üst açma/kapama anahtarına uyacak şekilde delindi. Küçük bir füme gri akrilik paneli tutmak için dikdörtgen bir delik açılmıştı, bunun arkasına o sevimli OLED ekranlardan birini sabitlemeyi planlamıştım. Yarı yolda, keşke kalandan daha fazla ahşap kaldırıldığı için 12 mm MDF yerine ön taraf için 3 mm kat kullansaydım.

Sıcaklık sensörü, usb soketi ve usb güç girişi için arkada ve yanlarda delikler açıldıktan ve yontulduktan sonra birkaç kat karatahta boyası uygulandı. İyi emdiği ve astar gerektirmediği için mdf için harika bir boyadır. Tam aradığım gibi çok affetmeyen mat bir bitiş sağlıyor.

Tencereler ve anahtarlar takıldı, füme akrilik sıcak yapıştırıldı ve bu retro görünüm için Dyno etiketleri üretildi.

Kontrollerin yanında…

2. Adım: Kontroller

Kontroller
Kontroller

Hepsi bir Arduino Uno'ya dayanıyor. Bileşenleri bindirdim ve bir eskiz üzerinde bir başlangıç yaptım.

Çizim 3 kitaplık kullanır:

  • Fanı açmak için irf520 mosfet'i sürmek için bir tane.
  • OLED ekranı sürmek için bir tane
  • DHT11'den sıcaklık verilerini okumak ve çevirmek için bir tane

Krokiyi daha sonra buraya ekleyeceğim, biraz toparladıktan sonra, ama lütfen uyarın, ben bir kodlayıcı DEĞİLİM, iyi kodlama ilkelerini anlıyorum, ancak tembel bir kodlayıcı olma eğilimindeyim. Bir şeyin etrafından dolaşmanın bir yolunu bulabilirsem ve işe yararsa, o zaman işe yarar.

Her birinin nasıl kullanılacağını açıklayan harika siteler var…. ve her birinden en iyi şekilde yararlanmak için en iyi (bence) sitelere bağlantılar içerecektir.

Mantık:

Tek bir usb kablosu, Arduino'ya VE USB fanına güç sağlar. Arduino, çektiği akım Arduino'ya zarar vereceği için fanı çalıştıramaz (aslında biraz dramatik! yerleşik sigortayı açar). Bu yüzden, fanın gücünü açıp kapatmak için Arduino'yu kullanmanın bir yolunu bulmamız gerekiyor.

Bir transistör gerekli, önce bir Darlington transistör sipariş ettim, ancak okuduktan sonra HobbyComponents.com'dan bir irf520 MOSFET sürücü modülü aldım. Geek Uyarısı!! IRF520, mantık seviyesi geçişi için mükemmeldir (Arduino pinlerinden çıkış). Cihaza gönderilen voltaj MOSFET'in direncini belirler, I. E. 0'dan 255'e dijital bir pime göndermek, fanı (veya diğer bağlı aygıtı) kapalı durumdan tam hıza getirecektir.

0'dan 255'e sonra döneceğiz.

Yani bir Arduino ile bir fan açıyoruz, neden zahmete girsin? Hava çok soğukken gelmesini istemeyiz, değil mi? Yani bir sıcaklık sensörü eklersek, kod yazıp sıcak olup olmadığını test edip fanı açıp (255) veya kapatabiliriz (0). Bu proje için çok ucuz, kodlanması kolay ve yeterince doğru olduğu için bir DHT11'e gittim.

0'dan 255'e kadar olan işe geri dönelim. Bir bit kodun sıcaklık yüksekse fanı açacağını (255) veya sıcaklık düşükse kapatacağını (0) bilsek, 0 ile 255 arasında bir değerimiz olsaydı direnç yükselir veya düşer. MOSFET ve fanı hızlandırın veya yavaşlatın.

Analog pime bağlı bir potansiyometre girin! Döndüğünde 0 ile 1023 arasında bir değer üretir. Bu değer daha sonra fan hızını değiştirmek için kodda test edilebilir!! yeeeeeeee.

Son bir şey var (peki, bir çift). MOSFET sürücüsünü sürmek için kullanacağımız motor kontrol kütüphanesi, biri direnci (hız için) ve diğeri ise süreyi ayarlamak için 2 parametre kabul eder. Yani bu sihirli parametre ile fanın ne kadar süre açık, fanın ne kadar süre kapalı olacağını ayarlayabiliriz.

Yani 4 değişkeni kontrol etmek için 4 potumuz var. Sonra ekrana bakacağız.

3. Adım: Ekran

Ekran
Ekran
Ekran
Ekran

Ekrana İHTİYACI VAR MI? Tam olarak değil. Peki neden bir tane var? Çünkü o anki sıcaklığı, fan hızını, fanın açık kalma süresini, fanın kapanma zamanını ve sıcaklık ayar noktasını gösterecek şirin bir ekran istedim.

U8G kitaplığı, bu küçük OLED ekranı kullanma konusunda mükemmel. Bir akşam araştırmamı aldı ve 5 satır için istediğim yazı tipi boyutunu elde etmek ve u8g.print() komutlarını kullanarak değişkenlerin görüntülenmesini sağlamak için komutları kafamda topladım. Bu ekranın avantajı, Arduino topluluğunun alışkın olduğu 2 veya 4 'sıralı' bir ekran olmamasıdır, bu nedenle grafikler, yazı tipleri çok yapılabilir.

Dürüst olmak gerekirse, kodun çoğu ekranı kullanıyor. ifadeler görüntülenecek değerleri belirlerse, E. G. analog kaplardan (0 ila 1023) bir değeri ekranda görüntülenecek bir değere dönüştürün. Toplamda, birkaç ifade bloğu seti vardır, pottan fan hızını belirleyin, ekran için % değerine dönüştürün ve fanı sürmek için 0 ile 255 arasında bir değere dönüştürün.

Pekala, bu şimdilik idare eder millet. Umarım bu ilk bölümü beğenirsiniz. Bağlantılar ve kod ile düzenleyip güncelleyeceğim. Detayını istediğiniz bir şey varsa lütfen yorum bırakın ve sorun.

4. Adım: Kod

Bunu 3 yıl önce yayınladığımda taslağı yükleyeceğime söz vermiştim ve hiç yapmadım.

İşte burada……

Önerilen: