Asigurați-vă propriul controler de temperatură cu un arduino
Ridicați pâinea perfectă, preparați berea frumoasă și puii fericiți din spate cu un regulator de temperatură Arduino. Dacă trăiți într-o climă mai puțin fiabilă decât Anglia, direcțiile care vă spun să păstrați ceva la o temperatură stabilită nu sunt deosebit de utile - nu avem aparate de aer condiționat și ridicarea termostatului pentru întreaga casă nu este practică pentru făcând doar o bucată de pâine. Chiar păstrate în interior, puii pot muri dacă temperatura scade noaptea; și obținerea lor pentru a acoperi în primul rând are un interval de temperatură chiar mai stricte. Dar am nevoie de painea mea, iar puii au nevoie de eclozare - asa ca in loc sa cumparam echipamente scumpe, putem cobblera impreuna un controler de temperatura competent cu un arduino si biți de uz casnic.
Același lucru este valabil și pentru păstrarea produselor răcoritoare - poate fi risipitor să rulați un frigider întreg doar pentru a face iaurt - dar cu un controler de temperatură, principiul este același. În loc să activați un element de încălzire, veți activa conectorul unui mini-frigider sau alt element de răcire, cum ar fi un Peltier (răcitor termoelectric) - și, desigur, logica va fi inversată.
Ce vei avea nevoie
Acesta este un proiect Arduino - dacă nu ați mai lucrat niciodată cu Arduino, ghidul nostru gratuit pentru începători este un loc fantastic pentru a începe.
- Arduino
- Senzor de temperatură - folosesc un TMP36, un dispozitiv ieftin cu un singur pachet care vine cu kitul de începători Oomlout (UK) / Sparkfun (SUA).
- Comutatoare releu sau RC
- Terminale de șurub
- Cutie pentru a prinde căldura
- Elementul de încălzire sau becul cu incandescență și dispozitivul de fixare (sau ambele)
Ultimul element a fost lăsat în mod deliberat vag. Dacă aveți un bec incandescent (cel care se încălzește, nu un bec cu economie de energie) sau o lampă fierbinte pentru răni sportive și altele asemenea, este probabil cel mai ușor de instalat. Folosesc o bandă de încălzire - practic o bandă de cauciuc care se încălzește când electricitatea este trecută, folosită pe carbohidrați și butoaie pentru etapele inițiale de fermentare în fabricarea vinului sau berii - din punct de vedere tehnic, acesta poate fi un risc de incendiu atunci când nu este înfășurat în jurul valorii de ceva , asa de vă rugăm să nu faceți acest lucru, eu doar o folosesc pentru a testa. De asemenea, puteți achiziționa plăcuțe de încălzire pentru același scop.
Din motive de siguranță, folosesc aceste conectori pentru a comuta dispozitivele AC, cu un controler hacked în detaliu în acest articol de automatizare de acasă. Aparatura de control de la un Arduino: Startul aparatelor de control de automatizare acasă de la un Arduino: timp, v-am arătat câteva moduri de a vă face proiectele Arduino controlat prin interfața SiriProxy, obiectele vorbite de OS X și unele automatizări scripting sau chiar un cip hardware dedicat recunoașterii vocii. Eu ... Citește mai mult. Este fără fir, deci în nici un moment nu trebuie să atingeți firele în direct.
Senzor de temperatură
Să începem prin cablare și testarea senzorului. [Diagramă de la Adafruit]
Cu partea plată către dvs. și picioarele cu fața în jos, senzorul de temperatură TMP36 este conectat în sus +, semnal, GND în această ordine. + Se duce la ieșirea de 3.3 V de la Arduino; de asemenea, aveți nevoie de o altă linie care merge de la +3,3 V la pinul AREF - aceasta indică Arduino să utilizeze 3,3 V pentru referință de intrare analogică în loc de 5 V. Conectați pinul semnalului senzorului la A1. În încercările anterioare, am folosit TMP36 direct pe linia 5 V; funcționează, din păcate, când a fost asociat cu un releu, a existat o cădere de putere ori de câte ori releul a fost activat, ceea ce a condus la citiri extrem de fluctuante.
Am folosit un cablu de rețea vechi ca cablu de semnal - foarte util pentru a avea în jur, deoarece sunt 8 fire înăuntru. Cablul este destul de subțire, de aceea asigurați-vă că ați consolidat celălalt capăt cu lipire unde va fi înșurubat într-un bloc de borne.
Formula din cod presupune că utilizați senzorul tMP36; ar trebui să puteți găsi un eșantion de cod pentru alți senzori. Acest exemplu de cod este de la Adafruit - încărcați-l și deschideți consola Serial pentru a examina ieșirea.
Comparați cu un termometru dacă este posibil. Lectura nu este corectă?
- Verificați dacă tensiunea furnizată este de fapt de 3,3 V
- AREF este conectat la 3.3 V de asemenea?
Adăugarea în logica de comutare
Pentru a controla elementul de încălzire, folosesc aceste mufă de conectare RC de la Maplin și am distrus controlerul. Numai pământul și pinul de control trebuie conectate. Am modificat codul pentru a include bibliotecile relevante pe care le puteți descărca de aici.
În acest moment, voi renunța, de asemenea, la toate referințele la Farenheit și voi continua să lucrez doar cu Celsius. Am definit apoi o temperatură dorită pentru menținerea și am adăugat într-o structură de control simplă, cum ar fi:
în cazul în care (temperatureC < desiredTempC) mySwitch.switchOn(1,1); Serial.println("Heater ON"); else Serial.println("Heater OFF"); mySwitch.switchOff(1,1);
Nu este nimic complex aici, pe care să nu-l înțelegeți - doar comparând citirea curentă a temperaturii cu cea dorită și pornind comutatorul dacă este mai mică; în caz contrar, opriți-l.
Codul complet poate fi găsit aici, deși va trebui să ajustați acest lucru dacă folosiți un releu (nu este greu). Iată diagrama completă de conectare pe care am folosit-o:
Punându-le pe toți împreună
Puneți senzorul în interiorul cutiei pe care o utilizați și plasați elementul de încălzire unde este cazul. Setați temperatura dorită și activați-o. Dacă vă păstrați acum PC-ul conectat, puteți utiliza consola serioasă pentru a observa modificările în timp ce cutia dvs. se încălzește.
Lucrați în continuare
- Pentru a diminua impactul fluctuațiilor de temperatură, puteți încerca să neteziți rezultatele. Creați un matrice pentru stocarea a 10 citiri și calculați o medie pe fiecare buclă.
- Pentru a evita activarea rapidă și dezactivarea elementului de încălzire, creați o variabilă pentru a stoca o numărătoare inversă. De fiecare dată când activați sau dezactivați, înregistrați ora curentă în numărătoarea inversă, apoi, înainte de a comuta starea din nou, verificați dacă X-ul a trecut de la ultima schimbare de stare.
- Pentru un proiect fără calculator, conectați un mic ecran LCD pentru a afișa temperatura curentă și pentru a vă permite să vedeți temperatura curentă și dorită.
Punerea la încercare
În cele din urmă, ce ar fi acest proiect fără un mic test? Am bătut un pachet de aluat gata amestecat în mașina de pâine și l-am împărțit în două pâini. Cel înălțat în cutie a fost ușor mai mare, dar temperatura aerului înconjurător este de aproximativ 26 de grade Celsius oricum - acest lucru ar fi mult mai util în timpul iernii. Indiferent, ar fi mai bine să faceți o supă pentru a însoți această pâine minunată.
Deci, ceea ce ați face ar face ca aceasta să necesite o temperatură constantă?
Explorați mai multe despre: Arduino.