Innholdsfortegnelse:

Arduino skrivebordviftekontroller: 4 trinn
Arduino skrivebordviftekontroller: 4 trinn

Video: Arduino skrivebordviftekontroller: 4 trinn

Video: Arduino skrivebordviftekontroller: 4 trinn
Video: LDmicro 21: настройка режима C и Arduino Mega (программирование микроконтроллера с помощью LDmicro) 2024, November
Anonim
Arduino skrivebordviftekontroller
Arduino skrivebordviftekontroller
Arduino skrivebordviftekontroller
Arduino skrivebordviftekontroller
Arduino skrivebordviftekontroller
Arduino skrivebordviftekontroller

Da jeg nylig skiftet roller i selskapet, flyttet jeg nettsteder og flyttet fra Bradford til vårt hovedkontor i Wakefield. Jeg sa farvel til det trofaste gamle skrivebordet mitt med skrivebordvifte for å holde meg kjølig mens jeg er rundt meg ….. Uansett, trenden på vårt hovedkontor var for små USB -drevne vifter rundt 4 "til 6". Så en fin antikk messingeffekt 6 "modell ble raskt bestilt og levert dagen etter.

Problemet med alle vifter, enten de har hastighetsinnstillinger eller mekaniske oscillerende moduser, er at de enten er på eller av, og du ender opp med å slå dem av og på hele tiden. En gnist av fantasi, kombinert med et krav om å heve skjermen med en god 3 , og mitt neste prosjekt er født. Gå inn på Fanomatic.

Jeg hadde spilt med Arduino i mange år, så det var det logiske første stoppet.

Trinn 1: Handleliste og sak

Handleliste og eske
Handleliste og eske
Handleliste og eske
Handleliste og eske
Handleliste og eske
Handleliste og eske

Handleliste:

  • 1 ark med 12 mm MDF - for saken
  • 1 Arduino Uno - hjernen
  • 1 sml brødbrett og ledninger
  • 1 DHT11 - digital temperatur- og fuktighetssensor - kun til prøvetemperatur
  • 1.96 "OLED -skjerm - for å vise variabler - hastighet, temperatur osv
  • 1 IRF520 Mosfet -modul - for å slå USB -strømmen på og av for viften
  • 4 10k potensiometre med forskjellige fargede knotter - for å kontrollere viftehastigheten, til tiden, til og fra, temp settpunkt
  • 1 strømbryter
  • 1 sm tinn tavlemaling - egnet for MDF med 1 strøk
  • 1 usb -kabel og 1 usb -kontakt

Sak:

Størrelsen på saken ble styrt av størrelsen på basen på min 24 -tommers skjerm og 4 -port KVM -bryter på 220 mm bred og siste høyde jeg ønsket at skjermen min skulle være. Dybden var ganske fleksibel, så jeg gikk for 180 mm for å gi rikelig med Så 220 mm x 180 mm x 60 mm var på størrelse. Nå må du lage den og fylle den.

12 mm MDF ble kuttet hjemme ganske enkelt, før lim og skrue for å danne en arbeidsbase og front. Fronten ble deretter boret for å passe 4 10k potensiometre og 1 over den øverste av/på -bryteren som ville kontrollere strømmen til Arduino og vifte. Et rektangulært hull ble meislet ut for å holde et lite røkt grått akrylpanel, bak hvilket jeg planla å sikre en av de søte OLED -skjermene. Halvveis skulle jeg ønske jeg hadde gått for 3 mm -lag for fronten, i stedet for 12 mm MDF, da det var fjernet mer tre enn det som var igjen.

Når det var boret og meislet hull på baksiden og siden for temperatursensor, usb -kontakt og usb -strøm i. Et par strøk tavlemaling ble påført. Det er en flott maling for mdf, da den trekker godt inn og ikke trenger en underbelegg. Det gir en veldig utilgivelig matt finish, akkurat det jeg lette etter.

Gryter og brytere ble festet, røkt akryl varmt limt inn og Dyno -etiketter produsert for det retro -utseendet.

Ved siden av kontrollene …

Trinn 2: Kontrollene

Kontrollene
Kontrollene

Alt basert på en Arduino Uno. Jeg brød ombord komponentene og begynte på en skisse.

Skissen bruker 3 biblioteker:

  • En til å kjøre irf520 mosfet for å slå på viften.
  • En for å kjøre OLED -skjermen
  • En for å lese og oversette temperaturdataene fra DHT11

Jeg vil inkludere skissen her senere, når jeg har ryddet opp litt, men vær advart, jeg er IKKE en koder, jeg forstår gode kodingsprinsipper, men pleier å være en lat koder. Hvis jeg kan finne en vei rundt noe og det fungerer, så fungerer det.

Det er noen flotte nettsteder der ute som forklarer hvordan du bruker hver …. og vil inneholde lenker til de beste (etter min mening) nettstedene for å få det beste ut av hvert.

Logikk:

En enkelt usb -kabel gir strøm til Arduino OG til USB -viften. Arduinoen kan ikke kjøre viften ettersom strømmen den trekker ville skade Arduino (litt dramatisk faktisk! Det ville slå den innebygde sikringen). Så vi må finne en måte å bruke Arduino til å slå strømmen til viften på eller av.

En transistor er påkrevd, jeg bestilte først en Darlington -transistor, men etter å ha lest meg opp, plumpet for en irf520 MOSFET -drivermodul fra HobbyComponents.com. Nerdvarsel !! IRF520 er flott for bytte av logisk nivå (utgang fra Arduino -pinner). Spenningen som sendes til enheten bestemmer motstanden til MOSFET, I. E. Hvis du sender 0 til 255 til en digital pin, kjøres viften (eller annen tilkoblet enhet) fra av til full hastighet.

Vi kommer tilbake til 0 til 255 senere.

Så vi slår på en vifte med en Arduino, hvorfor bry deg? Vel, vi vil ikke at det skal komme når det er for kaldt, gjør vi? Så hvis vi legger til en temperatursensor, kan vi skrive kode og teste om den er varm og slå på viften (255) eller av (0). Jeg gikk for en DHT11 ettersom den er skitten billig, enkel å kode og nøyaktig nok for dette prosjektet.

Tilbake til den 0 til 255 virksomheten. Hvis vi vet at en bit kode vil slå på viften (255) hvis temperaturen er høy, eller av (0) hvis temperaturen er lav, hvis vi hadde en verdi mellom 0 og 255, ville motstanden stige eller falle over MOSFET og hastigheten på eller bremse viften.

Skriv inn et potensiometer som er koblet til en analog pin! Når den er slått, genererer den en verdi mellom 0 og 1023. Denne verdien kan deretter testes i kode for å endre viftehastigheten !! yipeeeee.

Det er en siste ting (vel, et par). Motorkontrollbiblioteket vi vil bruke til å kjøre MOSFET -driveren godtar 2 parametere, en for å stille motstanden (for hastigheten) og en annen for å angi varighet. Så med denne magiske parameteren kan vi angi hvor lenge viften er på, og hvor lenge viften skal være av.

Så vi har 4 potter for å kontrollere de 4 variablene. Deretter ser vi på displayet.

Trinn 3: Displayet

Skjermen
Skjermen
Skjermen
Skjermen

Trenger den en skjerm? Ikke egentlig. Så hvorfor har den en? Fordi jeg ønsket en søt skjerm for å vise gjeldende temperatur, viftehastighet, vifte i tide, vifte av tid og temperatur settpunkt.

U8G -biblioteket er strålende på å kjøre denne lille OLED -skjermen. Det tok en kveld med forskning, og jeg tok hodet rundt kommandoene for å få skriftstørrelsen jeg ønsket for 5 rader og for å få variablene til å vises ved hjelp av kommandoene u8g.print (). Fordelen med denne skjermen er at den ikke er en 2 eller 4 'rad' skjerm som Arduino -samfunnet er så vant til, så grafikk, fonter er alle veldig gjennomførbare.

For å være ærlig, er det meste av koden som driver skjermen. hvis utsagn bestemmer verdier som skal vises, vil E. G. konvertere en verdi fra de analoge pottene (0 til 1023) til en verdi som skal vises på skjermen. I alt er det flere sett med setningsblokker, bestem viftehastighet fra potten, konverter til % verdi for skjermen og verdi mellom 0 og 255 for å drive viften.

Vel, det holder for nå folkens. Jeg håper du liker denne første delen. Jeg redigerer og oppdaterer med lenker og koden. Hvis det er noe du vil ha detaljer om, vennligst legg igjen en kommentar og spør.

Trinn 4: Kode

Jeg lovet å laste opp skissen da jeg postet dette, for 3 år siden, og gjorde det aldri.

Så her er det ……

Anbefalt: