Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:sgherman:dogfeeder [2022/05/26 21:13]
sebastian.puiu [Jurnal]
pm:prj2022:sgherman:dogfeeder [2022/06/03 00:29] (current)
sebastian.puiu [Software design]
Line 8: Line 8:
 ===== Introducere ===== ===== Introducere =====
  
-Scopul proiectului este de a realiza un sistem automat, ce va putea hrani un animal de companie, atunci cand este necesar. Procesul de eliberare a mancarii va avea loc doar in momentul in care senzorul de greutate va detecta trecerea sub un anumit prag al gramajului, adica doar daca nu mai exista suficienta hrana. De asemenea, procesul de eliberare al apei va avea loc doar atunci cand senzorul de nivel de apa va detecta ca apa este, ca si in cazul precedent, sub un anumit prag prestabilit. Exista si posibilitatea ca utilizatorul sa elibereze manual mancarea, prin simpla apasa a unui buton fizic sau unui buton din aplicatia de pe telefon. De asemenea, sistemul va avea si alte moduri de functionare,​ care vor putea fi comutate tot prin intermediul unui buton fizic. Fiecare mod va fi asociat cu o culoare generata de un led RGB, pentru a le putea diferentia. In final, exista si un buzzer, cu ajutorul ​caruia vor exista diverse semnale auditive, atunci cand se elibereaza mancarea/​apa sau se apasa pe butoane+Scopul proiectului este de a realiza un sistem automat, ce va putea hrani un animal de companie, atunci cand este necesar. Procesul de eliberare a mancarii va avea loc doar in momentul in care senzorul de greutate va detecta trecerea sub un anumit prag al gramajului, adica doar daca nu mai exista suficienta hrana. De asemenea, procesul de eliberare al apei va avea loc doar atunci cand senzorul de nivel de apa va detecta ca apa este, ca si in cazul precedent, sub un anumit prag prestabilit. Exista si posibilitatea ca utilizatorul sa elibereze manual mancarea, prin simpla apasa a unui buton fizic sau unui buton din aplicatia de pe telefon. De asemenea, sistemul va avea si alte moduri de functionare,​ care vor putea fi comutate tot prin intermediul unui buton fizic. Fiecare mod va fi asociat cu o melodie tematicamelodii ce vor fi redate ​cu ajutorul ​unui buzzer.
 ===== Descriere generala ===== ===== Descriere generala =====
  
 ==== Schema bloc ==== ==== Schema bloc ====
-{{:​pm:​prj2022:​sgherman:​apfs.png |}}+{{:​pm:​prj2022:​sgherman:​pm_pf_diag.png?700|}}
  
  
Line 28: Line 28:
   * Buzzer   * Buzzer
  
-{{:​pm:​prj2022:​sgherman:​my_pm.png?600|}}+{{:​pm:​prj2022:​sgherman:​pm_pf_drawio.png?600|}}
 ===== Software design ===== ===== Software design =====
  
-Codul a fost realizat cu ajutorul lui Arduino Software (IDE). Bibliotecile folosite sunt: '​Servo.h' ​si '​SerialSoftware.h'​. Codul este divizat in doua parti: zona care se ocupa de input-ul primit de la butoanele fizice ​sau de la aplicatia de pe telefon si zona care primeste informatii de la senzori. Aceste ​doua parti sunt separate pentru a nu se intercala actiunile ce sunt efectuate de motorul servo sau pompa de apa. Prin urmare, in cazul primei zone, atunci cand se apasa pe un buton nu se mai tine cont de ce detecteaza senzorii, lasandu-se la latitudine utilizatorului ce cantitate de mancare/apa doreste sa elibereze. Atunci cand este apasat butonul rosu, in cod se activeaza motorul servo care incepe sa se invarta in sensul ceasului, pana cand se renunta la actiunea de apasare. Atunci cand este apasat butonul albastru, in cod se activeaza pompa de apa care incepe sa scoata apa din bazin, pana cand se renunta la actiunea de apasare. In cazul celei de-a doua zone, in cod sunt citite continuu informatii referitoare la greutatea detectata si la nivelul de apa existent. Daca valorile lor scad sub un anumit prag, codul va gestiona eliberarea unei cantitati prestabilite de hrana/apa.+Codul a fost realizat cu ajutorul lui Arduino Software (IDE). Bibliotecile folosite sunt: '​Servo.h'​'​SerialSoftware.h', '​HX771.h',​ '​pitches.h'​ si '​themes.h'. Codul este divizat in trei parti: zona care se ocupa de input-ul primit de la butoanele fizice, zona care se ocupa cu input-ul primit din aplicatia de pe telefon si zona care primeste informatii de la senzori. Aceste ​trei parti sunt separate pentru a nu se intercala actiunile ce sunt efectuate de motorul servo sau pompa de apa. Prin urmare, in cazul primei ​si celei de-a doua zone, atunci cand se apasa pe un buton (fie fizic, fie din aplicatie) ​nu se mai tine cont de ce detecteaza senzorii, lasandu-se la latitudine utilizatorului ce cantitate de mancare/apa doreste sa elibereze. Atunci cand este apasat butonul rosu (sau butonul '​ON'​ din aplicatie, la categoria '​FOOD'​), in cod se activeaza motorul servo care incepe sa se invarta in sensul ceasului, pana cand se renunta la actiunea de apasare ​(sau se apasa butonul '​OFF'​ din aplicatie, la categoria '​FOOD'​). Atunci cand este apasat butonul albastru ​(sau butonul '​ON'​ din aplicatie, la categoria '​WATER'​), in cod se activeaza pompa de apa care incepe sa scoata apa din bazin, pana cand se renunta la actiunea de apasare ​(sau se apasa butonul '​OFF'​ din aplicatie, la categoria '​WATER'​). In cazul celei de-a treia zona, in cod sunt citite ​(in mod continuuinformatii referitoare la greutatea detectata ​dintr-un bol si la nivelul de apa existent ​in celalalt bol. Daca valorile lor scad sub un anumit prag, codul va gestiona eliberarea unei cantitati prestabilite de hrana/apa.
  
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
  
-<note tip> +Am reusit sa obtin toate functionalitatile dorite, acestea fiind incapsulate intr-un design cat mai compact. 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</​note>​+{{:​pm:​prj2022:​sgherman:​pm_pf_1.jpeg?300|}} 
 +{{:​pm:​prj2022:​sgherman:​pm_pf_3.jpeg?​300|}}
  
 ===== Concluzii ===== ===== Concluzii =====
Line 72: Line 73:
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Puiu_Sebastian_Andrei_331CC</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Puiu_Sebastian_Andrei_331CC</​a></​html>​
 +
 +
 +{{:​pm:​prj2022:​sgherman:​COD_PF.zip|}}
  
pm/prj2022/sgherman/dogfeeder.1653588800.txt.gz · Last modified: 2022/05/26 21:13 by sebastian.puiu
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