Indholdsfortegnelse:

Arduino skrivebordsventilator: 4 trin
Arduino skrivebordsventilator: 4 trin

Video: Arduino skrivebordsventilator: 4 trin

Video: Arduino skrivebordsventilator: 4 trin
Video: Как заставить вентилятор работать по температуре / всего с 3 штуками 2024, November
Anonim
Arduino skrivebordsventilator
Arduino skrivebordsventilator
Arduino skrivebordsventilator
Arduino skrivebordsventilator
Arduino skrivebordsventilator
Arduino skrivebordsventilator

Da jeg for nylig skiftede roller i virksomheden, flyttede jeg steder og flyttede fra Bradford til vores hovedkontor i Wakefield. Jeg sagde farvel til mit trofaste gamle skrivebord med en skrivebordsventilator, der skal holde mig kølig, mens jeg er omkring mig ……. Under alle omstændigheder var tendensen på vores hovedkontor for små USB -drevne fans omkring 4 "til 6". Så en flot antik messing effekt 6 "model blev hurtigt bestilt og leveret dagen efter.

Problemet med alle ventilatorer, uanset om de har hastighedsindstillinger eller mekaniske oscillerende tilstande, er, at de enten er til eller fra, og du ender med at tænde og slukke dem hele tiden. En gnist af fantasi kombineret med et krav om at hæve min skærm med godt 3 , og mit næste projekt er født. Gå ind på Fanomatic.

Jeg havde spillet med Arduino i mange år, så det var det logiske første stop.

Trin 1: Indkøbsliste og sag

Indkøbsliste og sag
Indkøbsliste og sag
Indkøbsliste og sag
Indkøbsliste og sag
Indkøbsliste og sag
Indkøbsliste og sag

Indkøbsliste:

  • 1 ark 12 mm MDF - til sagen
  • 1 Arduino Uno - hjernen
  • 1 sml brødbræt og ledninger
  • 1 DHT11 - digital temperatur- og fugtighedsføler - kun til prøvetemperatur
  • 1.96 "OLED -display - for at vise variabler - hastighed, temperatur osv
  • 1 IRF520 Mosfet -modul - til at tænde og slukke USB -blæseren for blæseren
  • 4 10k Potentiometre med forskellige farvede knapper - til at styre blæserhastighed, til tiden, slukket tid, temp setpunkt
  • 1 afbryder
  • 1 sml tavle maling - velegnet til MDF med 1 lag
  • 1 usb kabel og 1 usb stik

Sag:

Kabinettets størrelse blev styret af størrelsen på bunden af min 24 skærm og 4 port KVM switch på 220 mm bred og endelig højde, jeg ville have min skærm sat til. Dybden var ret fleksibel, så jeg gik til 180 mm for at give masser af Så 220 mm x 180 mm x 60 mm var størrelsen. Nu skal du lave den og fylde den.

12 mm MDF blev skåret hjemme ganske let, før lim og skrue for at danne en arbejdsbase og front. Fronten blev derefter boret til at passe til 4 10k Potentiometre og 1 over den øverste tænd/sluk -kontakt, som ville styre strømmen til Arduino og ventilator. Et rektangulært hul blev mejslet ud for at holde et lille røget gråt akrylpanel, bag hvilket jeg planlagde at sikre et af de søde OLED -displays. Halvvejs igennem ville jeg ønske, at jeg havde gået til 3 mm lag til fronten, i stedet for 12 mm MDF, da der var fjernet mere træ end der var tilbage.

Når der var blevet boret og mejslet huller i bagsiden og siden til temperatursensor, usb -stik og usb -strøm i. Et par lag tavlemaling blev påført. Det er en fantastisk maling til mdf, da den suger godt ind og ikke har brug for en underuld. Det giver en meget utilgivende mat finish, lige hvad jeg ledte efter.

Der blev monteret gryder og kontakter, røget akryl varmlimet og Dyno -etiketter produceret til det retro -look.

Ved siden af kontrolelementerne …

Trin 2: Kontrolelementerne

Kontrolelementerne
Kontrolelementerne

Alt baseret på en Arduino Uno. Jeg brød om bord på komponenterne og startede på en skitse.

Skitsen bruger 3 biblioteker:

  • En til at køre irf520 mosfet for at tænde blæseren.
  • En til at køre OLED -skærmen
  • En til at læse og oversætte temperaturdataene fra DHT11

Jeg vil inkludere skitsen her senere, når jeg har ryddet det lidt op, men vær venligst advaret, jeg er IKKE en koder, jeg forstår gode kodningsprincipper, men har en tendens til at være en doven koder. Hvis jeg kan finde en vej udenom noget, og det virker, så virker det.

Der er nogle gode steder derude, der forklarer, hvordan man bruger hver …. og vil indeholde links til de bedste (efter min mening) websteder for at få det bedste ud af hver.

Logik:

Et enkelt usb -kabel giver strøm til Arduino OG til USB -blæseren. Arduinoen kan ikke køre blæseren, da den strøm, den trækker, ville beskadige Arduino (lidt dramatisk faktisk! Det ville udløse den indbyggede sikring). Så vi skal finde en måde at bruge Arduino til at tænde eller slukke for blæseren.

En transistor er påkrævet, jeg bestilte først en Darlington -transistor, men efter at have læst mig op, plumpede jeg efter et irf520 MOSFET -drivermodul fra HobbyComponents.com. Nørd advarsel !! IRF520 er fantastisk til skift af logisk niveau (output fra Arduino -ben). Spændingen, der sendes til enheden, bestemmer modstanden for MOSFET, I. E. Hvis du sender 0 til 255 til en digital pin, kører blæseren (eller en anden tilsluttet enhed) fra off til fuld hastighed.

Vi vender tilbage til 0 til 255 senere.

Så vi tænder en blæser med en Arduino, hvorfor gider du? Godt, vi vil ikke have det til at tænde når det er for koldt, vel? Så hvis vi tilføjer en temperatursensor, kan vi skrive kode og teste om den er varm og tænde blæseren (255) eller slukke (0). Jeg gik efter en DHT11, da den er snavs billig, let at kode og præcis nok til dette projekt.

Tilbage til den 0 til 255 forretning. Hvis vi ved, at en smule kode vil tænde blæseren (255), hvis temperaturen er høj, eller fra (0), hvis temperaturen er lav, hvis vi havde en værdi mellem 0 og 255, ville modstanden stige eller falde hen over MOSFET og fremskynde eller sænke blæseren.

Indtast et potentiometer tilsluttet en analog pin! Når den drejes, genereres en værdi mellem 0 og 1023. Denne værdi kan derefter testes i kode for at ændre blæserhastigheden !! yipeeeee.

Der er en sidste ting (nå, et par). Motorstyringsbiblioteket, vi vil bruge til at drive MOSFET -driveren, accepterer 2 parametre, en til at indstille modstanden (for hastigheden) og en anden til at indstille varighed. Så med denne magiske parameter kan vi indstille, hvor længe blæseren er tændt, og hvor længe ventilatoren skal være slukket.

Så vi har 4 potter til at styre de 4 variabler. Dernæst ser vi på displayet.

Trin 3: Displayet

Displayet
Displayet
Displayet
Displayet

Behøver den et display? Ikke rigtig. Så hvorfor har den en? Fordi jeg ville have et sødt display til at vise den aktuelle temperatur, blæserhastighed, blæser til tiden, blæserens slukningstid og temperatur setpunkt.

U8G -biblioteket er genialt til at køre denne lille OLED -skærm. Det tog en aften med research, og jeg fik hovedet omkring kommandoerne for at få den skriftstørrelse, jeg ønskede for 5 rækker, og for at få variablerne vist ved hjælp af kommandoerne u8g.print (). Fordelen ved denne skærm er, at det ikke er en 2 eller 4 'række' skærm, som Arduino -fællesskabet er så vant til, så grafik, skrifttyper er alle meget gennemførlige.

For at være ærlig driver det meste af koden displayet. hvis udsagn bestemmer værdier, der skal vises, vil E. G. konvertere en værdi fra de analoge potter (0 til 1023) til en værdi, der skal vises på skærmen. I alt er der flere sæt sætningsblokke, bestemmer blæserhastighed fra pot, konverterer til % værdi for skærm og værdi mellem 0 og 255 for at drive blæseren.

Nå, det vil gøre for nu folkens. Jeg håber du nyder denne første rate. Jeg redigerer og opdaterer med links og koden. Hvis der er noget, du gerne vil have detaljer om, skal du efterlade en kommentar og spørge.

Trin 4: Kode

Jeg lovede at uploade skitsen, da jeg lagde dette ud for 3 år siden, og gjorde det aldrig.

Så her er det ……

Anbefalede: