Turinys:

Automatinis augalų vazonas - mažas sodas: 13 žingsnių (su nuotraukomis)
Automatinis augalų vazonas - mažas sodas: 13 žingsnių (su nuotraukomis)

Video: Automatinis augalų vazonas - mažas sodas: 13 žingsnių (su nuotraukomis)

Video: Automatinis augalų vazonas - mažas sodas: 13 žingsnių (su nuotraukomis)
Video: Part 5 - Triplanetary Audiobook by E. E. Smith (Chs 18-19) 2024, Lapkritis
Anonim
Automatinis augalų vazonas - mažas sodas
Automatinis augalų vazonas - mažas sodas

Aš esu Howest Kortrijk daugialypės terpės ir komunikacijos technologijų studentas. Paskutinei užduočiai atlikti turėjome sukurti savo pasirinktą daiktų interneto projektą.

Ieškodama idėjų, nusprendžiau padaryti kažką naudingo savo mamai, kuri mėgsta auginti augalus, ir pradėjau dirbti prie automatinio augalų puodo.

Pagrindinės šio automatinio augalų puodo „Little Garden“užduotys yra šios:

  • Išmatuokite

    • Temperatūra
    • Šviesos stiprumas
    • Drėgmė
    • Dirvožemio drėgmė

Išsaugokite matavimus duomenų bazėje

Pagerinkite augalų augimo sąlygas, jei tam tikra vertė yra per maža

Leiskite įrenginį stebėti ir valdyti per svetainę

Ne kiekvieną žingsnį reikia sekti iki ženklo. Daugelis įvykių gali būti jūsų asmeniniai pageidavimai arba patobulinti. Ši konstrukcija buvo sukurta taip, kad vėliau būtų galima atkurti dalis, todėl galbūt norėsite kitaip elgtis su iteracija, kad ji taptų pastovesnė

1 žingsnis: reikmenys

Prekės
Prekės
Prekės
Prekės
Prekės
Prekės

Daugumos šio projekto reikmenų nėra labai sunku įsigyti, nors mano atveju dirbau su daugybe perdirbtų medžiagų. Taip pat turėjau užtikrinti, kad vėliau galėčiau atgauti kai kurias medžiagas.

Pagrindiniai komponentai:

  • „Raspberry Pi 4“modelis B.
  • Raspberry Pi maitinimo šaltinis
  • Raspberry Pi T-cobbler
  • 16 GB „micro SD“kortelė
  • Duonos lentos maitinimo šaltinis su 3.3V ir 5V
  • Bandomoji Lenta
  • 12V maitinimo šaltinis

Jutikliai:

  • DHT11: drėgmės ir temperatūros jutiklis
  • BH1750: šviesos intensyvumo jutiklis
  • Dirvožemio drėgmės jutiklis
  • MCP3008

Pavaros komponentai:

  • 220 V vandens siurblys
  • 12V LED juostelė
  • Relės modulis „Velleman“
  • 50 PATARIMAS: NPN tranzistorius
  • 16x2 LCD modemo ekranas
  • PCF8574a

Rezistoriai:

  • 3 x 330 omų rezistoriai
  • 1 x 5 kΩ rezistorius
  • 2 x 10k omų rezistoriai
  • 1 x 1k omo rezistorius
  • 1 x 10k potencialo rezistorius

Medžiagos:

  • Surenkamas šiltnamis/augalų vazonas
  • Skirstomoji dėžė
  • Plastikinis vandens butelis
  • Pasukami
  • Trumpieji laidai + įprasta viela
  • Sraigtai
  • Litavimo skarda + termiškai susitraukiantis vamzdis
  • Dvipusis ančiukas
  • Dažyti

Įrankiai:

  • Klijų pistoletas
  • Grąžtas
  • Pjūklo pjūklas
  • Lituoklis
  • Dėžutės pjaustytuvas
  • Dažų teptukas

Puikus šio projekto dalykas yra tai, kad jį galima išplėsti arba supaprastinti, pridedant/pašalinant komponentus ir šiek tiek pataisant kodą. Pavyzdžiui, pakeisdami 220 V siurblį 12 V siurbliu, galite išimti maitinimo adapterį iš įrenginio.

2 žingsnis: šlifavimo schema

Fritzavimo schema
Fritzavimo schema
Fritzavimo schema
Fritzavimo schema

Prietaiso duonos lentos ir elektrinės schemos pateiktos aukščiau. Čia galite pamatyti, kaip visi komponentai yra sujungti.

Bendras komponentų veikimo paaiškinimas:

  • DHT11 matuoja oro drėgmę %, o temperatūrą ° C. Ryšį su juo tvarko I2C bu.
  • BH1750 matuoja šviesos intensyvumą liuksais. Ryšį tvarko I2C magistralė
  • Dirvožemio drėgmės jutiklis sukuria skaitmeninį signalą, kurį MCP3008 paverčia skaitomu skaitmeniniu „Raspberry Pi“signalu
  • 16x2 LCD modulis vienas po kito rodo „Pi“IP adresus. Jis prijungtas prie PCF8574a, kuris gauna signalą iš „Raspberry Pi“, kuris pavers jį daugybe ekrano bitų kaiščių signalų. E ir RS kaiščiai iš LCD yra tiesiogiai prijungti prie „Pi“. Potencio rezistorius nustato ekrano ryškumą.
  • Vandens siurblys yra prijungtas prie relės, esančios tarp jos ir 220 V maitinimo/lizdo. „Raspberry Pi“gali siųsti signalą į relę, kad uždarytų elektros grandinę ir įjungtų siurblį.
  • LED juostelė prijungta prie 12 V maitinimo šaltinio ir TIP 50 (NPN tranzistorius), kuris perjungia elektros srovę. 1k omo rezistorius naudojamas norint apriboti „Raspberry Pi“naudojamą galią, kitaip jis būtų keptas ypač traškus.

3 žingsnis: Paruoškite „Raspberry Pi“

Paruoškite „Raspberry Pi“
Paruoškite „Raspberry Pi“

Jei dar neturite, turėsite įdėti vieną iš Raspberry Pi OS vaizdų į SD kortelę. Nerekomenduoju naudoti „Lite“, nes tai sukėlė problemų pradžioje. Vėliau turėsite įsitikinti, kad jūsų Pi yra atnaujintas, naudodami šias komandas, kai Pi yra prijungtas prie interneto:

  1. sudo apt-get atnaujinimas
  2. sudo apt-get atnaujinimas

Po to galite įjungti arba įdiegti projekto paketus, kad jie veiktų, naudodami raspi-config arba komandas.

  • SPI
  • I2C
  • MySQL: kitas žingsnis
  • „SocketIO“: pip įdiegti kolbą-lizdą

Po sąrankos galite pridėti reikiamus failus, parašytus html, CSS, „Javascript“ir „Python“. Visą mano kodą galima rasti mano „github“saugykloje.

4 žingsnis: duomenų bazės modelis - „MySQL“

Duomenų bazės modelis - MySQL
Duomenų bazės modelis - MySQL

Viršuje galite pamatyti ERD diagramą, kuri priglobta per „MariaDB“. Rekomenduoju vadovautis šiuo „MariaDB“diegimo vadovu ne tik norint įdiegti „MariaDB“, bet ir įsitikinti, kad jūsų „Pi“yra apsaugotas.

Žmonėms, kurie nori suprasti, duomenų bazė veikia taip:

Matavimai ir pavaros perjungimai saugomi kaip eilutės Metingeno lentelėje.

  • metingId = matavimo/perjungimo eilutės ID
  • deviceId = įrenginio, atsakingo už šią lentelės eilutę, ID
  • waarde = jutiklio matavimo arba pavaros perjungimo vertė

    • jutiklis: matavimo vertė atitinkamais vienetais
    • pavaros: 0 = IŠJUNGTA ir 1 = ĮJUNGTA
  • commentaar = komentarai, naudojami papildomai informacijai, pvz., klaidoms, pridėti
  • atskaitos taškas = data ir laikas, kada įvyko matavimas/perjungimas

Įrenginio nustatymai išsaugomi skiltyje „Nustatymai“.

  • settingId = šios eilutės ID ir nustatymo vertė
  • deviceID = atitinkamo įrenginio/jutiklio ID
  • waarde = nustatymo vertė
  • tipas = gyventojo tipas, ar jis yra maksimalus ar minimalus?

Paskutinis, bet ne mažiau svarbus dalykas - lentelėje „Įrenginiai“pateikiama informacija apie jutiklius ir pavaras.

  • deviceId = įrenginio ID šioje lentelėje
  • naam = įrenginio/komponento pavadinimas
  • merk = prekės ženklas
  • prijs = komponento kaina
  • beschrijving = komponento santrauka
  • eenheid = išmatuotų verčių vienetas
  • typeDevice = nurodo, ar komponentas yra jutiklis, ar pavara

5 veiksmas: „Frontend“: tinklalapio serverio nustatymas

Sąsaja: Tinklalapio serverio nustatymas
Sąsaja: Tinklalapio serverio nustatymas

Norėdami paleisti šio įrenginio žiniatinklio serverį, „Pi“reikės įdiegti „Apache“žiniatinklio serverį. Tai galima padaryti naudojant šią komandą:

sudo apt-get įdiegti apache2.

Kai tai bus padaryta, galite pereiti į aplanką:/var/www/html. Čia turėsite įdėti visą priekinės sistemos kodą. Vėliau galite pasiekti svetainę naršydami IP adresą.

6 veiksmas: „Backend“

Norėdami paleisti užpakalinę sistemą, turėsite paleisti failą app.py rankiniu būdu arba sukurdami jam paslaugą „Pi“, kad ji būtų paleista automatiškai.

Kaip pastebėjote, yra nemažai failų. Aš kiek įmanoma atskyriau kodą, kad turėčiau aiškią kodo apžvalgą ir organizavimą.

Trumpas paaiškinimas:

app.py: pagrindinis failas, kuriame yra sujungta duomenų bazė, aparatūros kodas ir galinis kodas

config.py: „databaseRepositories“konfigūracijos failas

Saugyklos: prieigai prie duomenų saugyklos

  • Pagalbininkas

    • devices_id: klasės, padedančios identifikuoti įrenginio informaciją duomenų bazėje
    • LCD: paleisti PCF ir LCD
    • Pavaras: pavaros veikimo klasės
    • Jutikliai: jutiklių veikimo klasės

7 žingsnis: įdėkite LED juostelę

LED juostelės įdėjimas
LED juostelės įdėjimas

Iškirpau LED juostos gabalėlį ir priklijavau prie šiltnamio dėžutės viršaus. Mano naudojamą juostelę galima perpjauti keliose vietose ir vėl prijungti, kad galėtumėte įdėti kelias juosteles ir vėliau jas vėl prijungti per laidus, kad būtų daugiau vietos.

8 žingsnis: Vamzdžių įdėjimas

Vamzdžių išdėstymas
Vamzdžių išdėstymas

Vamzdžius galima įdėti įvairiais būdais, tačiau mano atveju aš juos pritvirtinau prie dugno šono, laikydamas juos kuo toliau nuo kitos elektronikos ir leisdamas vandeniui tiesiog tekėti į purvą.

9 veiksmas: LCD ekrano įdėjimas

LCD dėjimas
LCD dėjimas

Sujungimo dėžutės dangtelyje aš pjoviau visą pjūklą, sukurdamas pakankamai didelę angą, kad ekranas galėtų prasiskverbti, tačiau pakankamai mažą, kad PCB liktų už jo. Vėliau jis buvo pritvirtintas prie dangtelio, naudojant siauras.

Skystųjų kristalų ekrane rodomi „Raspberry Pi“IP adresai, leidžiantys sužinoti, kokiu adresu galite naršyti svetainėje.

10 veiksmas: jutiklių įdėjimas ir šviesos diodų juostos prijungimas

Jutiklių įdėjimas ir šviesos diodų juostos prijungimas
Jutiklių įdėjimas ir šviesos diodų juostos prijungimas
Jutiklių įdėjimas ir šviesos diodų juostos prijungimas
Jutiklių įdėjimas ir šviesos diodų juostos prijungimas

Naudodamas frizavimo schemas, aš lituojau jungtis tarp laidų ir įdėjau rezistorius į laidų vidų, naudodamas termiškai susitraukiančius vamzdžius.

Šiltnamio dangčio ir dugno šonuose buvo išpjautos skylės, kad būtų galima pritvirtinti suktukus, per kuriuos ištraukiau jutiklių ir LED juostos laidus.

Sujungiau laidus pagal funkcijas. Vielų ir susitraukimo vamzdžių įtampa laikė jutiklius. DHT11 laidams turėjau naudoti tik klijus, nes tai tęsėsi toliau.

11 žingsnis: „Pi“prijungimas

„Pi“prijungimas
„Pi“prijungimas
„Pi“prijungimas
„Pi“prijungimas
„Pi“prijungimas
„Pi“prijungimas

Aš iškirpiau skyles jungčių dėžutės šone, kad laidai galėtų praeiti vėliau.

Po to padėjau duonos lentą (su „T-cobbler“, PCF8574a, MCP3008, reguliuojamu pasipriešinimu ir TIP50), relę ir „Raspberry Pi“ant jungties dėžutės apačios, kuri buvo uždengta dvipuse antkaite. Maitinimo blokas netilpo ant duonos lentos, todėl turėjau jį uždėti ant šono ir prijungti prie duonos lentos naudodamas trumpiklius.

Galiausiai adapterio, jutiklio ir pavaros laidus ištraukiau per skyles, prijungtas prie duonos lentos, „Raspberry Pi“ir kitų komponentų. Siurblio viela buvo nupjauta, kad galus galėčiau įdėti į relę, kad ją būtų galima naudoti kaip jungiklį.

12 žingsnis: vandens talpyklos gamyba

Vandens talpyklos gamyba
Vandens talpyklos gamyba

Aš padariau vandens talpyklą iš 1 l plastikinio vandens buteliuko, nupjaudamas jo viršų dėžutės pjaustytuvu ir nudažęs, kad geriau atrodytų. Tada vandens siurblys buvo įdėtas į vidų. Dėl bendravimo indų taisyklės vanduo gali pats tekėti per vamzdžius, tačiau laikant vamzdį aukštyn problema išsprendžiama.

13 žingsnis: galutinis rezultatas

Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas
Galutinis rezultatas

Akimirka, kurios laukėte. Dabar galite įdėti nešvarumus ir sėklas į šiltnamio dėžę ir leisti prietaisui užvaldyti. Svetainėje galite stebėti įrenginio būseną ir nustatyti optimalias apšvietimo ir dirvožemio sąlygų vertes.

Rekomenduoju dirvą laistyti rankiniu būdu, nes kai kurie nešvarumai iš pradžių gali būti gana sausi. Kai kurie siurbliai taip pat laisto gana lėtai, tačiau turite būti labai atsargūs, nes jie prisipildys greičiau, nei tikėjotės. Jei sodrumas viršija 80%, žemė gali labai sudrėkti. Ir įsitikinkite, kad dirvožemio drėgmės jutiklis yra pakankamai gilus.

Rekomenduojamas: