This shows you the differences between two versions of the page.
pm:prj2024:mdinica:diana.caragui [2024/05/03 10:54] bianca.dumitru0711 created |
pm:prj2024:mdinica:diana.caragui [2024/05/28 01:05] (current) diana.caragui |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nume proiect ====== | + | ====== Automatic cat feeder ====== |
+ | Autor: Cărăgui Diana-Nicoleta\\ | ||
+ | Grupa: 332AB\\ | ||
+ | Email: diana.caragui@stud.acs.upb.ro | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | <note tip> | + | Proiectul presupune dezvoltarea unui dispozitiv automat de hrănire a animalelor de companie, mai exact, a pisicilor. Scopul principal al proiectului este de a oferi proprietarilor de pisici o soluție convenabilă și eficientă pentru a își hrăni animalele de companie într-un mod regulat și controlat.\\ |
- | Prezentarea pe scurt a proiectului vostru: | + | |
- | * ce face | + | Ideea a pornit de la observația că mulți proprietari de animale se confruntă cu dificultăți legate de organizarea timpului pentru hrănirea acestora, mai ales în situația unor absențe prelungite.\\ |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | Consider că proiectul aduce beneficii atât proprietarilor de animale, cât și pisicilor lor. Proprietarii beneficiază de un program flexibil și convenabil pentru hrănirea regulată a animalelor de companie, având posibilitatea de a controla și monitoriza cantitatea de hrană furnizată, putând astfel să îndeplinească nevoile nutritive ale pisicilor lor într-un mod corespunzător. Pisicile beneficiază de un program alimentar stabil și predictibil, contribuind la reducerea stresului și anxietății asociate cu schimbările rutinei alimentare, și primesc o nutriție echilibrată, menținându-și astfel starea de sănătate optimă și calitatea vieții îmbunătățite. |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
- | </note> | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | Odată apăsat butonul de pornire al dispozitivului, utilizatorul stabilește ora de hrănire a animăluțului cu ajutorul tastaturii matriceale de 4x4. Datele introduse sunt, mai apoi, afișate pe ecranul LCD pentru confirmare. La ora setată, servomotorul este activat pentru a deschide recipientul de hrană și a permite distribuirea hranei în bol, iar pisica va fi alertată că este ora mesei prin intermediul unui buzzer.\\ |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Senzorul de greutate va măsura cantitatea de hrană rămasă în recipient și va compara această valoare cu o limită prestabilită. În cazul în care nivelul de hrană este sub limită, pe ecranul LCD va fi afișat un mesaj de avertizare, oferind utilizatorului informații suplimentare despre starea hranei. |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | Diagrama bloc a proiectului: |
- | </note> | + | {{ :pm:prj2024:mdinica:catfeederdiagram.png |}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | **Listă de piese:**\\ |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | * placă Arduino Uno\\ |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | * modul RTC\\ |
- | * diagrame de semnal | + | * senzor de greutate 5kg\\ |
- | * rezultatele simulării | + | * amplificator HX711\\ |
- | </note> | + | * servomotor\\ |
+ | * display LCD I2C\\ | ||
+ | * 4x4 Matrix Keypad\\ | ||
+ | * buton\\ | ||
+ | * buzzer\\ | ||
+ | * rezistențe\\ | ||
+ | * fire de legătură\\ | ||
+ | * breadboard\\ | ||
+ | |||
+ | Stadiu hardware inițial | ||
+ | |||
+ | {{ :pm:prj2024:mdinica:whatsapp_image_2024-05-27_at_14.45.12.jpeg?300 |}} \\ | ||
+ | |||
+ | Pentru a îl face să arate cât mai mult ca un produs real, am construit o carcasă dintr-o cutie pe care am lipit recipientul pentru hrană, iar în interior am introdus componentele pentru a evita distrugerea firelor sau a pieselor. \\ | ||
+ | |||
+ | {{ :pm:prj2024:mdinica:whatsapp_image_2024-05-27_at_14.45.11.jpeg?300 |}} \\ | ||
+ | |||
+ | {{ :pm:prj2024:mdinica:whatsapp_image_2024-05-27_at_14.45.10.jpeg?300 |}} \\ | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | **Mediu de dezvoltare**: Visual Studio Code + Platform.io \\ | ||
- | <note tip> | + | **Repo Git**: [[https://github.com/dianac22/PetFeeder.git]] \\ |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | **Biblioteci utilizate**: LiquidCrystal_I2C.h, Keypad.h, Servo.h, Wire.h, RTClib.h, HX711.h, SPI.h. \\ |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | **Software Design**: \\ |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | Codul este structurat în mai multe fișiere pentru a îmbunătăți modularitatea și lizibilitatea. Fiecare fișier se ocupă de o funcționalitate specifică a sistemului. \\ |
+ | |||
+ | În **main.cpp** funcția de setup se ocupă de configurarea întregului sistem și inițializarea componentelor hardware. Bucla principală rulează în mod continuu și gestionează afișarea timpului, introducerea orei de hrănire a pisicii și verificare greutății containerului de hrană după fiecare masă. \\ | ||
+ | |||
+ | **Utilizarea funcționalităților din laborator**: \\ | ||
+ | |||
+ | Laboratorul 1: UART - Comunicare serială pentru debugging \\ | ||
+ | Laboratorul 3: Timere/PWM - Configurare prin întreruperi a servomotorului \\ | ||
+ | Laboratorul 6: I2C - Comunicare cu ecranul LCD \\ | ||
+ | |||
+ | TO DO: Algoritmi folosiți și restul implementării | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | TO DO: Demo |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Experiența a fost una plăcută, în special realizarea designului aparatului care a fost mai greu de elaborat. În primă fază am ales ceva mai complicat și am realizat că nu aveam toate uneltele necesare, prin urmare am improvizat ceva mai simplu, dar care să arate bine în final. Am avut ocazia să aplic și să fixez o serie de noțiuni datorită implementării acestui proiect, fiind prima dată când am lucrat cu unele din componentele utilizate. Am reușit să implementez tot ce mi-am propus, dar aș fi putut adăuga și un modul bluetooth pentru a trimite un mesaj pe telefon utilizatorului când a fost hrănită pisica, făcând astfel proiectul mai complet. Proiectul este funcțional și îndeplinește capabilitățile unui produs real. |
- | <note warning> | + | ===== Download ===== |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | {{:pm:prj2024:mdinica:catfeeder.zip|}} |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 22 aprilie - alegere temă |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 27-29 aprilie - achiziționare componente |
- | </note> | + | * 1 mai - începere documentație |
+ | * 10-12 mai - asamblare și testare componente | ||
+ | * 15-19 mai - scriere cod | ||
+ | * 23 mai - asamblare proiect și realizare carcasă | ||
+ | * 24 mai - mici schimbări în cod | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | [[https://randomnerdtutorials.com/]] \\ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf]] \\ |
- | </note> | + | [[https://www.instructables.com/Arduino-Scale-With-5kg-Load-Cell-and-HX711-Amplifi/]] |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||