This shows you the differences between two versions of the page.
pm:prj2023:gpatru:automatic_litter_box [2023/05/30 03:30] maria.nastase2004 [Download] |
pm:prj2023:gpatru:automatic_litter_box [2023/05/30 20:33] (current) maria.nastase2004 [Rezultate Obţinute] |
||
---|---|---|---|
Line 16: | Line 16: | ||
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Functionalitatea aparatului se bazeaza pe alegerea unui interval de timp catre user cu ajutorul a doua butoane (in scopul incrementarii sau a decrementarii numarului de ore/zile). Astfel, prin intermediul unui ecran LCD, se pot seta numarul de ore sau zile peste care se va activa sistemul. | + | Functionalitatea aparatului se bazeaza pe alegerea unui interval de timp catre user cu ajutorul a doua butoane (in scopul incrementarii sau a decrementarii numarului de minute/ore/zile). Astfel, prin intermediul unui ecran LCD, se pot seta numarul de minute, ore sau zile peste care se va activa sistemul. De asemenea, user-ul este nevoit sa seteze distanta pana la cutia care contine sacul, pentru ca mai tarziu sa fie posibila detectarea acesteia pe baza de distanta |
- | Odata ce s-a stabilit un intervalul, sistemul intra intr-o stare de **Wait** pana in momentul in care trece perioada aleasa. Se face astfel o tranzitie catre modul **Active**, moment in care intai verifica daca pisica se afla la intrarea litierei prin intermediul unui Senzor ultrasonic. In caz afirmativ, produce un sunet folosind un Buzzer pentru a o alunga si intra intr-o scurta perioada de sleep pntru a verifica din nou. Altfel, va intra in starea de **Cleaning**. | + | Odata ce s-a stabilit un intervalul, sistemul intra intr-o stare de **Process Interval** pana in momentul in care trece perioada aleasa. Se face astfel o tranzitie catre modul **Active**, moment in care intai verifica daca cosul cu punga sunt plasate corespunzator prin intermediul unui senzor ultrasonic. Apoi, daca cosul este sub litiera, se incearca detectarea miscarii (senzor PIR) ca in cazul in care pisica se afla la intrarea litierei, sa fie alungata. In ambele cazuri, se produce un sunet folosind un Buzzer si se intra intr-o scurta perioada de sleep pntru a verifica din nou. Odata ce cutia e asezata corect si pisica nu se afla in zona, se va intra in starea de **Cleaning**. Este important de mentionat ca buzzer-ul se va activa din 5 in 5 minute daca nu e detecctat containerul de sub litiera. |
- | Cand incepe curatarea, baza litierei, care e proiectata ca o trapa, se va deschide (actiune realizata de un Servomotor, pentru a elimina continutul intr-un container asezat sub litiera. Containerul trebuie sa contina inauntru o punga, pentru ca stapanul sa o poata ridica usor si a o arunca instant la gunoi. Aparatul este menit sa detecteze daca containerul lipseste printr-un senzor ultrasonic, si va raporta acest lucru prin intermediul unui Buzzer inainte de a incepe curatarea si la fiecare 5 minute cat timp e in starea de **Wait**. | + | Cand incepe curatarea, baza litierei, care e proiectata ca o trapa, se va deschide (actiune realizata de un Servomotor), pentru a elimina continutul in containerul asezat sub litiera. Acesta trebuie sa contina inauntru o punga, pentru ca stapanul sa o poata ridica usor si a o arunca instant la gunoi. |
- | Odata ce s-a terminat etapa de curatat, automatul intra din nou in starea de **Wait** si se continua ciclul. | + | Odata ce s-a terminat etapa de curatat, automatul intra din nou in starea de **Process Interval** si se reia ciclul. |
- | De asemenea, este important de mentionat ca user-ul poate opri automatul din starea de **Wait** printr-un buton, trecandu-se in starea de **Stop**, timp in care se asteapta stabilirea unui nou interval de curatare. | + | De asemenea, user-ul are disponibilitatea de a intrerupe automatul din orice stare (in afara de deschiderea si inchiderea trapei) printr-un buton, trecandu-se in starea de **Stop**, si apoi user-ul poate sa aleaga intre resetarea distantei catre container si resetarea perioadei de timp pentru functionarea aparatului. |
- | {{ :pm:prj2023:gpatru:automatic_litter_box_schematic.png?550 |}} | + | {{:pm:prj2023:gpatru:schema_litterbox.png?550|}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 52: | Line 52: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | + | Aparatul functioneaza pe baza unui automat finit de stari. Acestea constau in: | |
- | + | * **Gather Data** - Automatul asteapta ca user-ul sa seteze distanta catre cos, perioada de timp si intervalul de functionare. | |
- | <note tip> | + | * **Process Interval** - Automatul asteapta trecerea intervalului ales, dar in acelasi timp verifica din 5 in 5 minute daca cosul e plasat corespunzator, activand buzzer-ul in cazul in care nu e. |
- | Descrierea codului aplicaţiei (firmware): | + | * **Active** - Aceasta stare incepe odata cu termiarea intervalului de timp setat. Se verifica din nou daca containerul e plasat coret, iar apoi se incearca detectarea miscarii. Daca se intarce un rezultat afirmativ de la oricare dintre cele doua, se intra intr-o stare de sleep, si se reincearca. Altfel, se deschide si se inchide trapa. Se revine inapoi la starea **Process Interval**. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * **Stop** - Daca se apasa pe butonul Stop, se genereaza o intrerupere, si user-ul are optiunea sa reseteze distanta catre cos sau perioada si intervalul de timp. Astfel, orice alegere ar face, se intra din nou in starea de **Gather Data**, doar ca pasul de inceput va fi diferit. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Am reusit sa realizez ce mi-am propus, anume o litiera cu curatare automata, care poate sa faca viata stapanilor de pisici mai usoara. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul s-a dovedit a fi chiar foarte interesant. Chiar pot sa spun ca am invatat multe despre Arduino si am ajuns sa lucrez cu pasiune. Chiar si munca depusa pentru a crea recuzitele necesare (masuta) a fost distractiv pentru mine! | ||
===== Download ===== | ===== Download ===== | ||
Line 77: | Line 71: | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 04.05.2023 - Alegere tema |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 05.05.2023 - Creare pagina wiki |
- | </note> | + | * 07.05.2023 - Documentatie Hardware |
+ | * 14.05.2023 - Realizare Schema Tinkercad | ||
+ | * 28.05.2023 - Terminare cod | ||
+ | * 29.05.2023 - Actualizare wiki | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |