User Tools

Site Tools


Differences

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

Link to this comparison view

prj2019:adragan:claudia-preda-87755-cat-feeder [2019/05/25 11:24]
claudia [dot] preda2307 [at] stud [dot] acs [dot] upb [dot] ro
prj2019:adragan:claudia-preda-87755-cat-feeder [2019/05/25 20:52] (current)
claudia [dot] preda2307 [at] stud [dot] acs [dot] upb [dot] ro
Line 3: Line 3:
  
 === Introducere === === Introducere ===
-Proiectul meu va consta in construirea unui dispozitiv ce are rolul de a pune intr-un recipient mancarea destinata consumului pisicii in momentul cand aceasta se apropie de aparat. Ideea mi-a venit deaorece imi doresc o pisica, insa programul incarcat nu imi permite sa am grija mereu de nevoile acesteia, iar dispozitivul meu ar combate acest neajuns. Cred ca este util pentru ca usureaza munca proprietarului pisicii, programul propus fiind adaptat unei diete zilnice recomandate +Proiectul meu va consta in construirea unui dispozitiv ce are rolul de a pune intr-un recipient mancarea destinata consumului pisicii in momentul cand aceasta se apropie de aparat.De asemenea, va trimite si un mesaj prin Bluetooth propritarului cu mesajul "The cat has just been fed". Ideea mi-a venit deaorece imi doresc o pisica, insa programul incarcat nu imi permite sa am grija mereu de nevoile acesteia, iar dispozitivul meu ar combate acest neajuns. Cred ca este util pentru ca usureaza munca proprietarului pisicii, programul propus fiind adaptat unei diete zilnice recomandate 
 pentru o felina. pentru o felina.
  
Line 16: Line 16:
 Proiectul meu consta in dezvoltarea unui dispozitiv de hranire a unei pisici, care functioneaza astfel: Proiectul meu consta in dezvoltarea unui dispozitiv de hranire a unei pisici, care functioneaza astfel:
   * Senzorul ultrasonic detecteaza miscare in jurul aparatului la aproximativ 10 cm.   * Senzorul ultrasonic detecteaza miscare in jurul aparatului la aproximativ 10 cm.
-  * In momnetul in care animalul de companie se afla in prezenta aparatului se activeaza servomotorul, care va deschide trapa de la recipientul cu mancare si ii va permite sa lase o anumita cantiate sa curga.+  * In momnetul in care animalul de companie se afla in prezenta aparatului se activeaza servomotorul, care va deschide trapa de la recipientul cu mancare si ii va permite sa lase o anumita cantiate sa curga, am optat ca pentru fiecare miscare detectata de senzor, trapa se va deschide de doua ori.
   * De asemenea, de fiecare data cand se deschide trapa se va trimite un mesaj pe telefon prin Bluetooth care anunta proprietarul ca pisica a fost hranita.   * De asemenea, de fiecare data cand se deschide trapa se va trimite un mesaj pe telefon prin Bluetooth care anunta proprietarul ca pisica a fost hranita.
  
Line 40: Line 40:
 ==== Software Design ==== ==== Software Design ====
  
-  - Pentru actionarea servomotorului s-a ales o implmentare simplista, prin generarea unor anumite delay uri pentru a obtine diverse pozitii ale acestuia. O alternativa mai eleganta ar fi fost implementarea folosind intreruperi pe Timer-ul 0, deaorece Timer -ul 1 este alocat pentru senzorul ultrasonic. Implementarea functionalitatii sermotorului se face in functia servo_rotate(). Pentru mine aceasta bucata de cod a fost bucata de testare si am ales sa raman cu o implementare dummy, deorece se mula foarte bine pe ce mi doream sa faca dispozitivul. +  - Pentru actionarea servomotorului s-a ales o implmentare simplista, prin generarea unor pulsuri pe pinul PB4, folosind delay -uri pentru a obtine diverse pozitii ale acestuia. O alternativa mai eleganta ar fi fost implementarea folosind intreruperi pe Timer-ul 0, deaorece Timer -ul 1 este alocat pentru senzorul ultrasonic. Implementarea functionalitatii servpmotorului se face in functia //servo_rotate()//. Pentru mine aceasta bucata de cod a fost bucata de testare si am ales sa raman cu o implementare dummy, deorece se mula foarte bine pe ce mi doream sa faca dispozitivul. 
-  - Pentru inregistrarea distantei la care se afla un obiect folosesc un senzor ultrasoni. Am implementat doua metode importante:HC_SR04_init() si HC_SR04_get_distance() (care returneaza un double).  +  - Pentru inregistrarea distantei la care se afla un obiect folosesc un senzor ultrasonic. Am implementat doua metode importante: //HC_SR04_init()// si //HC_SR04_get_distance()// (care returneaza un double, anume distanta la care se afla un obiect detectat).  
-  - O alta parte importanta a codului sunt rutinele de tratare a intreruerilor, folosind Timer1, adaptate dupa laboratorul 3.+  - O alta parte importanta a codului sunt rutinele de tratare a intreruperilor, folosind Timer1, adaptate dupa laboratorul 3.
   - Modulul Bluetooth este utilizat folosind biblioteca //"usart.h"// disponibila in laboratorul 1.   - Modulul Bluetooth este utilizat folosind biblioteca //"usart.h"// disponibila in laboratorul 1.
   - Pentru a comunica prin Bluetooth se foloseste aplicatia //Bluetooth Terminal HC-05//, disponibila pe Google Play.   - Pentru a comunica prin Bluetooth se foloseste aplicatia //Bluetooth Terminal HC-05//, disponibila pe Google Play.
 +  - Functia //main()// contine logica programului care ruleza pe microcontroller. Intr-o bucla //while(1)// se obtine distanta detectata de senzor pana la cel mai apropiat obiect la interval de 80ms si se verifica daca este mai mica decat 10cm, pentru a permite servomotorului sa se declanseze si pentru a trimite un mesaj prin Bluetooth.
   - Inspiratia software a venit din codul de laborator si din sursele din anii trecuti.   - Inspiratia software a venit din codul de laborator si din sursele din anii trecuti.
  
Line 57: Line 58:
  
 Recipientul de stocare al mancarii pentru pisici este compatibil doar cu bobite de mici dimensiuni, cele mai mari se mai blocheaza. Recipientul de stocare al mancarii pentru pisici este compatibil doar cu bobite de mici dimensiuni, cele mai mari se mai blocheaza.
 +
 +Cu o saptmana inainte de finalizarea proiectlui am decis sa aleg sa integrez si un modul Bluetooth HC-05, care sa trimita un mesaj pe telefon in momentul in care pisica a fost hranita, adica cand s-a activat servomotorul.
  
 {{ :prj2019:adragan:00pm4.jpg?300 |}} {{ :prj2019:adragan:00pm4.jpg?300 |}}
prj2019/adragan/claudia-preda-87755-cat-feeder.txt · Last modified: 2019/05/25 20:52 by claudia [dot] preda2307 [at] stud [dot] acs [dot] upb [dot] ro