Automatic Cat Litter Box

Nume: Nastase Maria
Grupa: 331CAb

Introducere

Acest proiect este inspirat de iubitorii de animale, care, desi ar face orice pentru cainii sau pisicile lor, nu suporta sa curete dupa ele. In cadrul acestui proiect, ne vom concentra strict asupra felinelor. Desi pisicile sunt in general mai curate decat cainii, curatarea litierei poate fi o corvoada pentru stapan. Dar, exista o solutie! Automatizarea procesului de curatare, cu scopul de a mai simplifica treburile omului.

Pentru a crea o litiera cu autocuratare, se va introduce o trapa, care se va deschide la intervaluri stabilite de catre user, aruncand continutul intr-un sac asezat sub litiera. Sistemul functioneaza astfel incat sa nu porneasca in momentul in care o pisica se afla la intrarea litierei, si este menit sa raporteze lipsa unei pungi. Odata ce punga se umple, stapanul trebuie doar sa o ridice si sa o arunce la gunoi.

Surse video de inspiratie pentru proiect:

  • Un videoclip care explica functionalitatea unei litiere automate moderne se poate gasi aici.
  • Un videoclip cu o litiera automata construita din carton, care functioneaza pe baza de Arduino se poate gasi aici.

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 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 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 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 Process Interval si se reia ciclul.

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.

Hardware Design

Lista de componente:

  • 1 x Arduino Uno R3 ATmega328P
  • 2 x Breadboard
  • 1 x Senzor ultrasonic HC-SR04
  • 1 x Senzor PIR
  • 1 x Modul RTC
  • 1 x LCD Display SPI 20 x 4
  • 1 x Servomotor
  • 1 x Modul Buzzer
  • 1 x Modul Power Supply
  • 1 x Sursa alimentare VAC-DC
  • 4 x Butoane
  • 4 x Rezistori x 1KOhmi

Schema in Tinkercad

Tinkercad nu contine un modul RTC, si din aceasta cauza, schema nu cuprinde functia de Real Time Clock. De asemenea, in schema este folosit un LCD 16 x 2, desi proiectul contine un display cu 20 coloane si 4 randuri, deoarece nu exista mai multe tipuri de LCD-uri in Tinkercad.

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.
  • 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.
  • 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.
  • 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.

Rezultate Obţinute

Am reusit sa realizez ce mi-am propus, anume o litiera cu curatare automata, care poate sa faca viata stapanilor de pisici mai usoara.

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

Jurnal

  • 04.05.2023 - Alegere tema
  • 05.05.2023 - Creare pagina wiki
  • 07.05.2023 - Documentatie Hardware
  • 14.05.2023 - Realizare Schema Tinkercad
  • 28.05.2023 - Terminare cod
  • 29.05.2023 - Actualizare wiki

Bibliografie/Resurse

Surse folosite in scopul completarii temei:

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/gpatru/automatic_litter_box.txt · Last modified: 2023/05/30 20:33 by maria.nastase2004
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0