Sisällysluettelo:

Automaattinen istutusruukku - Pieni puutarha: 13 vaihetta (kuvilla)
Automaattinen istutusruukku - Pieni puutarha: 13 vaihetta (kuvilla)

Video: Automaattinen istutusruukku - Pieni puutarha: 13 vaihetta (kuvilla)

Video: Automaattinen istutusruukku - Pieni puutarha: 13 vaihetta (kuvilla)
Video: Ruokakasvatuksen teemapäivä 2022 2024, Joulukuu
Anonim
Automaattinen kasvipotti - Pieni puutarha
Automaattinen kasvipotti - Pieni puutarha

Olen Howest Kortrijkin multimedia- ja viestintätekniikan opiskelija. Viimeistä tehtävää varten meidän oli kehitettävä valitsemamme IoT -projekti.

Katsellessani ideoita ympärilleni, päätin tehdä jotain hyödyllistä äidilleni, joka rakastaa kasvien kasvattamista, ja aloin työskennellä automatisoidun ruukun parissa.

Tämän automatisoidun kasvien ruukun, Little Gardenin, päätehtävät ovat:

  • Mittaa
    • Lämpötila
    • Valon voimakkuus
    • Kosteus
    • Maan kosteus

Tallenna mitat tietokantaan

Paranna kasvien kasvuolosuhteita, jos tietty arvo on liian alhainen

Anna laitteen valvoa ja hallita verkkosivuston kautta

Kaikkia vaiheita ei tarvitse noudattaa. Monet tapahtumista voivat olla henkilökohtaisia mieltymyksiäsi tai niitä voidaan parantaa. Tämä rakenne on tehty siten, että osat voidaan palauttaa jälkikäteen, joten sinun kannattaa ehkä lähestyä iteraatiota eri tavalla, jotta se olisi pysyvämpi

Vaihe 1: Tarvikkeet

Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet
Tarvikkeet

Useimpia tämän hankkeen tarvikkeita ei ole kovin vaikea hankkia, vaikka tapauksessani työskentelin paljon kierrätettyjen materiaalien kanssa. Minun oli myös varmistettava, että voin palauttaa joitain materiaaleja myöhemmin.

Keskeiset komponentit:

  • Raspberry Pi 4 malli B
  • Raspberry Pi -virtalähde
  • Raspberry Pi T-suutari
  • 16 Gt: n micro SD -kortti
  • Leipälaudan virtalähde 3.3V ja 5V
  • Leipälauta
  • 12V virtalähde

Anturit:

  • DHT11: Kosteus- ja lämpötila -anturi
  • BH1750: Valon voimakkuusanturi
  • Maaperän kosteusanturi
  • MCP3008

Toimilaitteen komponentit:

  • 220V vesipumppu
  • 12V LED -nauha
  • Relemoduuli Velleman
  • VIHJE 50: NPN -transistori
  • 16X2 LCD-moduke-näyttö
  • PCF8574a

Vastukset:

  • 3 x 330 ohmin vastukset
  • 1 x 5 k ohmin vastus
  • 2 x 10 k ohmin vastukset
  • 1 x 1 k ohmin vastus
  • 1 x 10k potentiovastus

Materiaalit:

  • Esivalmistettu kasvihuone/ruukku
  • Haaroitusrasia
  • Muovinen vesipullo
  • Kääntyvät
  • Hyppyjohdot + tavallinen lanka
  • Ruuvit
  • Juotospurkki + kutisteputki
  • Kaksipuolinen ankka
  • Maali

Työkalut:

  • Liimapistooli
  • Porata
  • Sahan terä
  • Juotin
  • Laatikon leikkuri
  • Maaliharja

Hieno asia tässä projektissa on, että sitä voidaan laajentaa tai yksinkertaistaa lisäämällä/poistamalla komponentteja ja säätämällä koodia hieman. Jos esimerkiksi vaihdat 220 V: n pumpun 12 V: n pumppuun, voit irrottaa verkkolaitteen laitteesta.

Vaihe 2: Fritzing -kaavio

Fritzing -kaavio
Fritzing -kaavio
Fritzing -kaavio
Fritzing -kaavio

Laitteen leipälauta ja sähköjärjestelmät on esitetty yllä. Täältä näet kuinka kaikki komponentit on kytketty yhteen.

Yleinen selitys komponenttien toiminnasta:

  • DHT11 mittaa ilman kosteuden prosentteina ja lämpötilan ° C. Viestintää sen kanssa hoitaa I2C bu.
  • BH1750 mittaa valon voimakkuuden lukseina. Tiedonsiirtoa hoitaa I2C -väylä
  • Maaperän kosteusanturi luo digitaalisen signaalin, jonka MCP3008 muuntaa Raspberry Pi: n luettavaksi digitaaliseksi signaaliksi
  • 16x2 LCD-moduuli näyttää Pi: n IP-osoitteet peräkkäin. Se on kytketty PCF8574a: een, joka vastaanottaa signaalin Raspberry Pi: ltä, joka muuntaa sen useiksi signaaleiksi näytön bittitappeja varten. Nestekidenäytön E- ja RS -nastat on kytketty suoraan Pi -laitteeseen. Potentiovastus määrittää näytön kirkkauden.
  • Vesipumppu on kytketty releeseen, joka on sen ja sen 220 V: n virtalähteen/pistorasian välissä. Raspberry Pi voi lähettää signaalin releelle sähköpiirin sulkemiseksi ja pumpun käynnistämiseksi.
  • LED -nauha on kytketty 12 V: n virtalähteeseen ja TIP 50 (NPN -transistori), joka vaihtaa sähkövirtaa. 1 k ohmin vastusta käytetään rajoittamaan Raspberry Pi: n vetämää tehoa, muuten se paistettaisiin erityisen rapeaksi.

Vaihe 3: Valmista Raspberry Pi

Valmista Raspberry Pi
Valmista Raspberry Pi

Jos sinulla ei vielä ole sitä, sinun on asetettava yksi Raspberry Pi OS -kuvista SD -kortille. En suosittele Lite: n käyttöä, koska tämä aiheutti minulle ongelmia alussa. Jälkeenpäin sinun on varmistettava, että Pi on ajan tasalla käyttämällä seuraavia komentoja, kun Pi on yhteydessä Internetiin:

  1. sudo apt-get päivitys
  2. sudo apt-get päivitys

Tämän jälkeen voit ottaa käyttöön tai asentaa projektin paketit toimimaan joko raspi-config tai komentojen avulla.

  • SPI
  • I2C
  • MySQL: seuraava askel
  • SocketIO: pip-install flask-socketio

Asennuksen jälkeen voit lisätä tarvittavat tiedostot, jotka on kirjoitettu html-, CSS-, Javascript- ja Python -tiedostoina. Kaikki koodini löytyvät github -arkistostani.

Vaihe 4: Tietokantamalli - MySQL

Tietokantamalli - MySQL
Tietokantamalli - MySQL

Yllä näet ERD -kaavion, jota isännöidään MariaDB: n kautta. Suosittelen seuraamaan tätä MariaDB -asennusopasta, ei vain MariaDB: n asentamiseksi, vaan myös varmistaaksesi, että Pi on suojattu.

Niille, jotka haluavat ymmärtää, tietokanta toimii seuraavasti:

Mittaukset ja toimilaitteen kytkimet tallennetaan riveinä Metingen -taulukkoon.

  • metingId = mittaus-/vaihtorivin tunnus
  • deviceId = tästä rivistä vastaavan laitteen tunnus taulukossa
  • waarde = anturin mittauksen tai toimilaitteen kytkimen arvo

    • anturi: mittausarvo vastaavissa yksiköissä
    • toimilaitteet: 0 = OFF ja 1 = ON
  • commentaar = kommentit, joita käytetään lisätietojen, kuten virheiden, lisäämiseen
  • nollapiste = päivämäärä ja kellonaika, jolloin mittaus/vaihto tapahtui

Laitteen asetukset tallennetaan Asetukset -kohtaan.

  • settingId = tämän rivin tunnus ja asetusarvo
  • deviceID = vastaavan laitteen/anturin tunnus
  • waarde = asetuksen arvo
  • tyyppi = asuntotyyppi, onko se maksimi vai minimi?

Viimeisenä mutta ei vähäisimpänä, Laitteet -taulukko sisältää tietoja antureista ja toimilaitteista.

  • deviceId = tämän taulukon laitteen tunnus
  • naam = laitteen/komponentin nimi
  • merk = merkki
  • prijs = komponentin hinta
  • beschrijving = yhteenveto komponentista
  • eenheid = mitattujen arvojen yksikkö
  • typeDevice = määrittää, onko komponentti anturi vai toimilaite

Vaihe 5: Käyttöliittymä: Verkkopalvelimen käyttöönotto

Käyttöliittymä: Verkkopalvelimen määrittäminen
Käyttöliittymä: Verkkopalvelimen määrittäminen

Pi edellyttää, että asennat Apache -verkkopalvelimen, jotta voit käyttää tämän laitteen verkkopalvelinta. Tämä voidaan tehdä seuraavalla komennolla:

sudo apt-get install apache2.

Kun tämä on tehty, voit siirtyä kansioon:/var/www/html. Täällä sinun on sijoitettava kaikki käyttöliittymän koodit. Myöhemmin voit käyttää verkkosivustoa selaamalla IP -osoitetta.

Vaihe 6: Taustajärjestelmä

Taustaohjelman suorittamiseksi sinun on suoritettava app.py -tiedosto joko manuaalisesti tai luomalla sille palvelu Pi: llä, jotta se käynnistyy automaattisesti.

Kuten ehkä huomaat, tiedostoja on melko vähän. Erotin koodin niin paljon kuin pystyin saadakseni selkeän yleiskuvan ja koodin organisoinnin.

Lyhyt selitys:

app.py: Päätiedosto, johon tietokanta, laitteistokoodi ja taustakoodi on liitetty

config.py: databaseRepositories -määritystiedosto

Tietovarastot: Pääsy tietovarastoon

  • Auttaja
    • devices_id: luokat, jotka auttavat tunnistamaan laitetiedot tietokannassa
    • lcd: PCF: n ja LCD: n suorittaminen
    • Toimilaitteet: toimilaitteiden käyttöluokat
    • Anturit: luokat antureiden käyttämiseen

Vaihe 7: LED -nauhan sijoittaminen

LED -nauhan asettaminen
LED -nauhan asettaminen

Leikkasin palan LED -nauhaa ja liimasin sen kasvihuonelaatikon yläosaan. Käyttämäni nauha voitaisiin leikata useista kohdista ja liittää uudelleen, joten voit sijoittaa useita nauhoja ja liittää ne uudelleen johtojen kautta, jolloin saat enemmän tilaa valaistukseen.

Vaihe 8: Putkien sijoittaminen

Putkien sijoittaminen
Putkien sijoittaminen

Putket voidaan sijoittaa useilla tavoilla, mutta tapauksessani kiinnitin ne pohjan puolelle pitäen ne mahdollisimman kaukana muusta elektroniikasta ja antamalla veden yksinkertaisesti virrata likaan.

Vaihe 9: Nestekidenäytön sijoittaminen

Nestekidenäytön sijoittaminen
Nestekidenäytön sijoittaminen

Leikkasin kokonaisuuden liitäntäkotelon kannessa sahanterällä, jolloin aukko oli riittävän suuri, jotta näyttö pääsee läpi, mutta tarpeeksi pieni, jotta piirilevy pysyisi sen takana. Myöhemmin se kiinnitettiin kanteen vinoilla.

Nestekidenäytössä näkyvät Raspberry Pi: n IP -osoitteet, jolloin voit tietää, millä osoitteella voit selata verkkosivustoa.

Vaihe 10: Anturien sijoittaminen ja LED -nauhan liittäminen

Anturien sijoittaminen ja LED -nauhan liittäminen
Anturien sijoittaminen ja LED -nauhan liittäminen
Anturien sijoittaminen ja LED -nauhan liittäminen
Anturien sijoittaminen ja LED -nauhan liittäminen

Jäätymissuunnitelmia käyttäen juotin johtimien väliset liitännät ja asetin vastukset johtimien sisään käyttämällä eristeitä kutisteputkilla.

Kasvihuoneen kannen ja pohjan reunoihin leikattiin reikiä kääntöjen kiinnittämiseksi, joiden läpi vedin antureiden ja LED -nauhan johdot.

Ryhmittelin johdot toiminnon mukaan. Johtimien ja kutisteputkien jännitys itse piti antureita. Minun piti käyttää vain liimaa DHT11: n johdoissa, koska tämä pidentyi edelleen.

Vaihe 11: Pi -laitteen kytkeminen

Pi: n kytkentä
Pi: n kytkentä
Pi: n kytkentä
Pi: n kytkentä
Pi: n kytkentä
Pi: n kytkentä

Leikkasin reikiä kytkentärasian sivulle, jotta johdot pääsevät myöhemmin läpi.

Tämän jälkeen laitoin leipälevyn (T-cobblerilla, PCF8574a, MCP3008, säädettävä vastus ja TIP50), rele ja Raspberry Pi kytkentärasian pohjalle, joka oli peitetty kaksipuolisella ankkurilla. Virtalähde ei mahtunut leipälevylle, joten minun piti laittaa se sivulle ja liittää se leipälevyyn hyppyjohtimilla.

Lopulta vedin sovittimen, anturin ja toimilaitteen johdot reikien läpi, jotka liittivät johdot leipälevyyn, Raspberry Pi: hen ja muihin komponentteihin. Pumpun johto leikattiin auki, jotta voisin laittaa päät releen sisään, jotta sitä voitaisiin käyttää kytkimenä.

Vaihe 12: Säiliön tekeminen vettä varten

Vesisäiliön tekeminen
Vesisäiliön tekeminen

Tein vesisäiliön 1 litran muovisesta vesipullosta leikkaamalla sen yläosan laatikkoleikkurilla ja maalaamalla sen paremman ilmeen saavuttamiseksi. Sen jälkeen vesipumppu asetettiin sisälle. Alusten kommunikointisäännön vuoksi vesi voi mahdollisesti virrata putkien läpi itsestään, mutta putken pitäminen pystyssä korjaa ongelman.

Vaihe 13: Lopputulos

Lopullinen tulos
Lopullinen tulos
Lopullinen tulos
Lopullinen tulos

Hetki, jota olet odottanut. Nyt voit laittaa lian ja siemenet kasvihuonelaatikon sisälle ja antaa laitteen ottaa vallan. Voit seurata laitteen tilaa verkkosivustolta ja asettaa optimaaliset arvot valaistus- ja maaperäolosuhteille.

Suosittelen kastamaan maaperän ensin manuaalisesti, koska osa liasta voi aluksi olla melko kuivaa. Jotkut pumput näyttävät myös kastavan melko hitaasti, mutta sinun on oltava erittäin varovainen, koska se täyttyy nopeammin kuin odotit. Yli 80%: n kylläisyys voi tehdä maaperästä erittäin märän. Ja varmista, että maaperän kosteusanturi on riittävän syvä.

Suositeltava: