Arduino namizni krmilnik ventilatorja: 4 koraki
Arduino namizni krmilnik ventilatorja: 4 koraki
Anonim
Arduino namizni krmilnik ventilatorjev
Arduino namizni krmilnik ventilatorjev
Arduino namizni krmilnik ventilatorjev
Arduino namizni krmilnik ventilatorjev
Arduino namizni krmilnik ventilatorjev
Arduino namizni krmilnik ventilatorjev

Ko sem pred kratkim zamenjal vloge v podjetju, sem sel iz Bradforda v naš sedež v Wakefieldu. Poslovila sem se od svoje zveste stare pisalne mize z ventilatorjem za mizo, ki me je ohladila, medtem ko je povsod okoli mene ……. Kakorkoli že, trend v naši glavni pisarni je bil za majhne ventilatorje, ki jih poganja USB, približno 4 "do 6". Tako je bil lep starinski model iz medenine z diagonalo 6 palcev hitro naročen in dostavljen naslednji dan.

Težava pri vseh ventilatorjih, ne glede na to, ali imajo nastavitve hitrosti ali mehanske načine nihanja, je, da so vklopljeni ali izklopljeni, vi pa jih na koncu ves čas vklapljate in izklapljate. Iskra domišljije, skupaj z zahtevo, da dvignem monitor za dobre 3 , in rodil se je moj naslednji projekt. Vnesite Fanomatic.

Z Arduinom sem igral že vrsto let, zato je bila to logična prva postaja.

1. korak: Nakupovalni seznam in etui

Nakupovalni seznam in etui
Nakupovalni seznam in etui
Nakupovalni seznam in etui
Nakupovalni seznam in etui
Nakupovalni seznam in etui
Nakupovalni seznam in etui

Nakupovalni seznam:

  • 1 list 12 mm MDF - za ohišje
  • 1 Arduino Uno - možgani
  • 1 sml plošča in žice
  • 1 DHT11 - digitalni senzor temperature in vlažnosti - samo za temperaturo vzorca
  • 1,96 -palčni zaslon OLED - za prikaz spremenljivk - hitrosti, temperature itd
  • 1 IRF520 Mosfet modul - za vklop in izklop napajanja USB za ventilator
  • 4 10k potenciometra z gumbi različnih barv - za nadzor hitrosti ventilatorja, časa, časa izklopa, nastavljene temperature
  • 1 stikalo za vklop
  • 1 sml barva za pločevino za pločevino - primerna za MDF z 1 nanosom
  • 1 USB kabel in 1 USB vtičnica

Ovitek:

Velikost ohišja je bila odvisna od velikosti osnove 24 -palčnega monitorja in 4 -vratnega stikala KVM s širino 220 mm in končno višino, na katero sem želel nastaviti monitor. Globina je bila precej prilagodljiva, zato sem se odločil za 180 mm, da sem dal dovolj Soba. Torej je bila velikost 220mmx180mmx60mm. Zdaj jo naredite in napolnite.

12 -milimetrski MDF je bil precej enostavno razrezan doma, pred lepljenjem in vijačenjem, da tvorita delovno podlago in sprednjo stran. Sprednji del je bil nato izvrtan, da se prilega 4 10k potenciometrom in 1 nad zgornjim stikalom za vklop/izklop, ki bi nadzoroval napajanje Arduina in ventilatorja. Izrezana je bila pravokotna luknja za majhno dimljeno sivo akrilno ploščo, za katero sem nameraval pritrditi enega od tistih srčkanih zaslonov OLED. Na pol poti bi si želel, da bi se spredaj odločil za 3 mm nanos, namesto na 12 mm MDF, saj je bilo odstranjenega več lesa, kot ga je ostalo.

Ko so bile na hrbtni in stranski strani izvrtane in izklesane luknje za temperaturni senzor, vtičnico USB in vhod USB. Nanešeno je bilo nekaj slojev barve za tablo. To je odlična barva za mdf, saj se dobro vpije in ne potrebuje podlaka. Daje zelo neprizanesljivo mat površino, kar sem iskal.

Za ta retro videz so bili pritrjeni lonci in stikala, vroče zlepljeni dimljeni akril in nalepke Dyno.

Poleg kontrol …

2. korak: Nadzor

Kontrolniki
Kontrolniki

Vse temelji na Arduino Uno. Sestavil sem komponente na krovu in začel s skico.

Skica uporablja 3 knjižnice:

  • Eden za pogon MOSFET -a irf520 za vklop ventilatorja.
  • Eden za vožnjo po OLED zaslonu
  • Eden za branje in prevajanje temperaturnih podatkov iz DHT11

Skico bom tukaj vključil pozneje, ko jo bom malo pospravil, vendar vas prosim, da vas opozorim, NISEM koder, razumem dobra načela kodiranja, vendar sem ponavadi len koder. Če lahko najdem pot okoli nečesa in deluje, potem deluje.

Obstaja nekaj odličnih spletnih mest, ki razlagajo, kako uporabiti vsako od njih … in bo vseboval povezave do najboljših (po mojem mnenju) spletnih mest, da iz vsakega dobite najboljše.

Logika:

En sam USB kabel napaja Arduino IN ventilator USB. Arduino ne more zagnati ventilatorja, saj bi tok, ki ga potegne, poškodoval Arduino (pravzaprav nekoliko dramatično! Izklopil bi varovalko na vozilu). Zato moramo najti način, kako z Arduinom vklopiti ali izklopiti ventilator.

Potreben je tranzistor, najprej sem naročil Darlingtonov tranzistor, po branju pa sem se odločil za gonilniški modul MOSFET irf520 s spletnega mesta HobbyComponents.com. Geek Alert !! IRF520 je odličen za preklapljanje logične ravni (izhod iz zatičev Arduino). Napetost, poslana na napravo, določa upor MOSFET -a, tj. pošiljanje 0 do 255 na digitalni pin bo ventilator (ali drugo priključeno napravo) preklopilo iz polne hitrosti.

Vrnili se bomo od 0 do 255 pozneje.

Torej vklopimo ventilator z Arduinom, zakaj bi se trudili? No, nočemo, da pride, ko bo prehladno, kajne? Če torej dodamo temperaturni senzor, lahko napišemo kodo in preizkusimo, ali je vroče, in vklopimo ventilator (255) ali izklopimo (0). Odločil sem se za DHT11, saj je poceni, enostaven za kodiranje in dovolj natančen za ta projekt.

Nazaj na tisto podjetje od 0 do 255. Če vemo, da bo koda vklopila ventilator (255), če je temperatura visoka, ali izklopila (0), če je temperatura nizka, če bi imeli vrednost med 0 in 255, bi se upor dvignil ali padel čez MOSFET in pospešite ali upočasnite ventilator.

Vnesite potenciometer, priključen na analogni pin! Ko je obrnjen, ustvari vrednost med 0 in 1023. To vrednost lahko nato preizkusite v kodi za spremembo hitrosti ventilatorja !! yipeeeee.

Še nekaj (no, par). Knjižnica krmiljenja motorja, ki jo bomo uporabili za pogon gonilnika MOSFET, sprejema 2 parametra, enega za nastavitev upora (za hitrost) in drugega za nastavitev trajanja. Tako lahko s tem čarobnim parametrom nastavimo, kako dolgo je ventilator vklopljen in kako dolgo je ventilator izklopljen.

Torej imamo 4 lončke za nadzor 4 spremenljivk. Nato si oglejmo zaslon.

3. korak: Zaslon

Zaslon
Zaslon
Zaslon
Zaslon

ALI POTREBUJE zaslon? Res ne. Zakaj ga torej ima? No, ker sem želel srčkan zaslon, ki prikazuje trenutno temperaturo, hitrost ventilatorja, čas delovanja ventilatorja, čas izklopa ventilatorja in nastavljeno temperaturo.

Knjižnica U8G odlično upravlja ta majhen zaslon OLED. Trajal je večer raziskovanja in premišljeval sem o ukazih, da sem dobil želeno velikost pisave za 5 vrstic in da so spremenljivke prikazane z ukazi u8g.print (). Prednost tega zaslona je, da to ni 2 ali 4 'vrstni' zaslon, na katerega je skupnost Arduino tako vajena, zato so vse grafike in pisave zelo izvedljive.

Če sem iskren, večina kode poganja zaslon. če izjave določajo vrednosti za prikaz, npr. pretvorite vrednost iz analognih loncev (0 do 1023) v vrednost za prikaz na zaslonu. Skupaj obstaja več sklopov blokov izjav, ki določajo hitrost ventilatorja iz lonca, pretvorijo v % vrednost zaslona in vrednost med 0 in 255 za pogon ventilatorja.

No, to bo zaenkrat dovolj. Upam, da boste uživali v tem prvem obroku. Urejal bom in posodabljal s povezavami in kodo. Če bi želeli kaj podrobnosti, pustite komentar in vprašajte.

4. korak: Koda

Obljubil sem, da bom skico naložil, ko sem to objavil, pred tremi leti, in nikoli nisem.

Torej tukaj je ……