Cuprins:

Controler ventilator de birou Arduino: 4 pași
Controler ventilator de birou Arduino: 4 pași

Video: Controler ventilator de birou Arduino: 4 pași

Video: Controler ventilator de birou Arduino: 4 pași
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, Mai
Anonim
Controler ventilator Arduino Desk
Controler ventilator Arduino Desk
Controler ventilator Arduino Desk
Controler ventilator Arduino Desk
Controler ventilator Arduino Desk
Controler ventilator Arduino Desk

Când am schimbat recent rolurile în cadrul companiei, am mutat site-uri, trecând de la Bradford la sediul nostru central din Wakefield. Mi-am luat rămas bun de la vechiul meu birou fidel, cu un ventilator de birou obligatoriu, care să mă țină răcoros în jurul meu … Oricum, tendința în biroul nostru principal a fost pentru ventilatoarele mici USB alimentate în jur de 4 "până la 6". Așadar, un model frumos de 6 "cu efect de alamă antică a fost comandat rapid și livrat a doua zi.

Problema cu toți ventilatorii, indiferent dacă au setări de viteză sau moduri oscilante mecanice, este că sunt fie pornite, fie oprite și ajungeți să le porniți și să le opriți tot timpul. O scânteie de imaginație, combinată cu cerința de a-mi ridica monitorul cu 3 , iar următorul meu proiect se naște. Intrați în Fanomatic.

M-am jucat cu Arduino mulți ani, așa că a fost prima oprire logică.

Pasul 1: Listă de cumpărături și carcasă

Lista de cumpărături și carcasa
Lista de cumpărături și carcasa
Lista de cumpărături și carcasa
Lista de cumpărături și carcasa
Lista de cumpărături și carcasa
Lista de cumpărături și carcasa

Lista de cumparaturi:

  • 1 foaie de MDF de 12 mm - pentru carcasă
  • 1 Arduino Uno - creierul
  • 1 panou de sml și fire
  • 1 DHT11 - senzor digital de temperatură și umiditate - numai la temperatura eșantionului
  • Afișaj OLED de 1.96 "- pentru afișarea variabilelor - viteză, temperatură etc.
  • 1 modul IRF520 Mosfet - pentru a porni și opri alimentarea USB a ventilatorului
  • 4 Potențiometre de 10k cu butoane colorate diferite - pentru a controla viteza ventilatorului, la timp, la oprire, la temperatura setată
  • 1 comutator de alimentare
  • 1 sml vopsea tablă tabla - potrivit pentru MDF cu 1 strat
  • 1 cablu USB și 1 priză USB

Caz:

Dimensiunea carcasei a fost guvernată de dimensiunea bazei monitorului meu de 24 și a comutatorului KVM cu 4 porturi la 220 mm lățime și înălțimea finală pe care doream ca monitorul meu să fie setat. Adâncimea a fost destul de flexibilă, așa că am ales 180 mm pentru a oferi o cameră. Deci, 220mmx180mmx60mm avea dimensiunea. Acum să o faci și să o umple.

MDF-ul de 12 mm a fost tăiat acasă destul de ușor, înainte de lipire și șurub pentru a forma o bază de lucru și o față. Partea din față a fost apoi forată pentru a se potrivi cu 4 potențiometre de 10k și 1 întrerupător de pornire / oprire de sus, care ar controla puterea Arduino și a ventilatorului. O gaură dreptunghiulară a fost cizelată pentru a ține un mic panou acrilic fumat, în spatele căruia intenționam să asigur unul dintre acele afișaje OLED drăguțe. La jumătatea drumului, mi-aș fi dorit să folosesc straturi de 3 mm pentru partea din față, în loc de MDF de 12 mm, deoarece a fost îndepărtat mai mult lemn decât a rămas.

După ce au fost găurite și cizelate în spate și lateral pentru senzorul de temperatură, priză USB și alimentare USB. Au fost aplicate câteva straturi de vopsea pentru tablă. Este o vopsea excelentă pentru MDF, deoarece se înmoaie bine și nu are nevoie de un strat de acoperire. Oferă un finisaj mat foarte neiertător, exact ceea ce căutam.

Ghivecele și întrerupătoarele au fost atașate, acrilic fumat lipit la cald și etichete Dyno produse pentru acel aspect retro.

Lângă comenzi …

Pasul 2: comenzile

Comenzile
Comenzile

Totul se bazează pe un Arduino Uno. Am pâine îmbarcat pe componente și am început cu o schiță.

Schița folosește 3 biblioteci:

  • Unul pentru a conduce MOSFET-ul irf520 pentru a porni ventilatorul.
  • Unul pentru a conduce afișajul OLED
  • Unul pentru a citi și traduce datele de temperatură din DHT11

Voi include schița aici mai târziu, odată ce l-am ordonat puțin, dar vă rog să fiți avertizat, NU sunt un programator, înțeleg principiile bune de codificare, dar tind să fiu un programator leneș. Dacă pot găsi o cale de a înconjura ceva și funcționează, atunci funcționează.

Există câteva site-uri grozave care explică modul de utilizare a fiecăruia … și va include link-uri către cele mai bune site-uri (după părerea mea) pentru a obține cele mai bune rezultate din fiecare.

Logică:

Un singur cablu USB furnizează energie Arduino ȘI ventilatorului USB. Arduino nu poate rula ventilatorul, deoarece curentul pe care îl trage ar afecta Arduino (un pic dramatic, de fapt! Ar declanșa siguranța de la bord). Deci, trebuie să găsim o modalitate de a folosi Arduino pentru a porni sau opri alimentarea ventilatorului.

Este necesar un tranzistor, am comandat mai întâi un tranzistor Darlington, dar după ce am citit-o, am plump pentru un modul de driver MOSFET irf520 de la HobbyComponents.com. Geek Alert !! IRF520 este excelent pentru comutarea logică a nivelului (ieșire de la pinii Arduino). Tensiunea trimisă dispozitivului determină rezistența MOSFET, adică. trimiterea de la 0 la 255 către un pin digital va conduce ventilatorul (sau alt dispozitiv conectat) de la oprit la viteză maximă.

Vom reveni la 0 la 255 mai târziu.

Deci, pornim un ventilator cu un Arduino, de ce să ne deranjăm? Ei bine, nu vrem să apară când este prea frig, nu-i așa? Deci, dacă adăugăm un senzor de temperatură, putem scrie cod și testa pentru a vedea dacă este fierbinte și porniți ventilatorul (255) sau opriți (0). Am optat pentru un DHT11, deoarece este ieftin, ușor de codat și suficient de precis pentru acest proiect.

Înapoi la acea afacere de la 0 la 255. Dacă știm că un pic de cod va porni ventilatorul (255) dacă temperatura este ridicată sau se va opri (0) dacă temperatura este scăzută, dacă am avea o valoare cuprinsă între 0 și 255, rezistența ar crește sau ar scădea peste MOSFET și accelerați sau încetiniți ventilatorul.

Introduceți un potențiometru conectat la un pin analogic! Când este activat, generează o valoare cuprinsă între 0 și 1023. Această valoare poate fi apoi testată în cod pentru a modifica viteza ventilatorului !! yipeeeee.

Există un ultim lucru (bine, un cuplu). Biblioteca de control a motorului pe care o vom folosi pentru a conduce driverul MOSFET acceptă 2 parametri, unul pentru a seta rezistența (pentru viteză) și altul pentru a seta durata. Deci, cu acest parametru magic, putem seta cât timp este ventilatorul pornit și cât timp ventilatorul este oprit.

Deci, avem 4 poturi pentru a controla cele 4 variabile. În continuare ne vom uita la afișaj.

Pasul 3: Afișajul

Afișajul
Afișajul
Afișajul
Afișajul

Are nevoie de un display? Nu chiar. Deci, de ce are unul? Ei bine, pentru că am vrut un afișaj drăguț care să arate temperatura actuală, viteza ventilatorului, ventilatorul la timp, timpul de oprire a ventilatorului și temperatura setată.

Biblioteca U8G este genială la conducerea acestui mic ecran OLED. A fost nevoie de o seară de cercetare și mi-am pus capul în jurul comenzilor pentru a obține dimensiunea fontului dorită pentru 5 rânduri și pentru a obține variabilele care trebuie afișate folosind comenzile u8g.print (). Avantajul acestui afișaj este că nu este un afișaj de 2 sau 4 „rânduri” cu care comunitatea Arduino este atât de obișnuită, astfel încât grafica, fonturile sunt toate foarte realizabile.

Pentru a fi sincer, majoritatea codului conduce afișajul. dacă instrucțiunile determină valorile care trebuie afișate, E. G. convertiți o valoare din poturile analogice (de la 0 la 1023) într-o valoare de afișat pe ecran. În total, există mai multe seturi de blocuri de instrucțiuni, determinați viteza ventilatorului din pot, convertiți în valoare% pentru ecran și valoare între 0 și 255 pentru a conduce ventilatorul.

Ei bine, asta va fi deocamdată oameni buni. Sper să vă bucurați de această primă tranșă. Voi edita și actualiza cu linkuri și cod. Dacă doriți să aveți detalii, vă rugăm să lăsați un comentariu și să întrebați.

Pasul 4: Cod

Am promis că voi încărca schița când am postat asta, acum 3 ani, și nu am făcut-o niciodată.

Deci, iată-l …

Recomandat: