Huishoudelike humiditeit en temperatuurmonitering: 11 stappe
Huishoudelike humiditeit en temperatuurmonitering: 11 stappe
Anonim
Huishoudelike humiditeit en temperatuurmonitering
Huishoudelike humiditeit en temperatuurmonitering

Hallo ouens ! Om op die beste manier te begin, 'n klein storie oor die projek. Ek het onlangs gegradueer en na my eerste pos as ingenieur na Oostenryk verhuis. Die land is pragtig, maar baie koud en vogtig in die winterseisoen. Ek het vinnig elke oggend kondens op die vensters opgemerk toe ek wakker word, sowel as 'n vorm wat op die mure van die pragtige woonstel wat ek huur, kruip. Dit was my eerste ontmoeting met so 'n hoë humiditeitsvlak ooit, uit die suide van Frankryk, ons het nie regtig so 'n probleem nie. Ek was dus op soek na oplossings op die internet en het besluit om 'n paar stukke bymekaar te maak en my eie moniteringstelsel te bou om die humiditeitsvlak van elke kamer van my woonstel sowel as die omgewingstemperatuur te kontroleer. Die volgende projek het 'n paar belangrike riglyne gehad:

  1. Dit moet goedkoop wees.
  2. Dit moet presies genoeg wees.
  3. Ek wou iets klein, maklik om te dra en met batterye aangedryf word.
  4. Ek is baie lief vir plante en het besluit dat dit na grondvog sal kan kyk om te weet of ek dit nodig het om my plante nat te maak. (Uit konteks, maar ek was net mal oor die idee!: D)

Dit is 'n redelik maklike projek, maar dit is die nuttigste wat ek ooit gemaak het. Ek kan die humiditeit in elke kamer kontroleer en kyk of ek moet reageer om die vorm te stop. So laat ons begin.

Stap 1: Versamel die komponente

Versamel die komponente
Versamel die komponente

Ons projek is redelik eenvoudig. Ons sal 'n Arduino (in my geval nano) as die brein gebruik, aangesien dit baie eenvoudig is in die programmering, goedkoop en indien nodig vervangbaar.

'N DHT-22 as 'n temperatuur- en humiditeitsensor, daar is 'n laer weergawe genaamd DHT-11, wat na my mening redelik kak is, en vir nog 3 euro kan u die DHT-22 kry wat baie meer presies, akkuraat is en kan oor 'n groter verskeidenheid temperature werk. 'N OLED -skerm om die data te vertoon en 'n visuele koppelvlak te hê tussen die sensors en die mens wat ek is. Ek het gevind dat 64 by 128 perfek is, aangesien dit min is; ek kon genoeg data daarop pas en baie maklik om te koppel.

'N YL-69 grondvogsensor, om te kyk wanneer ek my lieflike plante moet natmaak, en dit is basies alles wat u nodig het vir die projek. Ek wou ook hê dat die projek aangedryf sou word met Lipos wat ek in die omgewing gehad het. -Jy kan dit ook maklik met 'n gewone 9V -battery laat werk. Ek wou die spanning van die Lipo -batterye met behulp van 'n paar analoog insette op die arduino kon monitor. Ek sal meer inligting op die volgende bladsye gee.

Boonop benodig u die volgende:

  1. 'N Stukkie broodbord.
  2. AAN/UIT -skakelaar *1
  3. 'N 9V -batteryaansluiting
  4. 9V battery

En as u die lipos en monitering wil implementeer:

  1. 10K weerstande *3
  2. 330R weerstande *1
  3. LED *1
  4. Skuifskakelaar *1
  5. Lipo -houers (of ek sal u 'n 3D -gedrukte weergawe wys wat ek tans gebruik)
  6. 2 Lipo selle.

Stap 2: Die volledige skema

Die volledige skematiese
Die volledige skematiese

U vind die volledige skema hierby aangeheg. Let asseblief daarop dat u natuurlik die 9V -batterygedeelte van die stroombaan of die LIPO -batterykomponent kies wat aan die VBAT gekoppel is. Ek het albei kringe met rooi blokkies geskei en 'n rooi titel gesit om elkeen uit te lig.

Moenie bekommerd wees nie, elke verbinding word in die volgende stappe behoorlik verduidelik.

Stap 3: Kry die regte opstelling

Maak seker dat u Arduino IDE geïnstalleer het. En laai die biblioteke af wat by hierdie stap kom. Ek sal ook die volledige kode plaas as u nie die komponente in die volgende stappe wil toets nie.

Stap 4: Koppel die DHT-22

Verbind die DHT-22
Verbind die DHT-22

Die eerste stap van die projek is om die DHT-22 aan te sluit op die arduino. Die verbinding is redelik eenvoudig: DHT-22 ------ Arduino

VCC ------ +5V

GEGEVENS ------ D5

GND ------ GND

Om die DHT-22-verbinding met u Arduino te toets, implementeer ons die kode wat by hierdie stap ingebed is.

Stap 5: Koppel die OLED -skerm aan

Koppel die OLED -skerm aan
Koppel die OLED -skerm aan
Koppel die OLED -skerm aan
Koppel die OLED -skerm aan

Die volgende stap is om die OLED -skerm aan te sluit. Hierdie soort skerm kan met die I2C -protokol verbind word. Ons eerste taak is om die korrekte I2C -penne vir u arduino te vind, as u die Arduino nano gebruik, is die I2C -penne A4 (SDA) en A5 (SCL). As u 'n ander arduino soos UNO of MEGA gebruik, kyk op die amptelike arduino -webwerf of op die datablad vir die I2C -penne.

Die verbinding is soos volg: OLED ------ Arduino

GND ------ GND

VCC ------ 3V3

SCL ------ A5

SDA ------ A4

Om die OLED te toets, sal ons die DHT -data direk op die OLED -skerm vertoon deur die kode wat by hierdie stap ingebed is, op te laai.

U moet die temperatuur en humiditeit op die OLED -skerm met 'n baie vinnige monstertempo sien, aangesien ons nog nie vertraag het nie.

Stap 6: Monitering van grondvog

Monitering van grondvog
Monitering van grondvog
Monitering van grondvog
Monitering van grondvog

Omdat ek die grondvog van my plante wou monitor, moet ons die YL-69 verbind.

Hierdie sensor is vir my baie interessant en dit gedra soos wanneer die grond is:

Nat: die uitgangsspanning neem af.

Droog: die uitsetspanning neem toe.

Die verbinding is soos volg:

YL69 ------ Arduino

VCC ------ D7

GND ------ GND

D0 ------ MOENIE AANSLUIT NIE

A0 ------ A7

Soos u kan sien, verbind ons die VCC -pen van die module met 'n digitale pen van die Arduino. Die idee daaragter is om die module aan te dryf net wanneer ons die meting wil doen en nie voortdurend nie. Dit is te wyte aan die feit dat die sensor werk deur die stroom te meet wat van die een been van die sonde na die ander gaan. As gevolg hiervan vind elektrolise plaas en kan die sonde redelik vinnig in grond met hoë vog vernietig word.

Ons sal nou die vogsensor by ons kode voeg en die vogdata met die DHT -data op die OLED vertoon. Laai die kode op hierdie stap op.

Stap 7: Monitoring van VBAT (9V -battery)

Monitor VBAT (9V battery)
Monitor VBAT (9V battery)
Monitor VBAT (9V battery)
Monitor VBAT (9V battery)

Ek wou weet hoe laag die battery was om nie eendag 'n verrassing te kry nie en ek kon nie opraak nie. Die manier om die ingangsspanning te monitor, is deur 'n paar analoog penne van die arduino te gebruik om te weet hoeveel spanning ontvang word. Die ingangspelde van die Arduino kan maksimum 5V neem, maar die gebruikte battery lewer 9V op. As ons hierdie hoër spanning direk aansluit, vernietig ons sommige hardeware -komponente; ons moet 'n spanningsverdeler gebruik om die 9V onder die 5V -grens te bring.

Ek het twee 10k weerstande gebruik om die spanningsverdeler te maak en met 'n faktor 2 die 9V te deel en dit tot 'n maksimum van 4,5V te bring.

Om te wys dat die battery leeg is met 'n normale LED met 'n 330 ohm stroombegrensende weerstand.

Ons sal die analoog pen A0 gebruik om VBAT te monitor.

Volg die skema om te weet hoe om die komponente aan te sluit:

Ons sal dit nou by ons kode kode voeg wat by hierdie stap ingebed is.

Stap 8: Monitoring van VBAT (2 Lipos -konfigurasie)

Monitoring van VBAT (2 lipos -opset)
Monitoring van VBAT (2 lipos -opset)
Monitoring van VBAT (2 lipos -opset)
Monitoring van VBAT (2 lipos -opset)
Monitoring van VBAT (2 lipos -opset)
Monitoring van VBAT (2 lipos -opset)

Ek wou weet hoe laag die battery was om nie eendag 'n verrassing te kry nie en ek kon nie opraak nie.

Die manier om die ingangsspanning te monitor, is deur 'n paar analoog penne van die arduino te gebruik om te weet hoeveel spanning ontvang word. Die ingangspelde van die Arduino kan maksimum 5V neem, maar die Lipos genereer maksimum 4.2*2 = 8.4V.

Die verskil met die vorige stap is dat as ons twee lipos in serie gebruik om 'n spanning> 5V te skep om die Arduino -bord aan te skakel, moet ons elke lipo -sel monitor, aangesien dit teen 'n ander tempo kan ontlaai. Hou in gedagte dat u nie 'n lipo -battery wil oorlaai nie, dit is baie gevaarlik.

Vir die eerste Lipo is daar geen probleem nie, want die nominale spanning van 4.2V is laer as die 5V -grens wat die ingangspennetjies van die arduino kan verduur. As u egter 2 batterye in serie plaas, neem die spanning toe: Vtot = V1 + V2 = 4.2 + 4.2 = 8.4 maksimum.

As ons hierdie hoër spanning direk met die analoog pen aansluit, vernietig ons 'n paar hardeware -komponente; ons moet 'n spanningsverdeler gebruik om die 8.4V onder die 5V -grens te bring. Ek het twee 10k weerstande gebruik om die spanningsverdeler te maak en met 'n faktor 2 die 8,4V te deel en dit tot 'n maksimum van 4,2V te bring.

Ons sal die analoog pen A0 gebruik om VBAT te monitor. Volg die skema om te weet hoe om die komponente aan te sluit:

Om te wys dat die battery leeg is met 'n normale LED met 'n 330 ohm stroombegrensende weerstand.

Ons sal dit nou byvoeg by ons kode wat by hierdie stap ingebed is.

Stap 9: Die omhulsel

Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel

Ek het die kans om 'n 3D -drukker te besit, en ek het besluit om 'n saak met standaard PLA te druk.

U vind die aangehegte lêers, ek het die omhulsel ontwerp met Autodesk Inventor & Fusion360.

U kan ook u eie ontwerp skep of die broodbord net hou soos dit is; die boks self voeg niks by tot die funksies nie. Ongelukkig het my 3D -printer hotend net gesterf, sodat ek die omhulsel nog nie kon druk nie; ek sal my pos bywerk wanneer ek ontvang die onderdele wat op Amazon geneem is: wysig: dit is nou gedruk en u kan dit op die foto's sien.

Stap 10: Verbeteringsperspektiewe

Die projek pas tans perfek by my behoeftes. Ons kan egter nadink oor 'n paar punte wat ons kan verbeter:

  1. As u die batteryverbruik verminder, kan ons die huidige verbruik verbeter, óf veranderende hardeware óf sagteware verbeter.
  2. Voeg bluetooth by om aan te sluit by 'n app of om data te stoor en meer tyd te ontleed.
  3. Voeg 'n LIPO -laaikring by om dit direk aan die muur te herlaai.

As u aan iets dink, moet asseblief nie huiwer om dit in die kommentaarafdeling neer te skryf nie.

Stap 11: Dankie

Dankie dat u hierdie tutoriaal gelees het, moet asseblief nie huiwer om met my en ander in die kommentaarafdeling te kommunikeer nie. Ek hoop jy het die projek geniet en ek sien jou volgende keer vir 'n ander projek!