Turinys:

„Arduino“stalo ventiliatoriaus valdiklis: 4 žingsniai
„Arduino“stalo ventiliatoriaus valdiklis: 4 žingsniai

Video: „Arduino“stalo ventiliatoriaus valdiklis: 4 žingsniai

Video: „Arduino“stalo ventiliatoriaus valdiklis: 4 žingsniai
Video: RAMPS 1.6 - Basics 2024, Lapkritis
Anonim
„Arduino“stalo ventiliatoriaus valdiklis
„Arduino“stalo ventiliatoriaus valdiklis
„Arduino“stalo ventiliatoriaus valdiklis
„Arduino“stalo ventiliatoriaus valdiklis
„Arduino“stalo ventiliatoriaus valdiklis
„Arduino“stalo ventiliatoriaus valdiklis

Kai neseniai pakeičiau vaidmenis įmonėje, perkėliau svetaines, persikėlęs iš Bradfordo į pagrindinę būstinę Veikfilde. Atsisveikinau su savo ištikimu senu rašomuoju stalu su būtinu ventiliatoriumi, kad galėčiau atvėsti, kai esu aplink … Šiaip ar taip, mūsų pagrindiniame biure tendencija buvo mažiems, nuo 4 iki 6 colių, USB maitinamiems gerbėjams. Taigi gražus senovinis žalvario efekto 6 colių modelis buvo greitai užsakytas ir pristatytas kitą dieną.

Visų ventiliatorių problema, nesvarbu, ar jie turi greičio nustatymus, ar mechaninius svyruojančius režimus, yra įjungti arba išjungti, o jūs galiausiai juos įjungiate ir išjungiate visą laiką. Kibirkštis vaizduotės kartu su reikalavimu pakelti monitorių gerais 3 coliais ir gimė kitas mano projektas. Įveskite „Fanomatic“.

Aš žaidžiau su „Arduino“daugelį metų, todėl tai buvo logiška pirmoji stotelė.

1 veiksmas: pirkinių sąrašas ir dėklas

Pirkinių sąrašas ir dėklas
Pirkinių sąrašas ir dėklas
Pirkinių sąrašas ir dėklas
Pirkinių sąrašas ir dėklas
Pirkinių sąrašas ir dėklas
Pirkinių sąrašas ir dėklas

Prekių sąrašas:

  • 1 lakštas 12 mm MDF - korpusui
  • 1 Arduino Uno - smegenys
  • 1 sml duonos lentos ir laidai
  • 1 DHT11 - skaitmeninis temperatūros ir drėgmės jutiklis - tik mėginio temperatūrai
  • 1,96 "OLED ekranas - rodyti kintamuosius - greitį, temperatūrą ir kt
  • 1 IRF520 „Mosfet“modulis - įjungti ir išjungti ventiliatoriaus USB maitinimą
  • 4 10k potenciometrai su skirtingų spalvų rankenėlėmis - ventiliatoriaus greičiui, nustatytam laikui, išjungimo laikui, nustatytai temperatūrai valdyti
  • 1 maitinimo jungiklis
  • 1 sml alavo lentos dažai - tinka MDF su 1 sluoksniu
  • 1 usb kabelis ir 1 usb lizdas

Byla:

Korpuso dydį nulėmė mano 24 colių monitoriaus pagrindo dydis ir 4 prievadų KVM jungiklis, esant 220 mm pločiui, ir galutinis aukštis, kurį norėjau, kad mano monitorius būtų nustatytas. Gylis buvo gana lankstus, todėl nuėjau 180 mm, kad gaučiau daug Taigi 220 mm x 180 mm x 60 mm buvo tokio dydžio. Dabar galite tai padaryti ir užpildyti.

12 mm MDF buvo lengvai supjaustytas namuose, prieš klijus ir varžtus, kad būtų suformuotas darbinis pagrindas ir priekis. Tada priekinė dalis buvo išgręžta taip, kad tilptų 4 10 k potenciometrai ir 1 virš viršutinio įjungimo/išjungimo jungiklio, kuris valdytų „Arduino“ir ventiliatoriaus maitinimą. Stačiakampė skylė buvo iškalta, kad būtų galima laikyti mažą rūkytą pilką akrilo plokštę, už kurios planavau pritvirtinti vieną iš tų mielų OLED ekranų. Įpusėjus, norėčiau, kad priekyje būtų pasirinktas 3 mm sluoksnis, o ne 12 mm MDF, nes buvo pašalinta daugiau medienos nei liko.

Kai gale ir šone buvo išgręžtos skylės temperatūros jutikliui, USB lizdui ir USB maitinimui. Buvo padengti keli sluoksniai lentos dažų. Tai puikūs mdf dažai, nes jie gerai įsigeria ir jiems nereikia apatinio sluoksnio. Tai suteikia labai neatleistiną matinį paviršių, būtent tai, ko aš ieškojau.

Puodai ir jungikliai buvo pritvirtinti, karštai priklijuotas rūkytas akrilas ir gaminamos „Dyno“etiketės šiai retro išvaizdai.

Šalia valdiklių…

2 žingsnis: valdikliai

Valdikliai
Valdikliai

Viskas pagrįsta „Arduino Uno“. Aš duona įlipau į komponentus ir pradėjau piešti eskizą.

Eskizui naudojamos 3 bibliotekos:

  • Vienas, norintis įjungti ventiliatorių irf520 mosfet.
  • Vienas, skirtas vairuoti OLED ekraną
  • Vienas skaityti ir versti temperatūros duomenis iš DHT11

Eskizą čia įdėsiu vėliau, kai tik jį šiek tiek sutvarkysiu, tačiau prašau įspėti: aš nesu koduotoja, suprantu gerus kodavimo principus, bet esu linkęs būti tingus. Jei galiu rasti būdą ką nors apeiti ir jis veikia, tada jis veikia.

Yra keletas puikių svetainių, kuriose paaiškinama, kaip jas naudoti…. ir bus įtrauktos nuorodos į geriausias (mano nuomone) svetaines, kad kiekviena iš jų būtų geriausia.

Logika:

Vienas USB kabelis maitina „Arduino“IR USB ventiliatorių. „Arduino“negali paleisti ventiliatoriaus, nes jo traukiama srovė sugadintų „Arduino“(iš tikrųjų šiek tiek dramatiška! Jis sugadintų borto saugiklį). Taigi turime rasti būdą, kaip naudoti „Arduino“, kad įjungtumėte arba išjungtumėte ventiliatoriaus maitinimą.

Reikalingas tranzistorius, pirmiausia užsisakiau Darlingtono tranzistorių, bet perskaičius pasidariau irf520 MOSFET tvarkyklės modulį iš HobbyComponents.com. „Geek Alert“!! IRF520 puikiai tinka loginiam lygio perjungimui (išėjimas iš „Arduino“kaiščių). Įrenginiui siunčiama įtampa lemia MOSFET atsparumą, t.y. siunčiant skaitmeninį kaištį nuo 0 iki 255, ventiliatorius (arba kitas prijungtas įrenginys) bus išjungtas iki pilno greičio.

Vėliau grįšime prie 0 iki 255.

Taigi mes įjungiame ventiliatorių su „Arduino“, kodėl nerimauti? Na, mes nenorime, kad jis užsidegtų, kai per šalta, ar ne? Taigi, jei pridėsime temperatūros jutiklį, galime parašyti kodą ir patikrinti, ar karšta, ir įjungti ventiliatorių (255) arba išjungti (0). Aš pasirinkau DHT11, nes jis yra pigus, lengvai koduojamas ir pakankamai tikslus šiam projektui.

Grįžkime prie to 0–255 verslo. Jei žinome, kad šiek tiek kodo įjungs ventiliatorių (255), jei temperatūra aukšta, arba išjungs (0), jei temperatūra bus žema, jei mūsų vertė bus nuo 0 iki 255, pasipriešinimas padidės arba nukris. MOSFET ir pagreitinkite arba sulėtinkite ventiliatorių.

Įveskite potenciometrą, prijungtą prie analoginio kaiščio! Pasukus sukuriama vertė nuo 0 iki 1023. Šią vertę galima išbandyti kodu, kad būtų pakeistas ventiliatoriaus greitis !! yipeeeee.

Yra paskutinis dalykas (gerai, pora). Variklio valdymo biblioteka, kurią naudosime vairuodami MOSFET tvarkyklę, priima 2 parametrus, vieną - pasipriešinimui (greičiui), kitą - trukmei nustatyti. Taigi naudodami šį stebuklingą parametrą galime nustatyti, kiek laiko ventiliatorius yra įjungtas ir kiek laiko, jei ventiliatorius yra išjungtas.

Taigi, mes turime 4 puodus, kad galėtume valdyti 4 kintamuosius. Toliau pažvelgsime į ekraną.

3 žingsnis: ekranas

Ekranas
Ekranas
Ekranas
Ekranas

Ar jam reikia ekrano? Ne visai. Taigi kodėl ji turi vieną? Na, nes norėjau mielo ekrano, kuriame būtų rodoma esama temperatūra, ventiliatoriaus greitis, ventiliatorius laiku, ventiliatoriaus išjungimo laikas ir nustatytoji temperatūra.

U8G biblioteka puikiai valdo šį mažą OLED ekraną. Prireikė vakaro tyrinėjimų, ir aš sukau galvą apie komandas, kad gaučiau norimą šrifto dydį 5 eilutėms ir kad kintamieji būtų rodomi naudojant u8g.print () komandas. Šio ekrano pranašumas yra tas, kad tai nėra 2 ar 4 eilių ekranas, prie kurio „Arduino“bendruomenė yra taip įpratusi, todėl grafika ir šriftai yra labai įmanomi.

Tiesą sakant, dauguma kodo vairuoja ekraną. jei teiginiai nustato rodomas vertes, E. G. konvertuoti vertę iš analoginių puodų (nuo 0 iki 1023) į vertę, kuri bus rodoma ekrane. Iš viso yra keli teiginių blokų rinkiniai, nustatykite ventiliatoriaus greitį iš puodo, konvertuokite į % ekrano vertę ir vertę nuo 0 iki 255, kad galėtumėte valdyti ventiliatorių.

Na, dabar žmonės tai padarys. Tikiuosi, kad jums patiks ši pirmoji dalis. Redaguosiu ir atnaujinsiu nuorodomis ir kodu. Jei norite ką nors išsamiai aprašyti, palikite komentarą ir paklauskite.

4 žingsnis: kodas

Aš pažadėjau įkelti eskizą, kai paskelbiau tai, prieš 3 metus, ir niekada to nepadariau.

Taigi štai ……

Rekomenduojamas: