Maja niiskuse ja temperatuuri jälgimine: 11 sammu
Maja niiskuse ja temperatuuri jälgimine: 11 sammu
Anonim
Maja niiskuse ja temperatuuri jälgimine
Maja niiskuse ja temperatuuri jälgimine

Tere kutid ! Parimal viisil alustamiseks väike lugu projektist. Lõpetasin hiljuti ülikooli ja kolisin oma esimeseks inseneri ametikohale Austriasse. Riik on ilus, kuid talveperioodil väga külm ja niiske. Hakkasin kiiresti igal hommikul ärgates märkama akendel kondenseerumist ning üht hallitust, mis roomas selle üüritava ilusa korteri seintel. See oli minu esimene kokkupuude nii kõrge õhuniiskusega kunagi, tulles Lõuna -Prantsusmaalt, meil sellist probleemi tegelikult pole. Niisiis otsisin Internetist lahendusi ja otsustasin koguda mõned tükid ning ehitada oma seiresüsteemi, et kontrollida oma korteri iga toa niiskust ja ümbritsevat temperatuuri. Järgmisel projektil olid mõned olulised juhised:

  1. See peab olema odav.
  2. See peab olema piisavalt täpne.
  3. Tahtsin midagi väikest, hõlpsasti kaasaskantavat ja patareitoitega.
  4. Ma armastan taimi ja otsustasin, et see suudab kontrollida mulla niiskust, et teada saada, kas mul on vaja oma taimi kasta. (Kontekstist väljas, aga mulle lihtsalt meeldis see idee!: D)

See on üsna lihtne projekt, kuid see on kõige kasulikum, mida ma kunagi teinud olen. Olen võimeline kontrollima iga ruumi niiskust ja nägema, kas pean hallituse peatamiseks reageerima. Nii et alustame.

Samm: koguge komponendid

Koguge komponendid
Koguge komponendid

Meie projekt on üsna lihtne. Me kasutame ajuna Arduinot (minu puhul nano), kuna see on programmeerimisel väga lihtne, odav ja vajadusel asendatav.

DHT-22 kui temperatuuri ja niiskuse andur, on madalam versioon nimega DHT-11, mis on minu arvates täpsusest rääkides üsna nõme ja veel 3 euro eest saate DHT-22, mis on palju täpsem ja täpsem & saab töötada erinevates temperatuurides. OLED -ekraan andmete kuvamiseks ja visuaalse liidese andurite ja inimese vahel. Leidsin, et 64 x 128 on ideaalne, kuna seda on vähe, ma mahutaksin sinna piisavalt andmeid ja seda oleks väga lihtne liidestada.

YL-69 mulla niiskusandur, et kontrollida alati, kui mul on vaja oma ilusaid taimi kasta. Ja see on põhimõtteliselt kõik, mida projekti jaoks vajate. Soovi korral soovisin, et projekti toidaks Lipos, mis mul oli. -Saate selle ka normaalse 9 V akuga väga hõlpsalt tööle panna. Tahtsin, et saaksin jälgida Lipo patareide pinget, kasutades arduino mõningaid analoogsisendeid. Lisateavet annan järgmistel lehtedel.

Lisaks vajate järgmist:

  1. Tükk leivaplaati.
  2. ON/OFF lüliti *1
  3. 9V aku pistik
  4. 9V aku

Ja kui soovite liposid ja seiret rakendada:

  1. 10K takistid *3
  2. 330R takistid *1
  3. LED *1
  4. Liuglüliti *1
  5. Lipohoidikud (Või näitan teile praegu kasutatavat 3D -trükitud versiooni)
  6. 2 liporakku.

2. samm: täielik skeem

Täielik skeem
Täielik skeem

Lisatud on täielik skeem. Pange tähele, et ilmselt valite vooluahela 9 V akuosa või VBAT -iga ühendatud LIPO akuosa. Ma eraldasin mõlemad ringid punaste ruutudega ja panin punase pealkirja, et igaüks esile tõsta.

Ärge muretsege, et iga ühendust selgitatakse õigesti järgmistes sammudes.

3. samm: õige seadistuse saamine

Veenduge, et Arduino IDE oleks installitud. Ja laadige alla selle sammuga kaasas olevad raamatukogud. Ma panen ka täieliku koodi, kui te ei soovi iga komponendi testimist järgmistes etappides vaevata.

4. samm: ühendage DHT-22

DHT-22 ühendamine
DHT-22 ühendamine

Projekti esimene samm on ühendada DHT-22 arduinoga. Ühendus on üsna lihtne: DHT-22 ------ Arduino

VCC ------ +5V

ANDMED ------ D5

GND ------ GND

DHT-22 ühenduse testimiseks teie Arduinoga rakendame sellel etapil manustatud koodi.

Samm: OLED -ekraani ühendamine

OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine
OLED -ekraani ühendamine

Järgmine samm on OLED -ekraani ühendamine. Seda tüüpi ekraan ühendatakse I2C protokolli abil. Meie esimene ülesanne on leida oma arduino jaoks õiged I2C tihvtid, kui kasutate Arduino nano, on I2C tihvtid A4 (SDA) ja A5 (SCL). Kui kasutate mõnda muud arduinot, näiteks UNO või MEGA, otsige arduino ametlikult veebisaidilt või I2C tihvtide andmelehelt.

Ühendus on järgmine: OLED ------ Arduino

GND ------ GND

VCC ------ 3V3

SCL ------ A5

SDA ------ A4

OLED -i testimiseks kuvame DHT -andmed OLED -ekraanil otse, laadides üles selle sammu sisseehitatud koodi.

Te peaksite nägema temperatuuri ja niiskust OLED -ekraanil väga kiire proovivõtu sagedusega, kuna me ei viivitanud veel.

6. samm: mulla niiskuse jälgimine

Mulla niiskuse jälgimine
Mulla niiskuse jälgimine
Mulla niiskuse jälgimine
Mulla niiskuse jälgimine

Kuna tahtsin jälgida oma taimede mulla niiskust, peame ühendama YL-69.

See andur on minu jaoks väga huvitav ja käitub näiteks siis, kui pinnas on:

Märg: väljundpinge väheneb.

Kuiv: väljundpinge suureneb.

Ühendus on järgmine:

YL69 ------ Arduino

VCC ------ D7

GND ------ GND

D0 ------ ÄRA ÜHENDA

A0 ------ A7

Nagu näete, ühendame mooduli VCC tihvti Arduino digitaalse tihvtiga. Selle idee on toita moodulit just siis, kui tahame mõõtmisi teha, mitte pidevalt. See on tingitud asjaolust, et andur töötab, mõõtes voolu, mis läheb sondi ühelt jalalt teisele. Selle tõttu toimub elektrolüüs ja see võib suure niiskusega pinnases sondi üsna kiiresti hävitada.

Nüüd lisame oma koodile niiskusanduri ja kuvame niiskuse andmed koos DHT -andmetega OLED -is. Laadige selle sammu sisseehitatud kood üles.

Samm: VBAT -i jälgimine (9 V aku)

VBAT -i jälgimine (9V aku)
VBAT -i jälgimine (9V aku)
VBAT -i jälgimine (9V aku)
VBAT -i jälgimine (9V aku)

Tahtsin teada, kui tühi on aku, et ühel päeval ei tekiks üllatusi ja see saab tühjaks, ilma et oleksin osanud seda ette näha. Sisendpinge jälgimise viis on kasutada arduino mõnda analoog -tihvti, et teada saada, kui palju pinget vastu võetakse. Arduino sisendpoldid võivad võtta maksimaalselt 5 V, kuid kasutatud aku genereerib 9 V. Kui ühendame selle kõrgema pinge otse, hävitaksime mõned riistvarakomponendid, peame kasutama pingejagurit, et viia 9V alla 5V künnise.

Kasutasin kahte 10k takistit, et teha pingejagur ja jagades teguriga 2 9V ning viia see maksimumini 4,5 V.

Aku tühjenemise näitamiseks, kasutades tavalist LED -i koos 330 oomise voolu piirava takistiga.

VBAT -i jälgimiseks kasutame analoogpistikut A0.

Komponentide ühendamiseks järgige skeemi:

Nüüd lisame selle sellesse sammu manustatud koodikoodi.

8. samm: VBAT -i jälgimine (2 Lipos Configuration)

VBAT -i jälgimine (2 Lipos Configuration)
VBAT -i jälgimine (2 Lipos Configuration)
VBAT -i jälgimine (2 Lipos Configuration)
VBAT -i jälgimine (2 Lipos Configuration)
VBAT -i jälgimine (2 Lipos Configuration)
VBAT -i jälgimine (2 Lipos Configuration)

Tahtsin teada, kui tühi on aku, et ühel päeval ei tekiks üllatusi ja see saab tühjaks, ilma et oleksin osanud seda ette näha.

Sisendpinge jälgimise viis on kasutada arduino mõnda analoog -tihvti, et teada saada, kui palju pinget vastu võetakse. Arduino sisendpoldid võivad võtta maksimaalselt 5 V, kuid Lipod genereerivad maksimaalselt 4,2*2 = 8,4 V.

Erinevus eelmise sammuga on see, et kui kasutate 2 lipot järjestikku, et luua pinge> 5 V Arduino plaadi sisselülitamiseks, peame jälgima iga lipoelementi, kuna need võivad tühjeneda erineva kiirusega. Pidage meeles, et te ei soovi lipoaku üle tühjaks laadida, see on väga ohtlik.

Esimese Lipo puhul pole probleemi, sest nimipinge 4,2 V on alla 5 V künnise, mis talub arduino sisendnuppe. kui aga panna kaks patareid järjestikku, siis nende pinge suureneb: Vtot = V1 + V2 = 4,2 + 4,2 = 8,4 maksimum.

Kui ühendame selle kõrgema pinge otse analoogpistikuga, hävitaksime mõned riistvarakomponendid, peame kasutama pingejagurit, et viia 8,4 V allapoole 5 V künnist. Ma kasutasin kahte 10k takistit, et muuta pingejagur ja jagades teguriga 2 8,4 V ja viies selle 4,2 V maksimumini.

VBAT -i jälgimiseks kasutame analoogpistikut A0. Komponentide ühendamiseks järgige skeemi:

Aku tühjenemise näitamiseks, kasutades tavalist LED -i, millel on 330 oomi voolu piirav takisti.

Nüüd lisame selle oma sellesse sammu manustatud koodi.

9. samm: ümbris

Aedik
Aedik
Aedik
Aedik

Mul on võimalus omada 3D -printerit, nii et otsustasin printida korpuse standardse PLA abil.

Failid leiate manuselt, korpuse kujundasin Autodesk Inventor & Fusion360 abil.

Samuti saate luua oma kujunduse või lihtsalt hoida leivaplaati sellisena, nagu see on, kast ise ei lisa funktsionaalsusele midagi. Kahjuks suri mu 3D -printeri hotend just ära, nii et ma ei saanud korpust veel printida, värskendan oma postitust alati, kui saada Amazonist võetud osi. Redigeeri: see on nüüd trükitud ja näete seda piltidel.

10. samm: parandamisperspektiivid

Praeguseks vastab projekt minu vajadustele. Siiski võime mõelda mõnele punktile, mida saaksime parandada:

  1. Vähendage aku tarbimist, saame praegust tarbimist parandada kas riistvara muutmise või tarkvara täiustamise teel.
  2. Lisage Bluetooth, et luua ühendus rakendusega või andmete salvestamiseks ja aja jooksul rohkem analüüsida.
  3. Lisage LIPO laadimisahel, et laadida seda otse seina külge ühendatuna.

Kui mõtlete millelegi, ärge kartke seda kommentaariumisse kirjutada.

11. samm: aitäh

Täname teid selle õpetuse lugemise eest. Ärge kartke minuga ja teistega kommentaaride jaotises suhelda. Loodan, et teile projekt meeldis ja kohtume järgmisel korral mõne teise projektiga!