This shows you the differences between two versions of the page.
pm:prj2022:rstanescu:bianca.ialangi [2022/05/16 10:29] Bianca.ialangi created |
pm:prj2022:rstanescu:bianca.ialangi [2022/06/02 15:42] (current) Bianca.ialangi [Bibliografie/Resurse] |
||
---|---|---|---|
Line 27: | Line 27: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Mediul de dezvoltare folosit a fost ArduinoIDE, programarea fiind realizată în C. Am folosit biblioteca Adafruit pentru modulul de ceas, pentru servomotor am utilizat biblioteca Servo și pentru LCD am utilizat biblioteca LiquidCrystal_I2C. | ||
- | <note tip> | + | În setup inițializez ecranul LCD si aprind lumina. Tot aici inițializez modulul de ceas RTC și setez pinii aferenți pieselor și cerințelor cerute. Pentru a cunoaște masa inițială a recipientului de mâncare, se calculează cu ajutorul senzorului ultrasonic distanța recipientului rămas gol. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | În loop se calculează înălțimea curentă a recipientului gol. În cazul în care gura de deschidere a fost deschisă, cu ajutorul servomotorului, și este la cantitatea distribuită dorită, atunci se închide și servomotorul este semnalat ca fiind închis. În cazul în care dispozitivul se află într-unul din cele 3 intervale cerute de utilizator, servomotorul se va muta 60 de grade și va deschide gura de distribuire. Pe baza calculelor făcute am realizat că 5 grame de mâncare de pisici reprezintă 0.8cm din recipient. Totodată, în momentul în care servomotorul se închide, se semnalează că noul sistem de referință, adică înălțimea veche este în acest moment înălțimea curentă. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | Meniul este format din 4 opțiuni: cea în care utilizatorul își setează cantitatea de mâncare pe care dorește să o dea animalului de companie, și alte 3 opțiuni aferente celor 3 momente ale zilei, în care setează ora la care dorește ca mâncarea să fie distribuită. Pentru o interfață accesibilă, pe ecran se află ora curentă. Pentru a naviga în meniu există 4 butoane, primele 2 butoane navighează prin opțiunile meniului față-spate, în timp ce următoarele 2 butoane se ocupă cu setarea orei și cantității de mâncare dorite. |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{ :pm:prj2022:rstanescu:img_catfeederbi1.jpeg?300 |}} | ||
+ | {{ :pm:prj2022:rstanescu:img_catfeederbi2.jpeg?300 |}} | ||
+ | {{ :pm:prj2022:rstanescu:img_catfeederbi3.jpeg?300 |}} | ||
+ | |||
- | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul a fost implementat cu particularitățile dorite. A fost un impediment faptul că în timp ce avansăm îmi dădeam seamă că pot include și mai multe particularități. O mare problemă a fost crearea gurii de distribuire a mâncării. Pentru a exista posibilitatea de schimbare a recipientului, am ales ca recipientul de sustinere a servomotorului sa fie confectionat din plastic. Aceasta decizie reprezinta un minus in momentul de fata, deoarece nu ofera o buna stabilitate a recipientului de mancare. | ||
+ | De-a lungul proiectului am simitit ca pun in aplicare notiunile dobandite de-a lungul semestrului si m-a surpins ca am putut realiza in mod independent acest proiect. Astept cu nerabdare sa fie testat cu adevarat de cel mai dur critic: motanul meu Mog. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2022:rstanescu:ialangibianca.zip|}} | ||
- | <note warning> | ||
- | 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**. | ||
- | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | |||
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
</note> | </note> | ||
Line 61: | Line 57: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://www.youtube.com/watch?v=dqr-AT5HvyM |
</note> | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||