Satura rādītājs:

Arduino galda ventilatora kontrolieris: 4 soļi
Arduino galda ventilatora kontrolieris: 4 soļi

Video: Arduino galda ventilatora kontrolieris: 4 soļi

Video: Arduino galda ventilatora kontrolieris: 4 soļi
Video: How to use W1209 Temperature relay controller and program the thermostat 2024, Novembris
Anonim
Arduino galda ventilatora kontrolieris
Arduino galda ventilatora kontrolieris
Arduino galda ventilatora kontrolieris
Arduino galda ventilatora kontrolieris
Arduino galda ventilatora kontrolieris
Arduino galda ventilatora kontrolieris

Kad nesen mainīju lomas uzņēmumā, es pārvietoju vietnes, pārceļoties no Bredfordas uz mūsu galveno biroju Veikfīldā. Es atvadījos no sava uzticīgā vecā rakstāmgalda ar obligātu galda ventilatoru, lai es būtu vēss, atrodoties visapkārt ……. Jebkurā gadījumā mūsu galvenajā birojā tendence bija maziem ventilatoriem, kas darbojas ar USB, aptuveni 4 "līdz 6". Tātad jauks antīks misiņa efekta 6 collu modelis tika ātri pasūtīts un piegādāts nākamajā dienā.

Visu ventilatoru problēma, neatkarīgi no tā, vai tiem ir ātruma iestatījumi vai mehāniskie svārstību režīmi, ir ieslēgta vai izslēgta, un jūs galu galā tos ieslēdzat un izslēdzat. Iedvesmas dzirksts apvienojumā ar prasību pacelt monitoru par 3 , un mans nākamais projekts ir dzimis. Ievadiet Fanomatic.

Es daudzus gadus spēlēju ar Arduino, tāpēc tā bija loģiska pirmā pietura.

1. darbība. Iepirkumu saraksts un futrālis

Iepirkumu saraksts un futrālis
Iepirkumu saraksts un futrālis
Iepirkumu saraksts un futrālis
Iepirkumu saraksts un futrālis
Iepirkumu saraksts un futrālis
Iepirkumu saraksts un futrālis

Iepirkumu saraksts:

  • 1 loksne no 12 mm MDF - korpusam
  • 1 Arduino Uno - smadzenes
  • 1 sml maizes dēlis un vadi
  • 1 DHT11 - digitālais temperatūras un mitruma sensors - tikai parauga temperatūrai
  • 1,96 "OLED displejs - lai parādītu mainīgos - ātrumu, temperatūru utt
  • 1 IRF520 Mosfet modulis - lai ieslēgtu un izslēgtu ventilatora USB barošanu
  • 4 10k potenciometri ar dažādu krāsu pogām - lai kontrolētu ventilatora ātrumu, laiku, izslēgšanas laiku, temperatūras iestatīto punktu
  • 1 barošanas slēdzis
  • 1 sml alvas tāfeles krāsa - piemērota MDF ar 1 kārtu
  • 1 usb kabelis un 1 usb ligzda

Lieta:

Korpusa izmēru noteica mana 24 collu monitora pamatnes izmērs un 4 portu KVM slēdža pie 220 mm platuma un gala augstums, kuru es vēlējos iestatīt. Dziļums bija diezgan elastīgs, tāpēc es devos uz 180 mm, lai sniegtu daudz Tātad 220 mm x 180 mm x 60 mm bija izmērs. Tagad, lai to pagatavotu un aizpildītu.

12 mm MDF tika sagriezts mājās diezgan viegli, pirms līmes un skrūves, lai izveidotu darba pamatni un priekšpusi. Pēc tam priekšpusē tika urbti 4 10k potenciometri un 1 virs augšējā ieslēgšanas/izslēgšanas slēdža, kas kontrolētu Arduino un ventilatora jaudu. Tika izgriezts taisnstūrveida caurums, lai turētu nelielu kūpinātu pelēku akrila paneli, aiz kura es plānoju nostiprināt vienu no šiem jaukajiem OLED displejiem. Pusceļā es vēlos, lai priekšpusē es būtu izvēlējies 3 mm slāni, nevis 12 mm MDF, jo tika noņemts vairāk koksnes nekā palicis.

Kad aizmugurē un sānos bija izurbti un izgriezti caurumi temperatūras sensoram, USB ligzdai un USB barošanai. Tika uzklātas pāris tāfeles krāsas kārtas. Tā ir lieliska krāsa mdf, jo tā labi iesūcas un tai nav nepieciešama pavilna. Tas dod ļoti nepiedodamu matētu apdari, tieši to, ko es meklēju.

Tika pievienoti katli un slēdži, karsti pielīmēts kūpināts akrils un izgatavotas Dyno etiķetes šim retro izskatam.

Blakus vadības elementiem…

2. darbība. Kontrole

Kontrole
Kontrole

Viss balstīts uz Arduino Uno. Es maizi iekāpju komponentos un sāku ar skici.

Skicē tiek izmantotas 3 bibliotēkas:

  • Viens, lai vadītu irf520 mosfet, lai ieslēgtu ventilatoru.
  • Viens, lai vadītu OLED displeju
  • Viens, lai nolasītu un tulkotu temperatūras datus no DHT11

Es ieskicēšu skici šeit vēlāk, kad esmu to mazliet sakārtojis, bet, lūdzu, brīdiniet, es NAV kodētājs, es saprotu labus kodēšanas principus, bet mēdzu būt slinks kodētājs. Ja es varu atrast veidu, kā kaut ko apiet, un tas darbojas, tad tas darbojas.

Tur ir dažas lieliskas vietnes, kurās paskaidrots, kā tās izmantot…. un tajā tiks iekļautas saites uz labākajām (manuprāt) vietnēm, lai gūtu vislabāko no katras.

Loģika:

Viens USB kabelis nodrošina strāvu Arduino UN USB ventilatoram. Arduino nevar iedarbināt ventilatoru, jo tā izvilktā strāva sabojātu Arduino (patiesībā mazliet dramatiski! Tas atvienotu borta drošinātāju). Tāpēc mums jāatrod veids, kā izmantot Arduino, lai ieslēgtu vai izslēgtu ventilatoru.

Nepieciešams tranzistors, es vispirms pasūtīju Darlingtonas tranzistoru, bet pēc nolasīšanas samīļoju irf520 MOSFET draivera moduli no HobbyComponents.com. Geek brīdinājums !! IRF520 ir lieliski piemērots loģiskā līmeņa pārslēgšanai (izeja no Arduino tapām). Uz ierīci nosūtītais spriegums nosaka MOSFET pretestību, t.i. nosūtot no 0 līdz 255 uz ciparu tapu, ventilators (vai cita pievienotā ierīce) tiks izslēgts līdz pilnam ātrumam.

Mēs atgriezīsimies pie 0 līdz 255 vēlāk.

Tātad mēs ieslēdzam ventilatoru ar Arduino, kāpēc uztraukties? Mēs taču nevēlamies, lai tas iedegtos, kad ir pārāk auksts, vai ne? Tātad, ja mēs pievienojam temperatūras sensoru, mēs varam uzrakstīt kodu un pārbaudīt, vai tas ir karsts, un ieslēgt ventilatoru (255) vai izslēgt (0). Es izvēlējos DHT11, jo tas ir neticami lēts, viegli kodējams un pietiekami precīzs šim projektam.

Atpakaļ pie šī biznesa no 0 līdz 255. Ja mēs zinām, ka nedaudz koda ieslēgs ventilatoru (255), ja temperatūra ir augsta, vai izslēgsies (0), ja temperatūra būs zema, ja mūsu vērtība būtu no 0 līdz 255, pretestība pieaugtu vai nokristu visā MOSFET un paātriniet vai palēniniet ventilatoru.

Ievadiet potenciometru, kas savienots ar analogo tapu! Pagriežot, tiek ģenerēta vērtība no 0 līdz 1023. Šo vērtību var pārbaudīt ar kodu, lai mainītu ventilatora ātrumu! yipeeeee.

Ir viena pēdējā lieta (labi, pāris). Motora vadības bibliotēka, kuru mēs izmantosim, lai vadītu MOSFET draiveri, pieņem 2 parametrus, vienu, lai iestatītu pretestību (ātrumam) un otru, lai iestatītu ilgumu. Tātad, izmantojot šo maģisko parametru, mēs varam iestatīt, cik ilgi ventilators ir ieslēgts un cik ilgi ventilators ir izslēgts.

Tātad, mums ir 4 podi, lai kontrolētu 4 mainīgos. Tālāk mēs apskatīsim displeju.

3. darbība: displejs

Displejs
Displejs
Displejs
Displejs

Vai tam ir nepieciešams displejs? Ne īsti. Tad kāpēc tam tāds ir? Tā kā es gribēju gudru displeju, kas parādītu pašreizējo temperatūru, ventilatora ātrumu, ventilatora laiku, ventilatora izslēgšanas laiku un temperatūras iestatīto punktu.

U8G bibliotēka lieliski pārvalda šo mazo OLED displeju. Pagāja izpētes vakars, un es saņēmu galvu ap komandām, lai iegūtu 5 rindu vēlamo fonta lielumu un parādītu mainīgos, izmantojot komandas u8g.print (). Šī displeja priekšrocība ir tā, ka tas nav divu vai četru rindu displejs, ar kuru Arduino kopiena ir tik ļoti pieradusi, tāpēc grafika un fonti ir ļoti izpildāmi.

Godīgi sakot, lielākā daļa koda vada displeju. ja paziņojumi nosaka parādāmās vērtības, piemēram, konvertējiet vērtību no analogiem podiem (no 0 līdz 1023) par vērtību, kas jāparāda ekrānā. Kopumā ir vairāki paziņojumu bloku komplekti, nosakiet ventilatora ātrumu no katla, konvertējiet uz % ekrāna vērtību un vērtību no 0 līdz 255, lai darbinātu ventilatoru.

Nu, tas ļaudīm pagaidām derēs. Es ceru, ka jums patiks šī pirmā daļa. Rediģēšu un atjaunināšu ar saitēm un kodu. Ja vēlaties kaut ko sīkāk aprakstīt, lūdzu, atstājiet komentāru un jautājiet.

4. solis: kods

Es apsolīju augšupielādēt skici, kad to ievietoju pirms 3 gadiem, un nekad to nedarīju.

Tātad šeit tas ir ……

Ieteicams: