Korisnički alati

Site alati


2019:matteo_samsa

Tim 6: "PetCare": "Skrb za kućne ljubimce"

PetCare - Skrb za kućne ljubimce

SPVP 2018./2019.

Matteo Samsa

Članovi Tima

Projektni zadatak

Cijeli projektni zadatak

Moj zadatak:

1. Glavni program za arduino (setup() i loop())

2. Detektor buke koji dojavljuje obavijest u mobilnu aplikaciju u slučaju buke

3. Igračka za mačke s laserom

Svrha sustava

Omogućiti vlasniku kućnog ljubimca izbivanje iz doma od nekoliko sati do dva dana tako da kućnom ljubimcu budu osigurane osnovne potrebe kao što su hrana, zabava i sigurnost, a vlasniku omogućen video nadzor ljubimca na zahtjev te obavijest u slučaju ugrožene sigurnosti.Omogućiti vlasniku kućnog ljubimca izbivanje iz doma od nekoliko sati do dva dana tako da kućnom ljubimcu budu osigurane osnovne potrebe kao što su hrana, zabava i sigurnost, a vlasniku omogućen video nadzor ljubimca na zahtjev te obavijest u slučaju ugrožene sigurnosti.

Ciljevi projekta

Sustav namijenjen psima i mačkama.

Automatska skrb od nekoliko sati do 2 dana (npr. odlazak vlasnika na posao ili kratkotrajno i neplanirano odsustvo)

Ključni dijelovi sustava koje je potrebno realizirati:

1.Hranilica (osigurati hranu)

2.Video-kamera (nadzor prostora na zahtjev)

3.Detektor buke (trajanje i razina buke)

4.Zabava (laser za mačke ili loptice za psa)

5.Mobilna aplikacija (koristi se za konfiguraciju i korištenje sustava)

6.Server (komunikacija između aplikacije i sustava)

Plan projekta

DatumOčekivani rezultat
21.3.Upoznavanje s problematikom
28.3.Intervju skorisnicima– prvi
4.4.Upoznavanje s postojećim rješenjima i mogućnostima
11.4.Intervju s korisnicima – drugi
18.4.Izrada projektnog zadatka
2.5.Idejno rješenje
10.5.Nabavka potrebnih komponenata
16.5.Izvedbeno rješenje – dizajn cijelog sustava
Izrada sustava
30.5.Provjera s korisnicima
Dovršenje sustava
13.6.Prezentacija sustava

Rezultati projekta

Kratki opis rješenja zadataka:

1. Glavni program za arduino

Prilikom pokretanja sustava izvršava se inicijalizacija svih dijelova, nakon čega program ulazi u beskonačnu petlju – loop(). U svakoj iteraciji petlje program očita vrijeme, izraženo u milisekundama, koje je proteklo od pokretanja sustava pomoću funkcije millis() za potrebe izvršavanja određenih funkcija. Nakon toga, provjerava međuspremnik serijske komunikacije, te u slučaju da ima novih podataka ih učita u polje tipa integer. Svaka poruka koju arduino prima u sebi sadrži 5 bajtova: bajt za provjeru, identifikator, i tri bajta podataka. Više o porukama koje se razmjenjuju biti će navedeno kasnije u tekstu.

S obzirom na identifikator izvršava se određena grana Swtich-Case funkcije. U svakoj grani se poziva funkcija za određenu funkcionalnost koja iskorištava jedan, dva ili sva tri bajta podataka iz poruke.

Uz navedeno, u glavnom programu se pozivaju i funkcije koje se neprestano izvršavaju, na primjer, funkcija za detekciju buke.

2. Detektor buke

Detektor buke služi za praćenje razine buke u okolini uređaja te javljanje prekomjerne razine i trajanja putem mobilne aplikacije. Detektor je realiziran pomoću mikrofon modula i Arduino Uno razvojne pločice. Programski kod je napisan u programskom okruženju Arduino IDE. Mogućnosti koje su programirane:

  • Promjenjiva razina detekcije* Promjenjivo vrijeme trajanja buke

Vrijednosti se mijenjaju putem mobilne aplikacije. S obzirom na vrijednosti tih parametara korisnik će putem mobilne aplikacije primati obavijesti.

Za detekciju buke korišten je mikrofon modul VMA309 koji se na arduino povezuje putem analognog pina te daje napon ovisan o detektiranoj glasnoći.

Funkcija za detekciju buke, detektor(), se izvršava svakom iteracijom loop() petlje i provjerava trenutnu razinu buke te ju uspoređuje sa zadanom. Ako je razina buke veća od zadane razine, od tog trenutka započinje brojanje vremena. Ako buka traje duže od zadanog poslati će se poruka putem serijske komunikacije na Raspberry Pi razvojnu pločicu te će taj podatak biti zapisan na web server kojeg će aplikacija na mobitelu pročitati. U tom trenutku na mobitelu se ispisuje obavijest. Nakon što prođe zadano vrijeme u stanju bez buke, poslati će se poruka da nema buke. Poruke se šalju samo pri promjeni stanja.

3. Laser igračka za mačke

Jedinica za zabavu mačaka je napravljena pomoću dva servo motora i laserskog pokazivača. Servo motori se koriste zbog njihove jednostavne i precizne upravljivosti. Motori su spojeni tako da pružaju upravljivo pokretanje lasera u trodimenzionalnom prostoru. Servo motori i laser su upravljani Arduino Uno razvojnom pločicom.

Korišteni su 9g servo motori (VMA600) koji se upravljaju pwm signalom.

U funkciju za postavljanje lasera se primaju 3 varijable, od kojih prva ukazuje je li laser uključen ili ne, a druge dvije predstavljaju x i y koordinate. Implementiran je PID regulator kako bi se upravljala brzina motora.

Detaljniji opis nalazi se u dokumentaciji projekta.


2019/matteo_samsa.txt · Zadnja izmjena: 2023/06/19 18:11 (vanjsko uređivanje)