Sadržaj:

Automatski lonac za biljke - Mali vrt: 13 koraka (sa slikama)
Automatski lonac za biljke - Mali vrt: 13 koraka (sa slikama)

Video: Automatski lonac za biljke - Mali vrt: 13 koraka (sa slikama)

Video: Automatski lonac za biljke - Mali vrt: 13 koraka (sa slikama)
Video: MOTIVACIONA BIOBAŠTA - PREDAVANJE #001 [TRAG BILJKE] 2024, Studeni
Anonim
Automatizirani lonac za biljke - Mali vrt
Automatizirani lonac za biljke - Mali vrt

Student sam Multimedije i komunikacijske tehnologije na Howest Kortrijku. Za naš konačni zadatak morali smo razviti IoT projekt po vlastitom izboru.

Tražeći ideje, odlučio sam napraviti nešto korisno za svoju majku koja voli uzgajati biljke i počeo raditi na automatiziranom loncu za biljke.

Glavni zadaci ovog automatiziranog lonca za biljke, Little Garden, su:

  • Izmjerite

    • Temperatura
    • Intenzitet svjetla
    • Vlažnost
    • Vlažnost tla

Spremite mjerenja u bazu podataka

Poboljšajte uvjete za rast biljaka ako je određena vrijednost preniska

Neka se uređaj prati i upravlja putem web stranice

Ne mora se slijediti svaki korak do cilja. Mnogo toga što se dogodi može biti vaša osobna želja ili se može poboljšati. Ova je izrada napravljena na način da se dijelovi mogu kasnije obnoviti, pa biste možda htjeli drugačije pristupiti svojoj iteraciji kako bi bila trajnija

Korak 1: Opskrba

Pribor
Pribor
Pribor
Pribor
Pribor
Pribor

Većinu zaliha za ovaj projekt nije teško nabaviti, iako sam u mom slučaju radio s puno recikliranih materijala. Također sam morao osigurati da mogu naknadno obnoviti neke materijale.

Temeljne komponente:

  • Raspberry Pi 4 model B
  • Napajanje malinom Pi
  • Raspberry Pi T-postolar
  • 16GB micro SD kartica
  • Napajanje iz ploče s 3.3V i 5V
  • Oglasna ploča
  • 12V napajanje

Senzori:

  • DHT11: Senzor vlage i temperature
  • BH1750: Senzor intenziteta svjetlosti
  • Senzor vlažnosti tla
  • MCP3008

Komponente pogona:

  • 220V pumpa za vodu
  • 12V LED traka
  • Relejni modul Velleman
  • SAVJET 50: NPN tranzistor
  • 16X2 LCD modularni zaslon
  • PCF8574a

Otpornici:

  • 3 x 330 Ohm otpornici
  • 1 x 5k Ohm otpornik
  • 2 x 10k Ohm otpornika
  • 1 x 1k Ohm otpornik
  • 1 x 10k Potencio otpornik

Materijali:

  • Montažni staklenik/saksija za biljke
  • Razvodna kutija
  • Plastična boca za vodu
  • Okretni
  • Žice za kratkospojnike + obična žica
  • Skrews
  • Lim za lemljenje + termoskupljajuće cijevi
  • Dvostrana traka sa trakama
  • Boja

Alati:

  • Pištolj za ljepilo
  • Bušilica
  • List pile
  • Lemilica
  • Rezač kutija
  • Kist za bojenje

Zgodna stvar ovog projekta je to što se može proširiti ili pojednostaviti, dodavanjem/uklanjanjem komponenti i laganim podešavanjem koda. Na primjer, zamjenom pumpe od 220 V s pumpom od 12 V, možete ukloniti adapter za napajanje iz uređaja.

Korak 2: Shema prevrtanja

Shema fritzinga
Shema fritzinga
Shema fritzinga
Shema fritzinga

Osnovne i električne sheme za uređaj prikazane su gore. Ovdje možete vidjeti kako su sve komponente međusobno povezane.

Općenito objašnjenje kako komponente rade:

  • DHT11 mjeri vlažnost zraka u % i temperaturu u ° C. Komunikacijom s njim upravlja I2C bu.
  • BH1750 mjeri intenzitet svjetla u luksima. Komunikacijom upravlja I2C sabirnica
  • Senzor vlažnosti tla stvara digitalni signal koji se MCP3008 pretvara u čitljiv digitalni signal za Raspberry Pi
  • LCD modul 16x2 prikazuje IP adrese iz Pi-a, jednu za drugom. Povezan je s PCF8574a koji prima signal od Raspberry Pi -a koji će ga pretvoriti u brojne signale za bitne pinove zaslona. E i RS pinovi s LCD -a spojeni su izravno na Pi. Potencijalni otpornik određuje svjetlinu zaslona.
  • Pumpa za vodu je spojena na relej koji se nalazi između njega i 220V napajanja/utičnice. Raspberry Pi može poslati signal releju da zatvori električni krug i uključi crpku.
  • LED traka je spojena na 12V napajanje i TIP 50 (NPN tranzistor) koji prebacuje električnu struju. Otpornik od 1 k Ohma koristi se za ograničavanje izvučene snage iz Raspberry Pi, u protivnom bi se dodatno pržio.

Korak 3: Pripremite Raspberry Pi

Pripremite Raspberry Pi
Pripremite Raspberry Pi

Ako ga još nemate, morat ćete staviti jednu od slika OS -a Raspberry Pi na SD karticu. Ne preporučujem korištenje Litea jer mi je to na početku uzrokovalo probleme. Nakon toga morate provjeriti je li vaš Pi ažuriran pomoću sljedećih naredbi dok je Pi povezan s internetom:

  1. sudo apt-get ažuriranje
  2. sudo apt-get nadogradnja

Nakon toga možete omogućiti ili instalirati pakete za rad projekta, bilo putem raspi-config ili naredbi.

  • SPI
  • I2C
  • MySQL: sljedeći korak
  • SocketIO: pip install flask-socketio

Nakon postavljanja možete dodati potrebne datoteke napisane na html -u, CSS -u, Javascript -u i Pythonu. Sav moj kôd može se pronaći na mojem github spremištu.

Korak 4: Model baze podataka - MySQL

Model baze podataka - MySQL
Model baze podataka - MySQL

Gore možete vidjeti ERD dijagram koji se nalazi putem MariaDB -a. Preporučujem da slijedite ovaj vodič za instalaciju MariaDB -a, ne samo za instaliranje MariaDB -a, već i kako biste bili sigurni da je vaš Pi zaštićen.

Za ljude koji žele razumjeti, baza podataka radi na sljedeći način:

Mjerenja i prekidači aktuatora pohranjeni su kao redovi unutar Metingen tablice.

  • metingId = ID reda za mjerenje/prebacivanje
  • deviceId = ID uređaja odgovornog za ovaj redak u tablici
  • waarde = vrijednost mjerenja osjetnika ili prekidača aktuatora
    • senzor: vrijednost mjerenja u odgovarajućim jedinicama
    • pogoni: 0 = OFF i 1 = ON
  • komentar = komentari koji se koriste za dodavanje dodatnih informacija, poput pogrešaka
  • datum = datum i vrijeme u kojem je došlo do mjerenja/prekidača

Postavke za uređaj pohranjene su u Postavkama.

  • settingId = ID ovog retka i vrijednost postavke
  • deviceID = ID odgovarajućeg uređaja/senzora
  • waarde = vrijednost postavke
  • type = tip postavke, je li maksimalna ili minimalna?

Na kraju, ali ne i najmanje važno, tablica Uređaji sadrži informacije o senzorima i aktuatorima.

  • deviceId = ID uređaja u ovoj tablici
  • naam = naziv uređaja/komponente
  • merk = marka
  • prijs = cijena komponente
  • beschrijving = sažetak komponente
  • eenheid = jedinica za izmjerene vrijednosti
  • typeDevice = određuje je li komponenta senzor ili aktuator

Korak 5: Frontend: Postavljanje web poslužitelja

Frontend: Postavljanje web poslužitelja
Frontend: Postavljanje web poslužitelja

Pi će zahtijevati da instalirate Apache web poslužitelj kako biste pokrenuli web poslužitelj za ovaj uređaj. To se može učiniti sljedećom naredbom:

sudo apt-get install apache2.

Nakon što to učinite, možete se pomaknuti do mape:/var/www/html. Ovdje ćete morati postaviti sav kôd sučelja. Nakon toga web stranici možete pristupiti pregledavanjem IP adrese.

Korak 6: Pozadina

Da biste pokrenuli pozadinu, morat ćete pokrenuti datoteku app.py, bilo ručno ili stvaranjem usluge za nju na Pi, tako da se automatski pokreće.

Kao što ste mogli primijetiti, postoji dosta datoteka. Odvojio sam kôd koliko sam mogao kako bih imao jasan pregled i organizaciju koda.

Kratko objašnjenje:

app.py: Glavna datoteka u kojoj se spajaju baza podataka, hardverski kod i pozadinski kôd

config.py: Konfiguracijska datoteka za spremišta baze podataka

Spremišta: Za pristup spremištu podataka

  • Pomagač

    • devices_id: klase koje pomažu u identifikaciji podataka o uređaju u bazi podataka
    • lcd: za pokretanje PCF -a i LCD -a
    • Pokretači: klase za pokretanje pokretača
    • Senzori: klase za pokretanje senzora

Korak 7: Postavljanje LED trake

Postavljanje LED trake
Postavljanje LED trake

Odrezao sam dio LED trake i zalijepio je na vrh kutije staklenika. Traka koju sam koristio mogla bi se izrezati na više položaja i ponovno spojiti, tako da možete postaviti više traka i nakon toga ih ponovno spojiti žicama, čime se osvjetljava više prostora.

Korak 8: Postavljanje cijevi

Postavljanje cijevi
Postavljanje cijevi

Cijevi se mogu postaviti na više načina, ali u mom slučaju pričvrstio sam ih sa strane dna, držeći ih što dalje od ostale elektronike i dopuštajući da voda jednostavno teče u prljavštinu.

Korak 9: Postavljanje LCD -a

Postavljanje LCD -a
Postavljanje LCD -a

List pile sam izrezao cjelinu u poklopcu razvodne kutije, stvarajući otvor dovoljno velik za prolaz zaslona, ali dovoljno mali da bi PCB ostala iza njega. Nakon toga je pričvršćen na poklopac pomoću nagiba.

LCD prikazuje IP adrese Raspberry Pi, što vam omogućuje da znate koju adresu možete koristiti za pregledavanje web stranice.

Korak 10: Postavljanje senzora i spajanje LED trake

Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake
Postavljanje senzora i spajanje LED trake

Koristeći sheme prženja, zalemio sam spojeve između žica i postavio otpornike unutar žica, koristeći termoskupljajuće cijevi za njihovu izolaciju.

Na stranama poklopca i dna staklenika izrezane su rupe za pričvršćivanje zakreta, kroz koje sam provukao žice za senzore i LED traku.

Grupirao sam žice prema funkciji. Napetost samih žica i cijevi za skupljanje držala je senzore. Morao sam koristiti samo ljepilo na žicama za DHT11 jer se to dodatno proširilo.

Korak 11: Ožičenje Pi

Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi
Ožičenje Pi

Izrezao sam rupe na bočnoj strani razvodne kutije kako bih omogućio kasnije prolaz žica.

Nakon toga, postavio sam ploču (s T-postolarom, PCF8574a, MCP3008, podesivim otporom i TIP50), relej i Raspberry Pi na dno razvodne kutije, koja je bila prekrivena dvostranom trakom. Napajanje nije stalo na ploču s pločom pa sam je morao staviti sa strane i pomoću žica za kratki spoj spojiti na ploču.

Konačno sam izvukao adapter, žice senzora i aktuatora kroz rupe spojene žice na ploču s kruhom, Raspberry Pi i druge komponente. Žica pumpe je rasječena kako bih mogao staviti krajeve unutar releja kako bi se mogao koristiti kao prekidač.

Korak 12: Izrada spremnika za vodu

Izrada spremnika za vodu
Izrada spremnika za vodu

Napravio sam posudu za vodu od plastične boce od 1 l tako što sam izrezao vrh rezačem za kutije i obojao je radi boljeg izgleda. Pumpa za vodu je zatim postavljena unutra. Zbog pravila komuniciranja plovila, voda bi potencijalno mogla sama poteći kroz cijevi, ali držanje cijevi gore rješava problem.

Korak 13: Konačni rezultat

Konačni rezultat
Konačni rezultat
Konačni rezultat
Konačni rezultat

Trenutak koji ste čekali. Sada možete staviti prljavštinu i sjeme u kutiju staklenika i pustiti uređaj da preuzme kontrolu. S web mjesta možete pratiti status uređaja i postaviti optimalne vrijednosti za osvjetljenje i stanje tla.

Preporučujem zalijevanje tla prvo ručno, jer neka prljavština u početku može biti prilično suha. Čini se da se i neke pumpe zalijevaju prilično sporo, ali morate biti vrlo oprezni jer će se napuniti brže nego što biste očekivali. Zasićenost iznad 80% može učiniti tlo jako vlažnim. I svakako provjerite je li senzor vlažnosti tla dovoljno dubok.

Preporučeni: