This shows you the differences between two versions of the page.
|
pm:prj2026:victor.stoica0203:robert.predeleanu [2026/05/08 15:33] robert.predeleanu [Introducere] |
pm:prj2026:victor.stoica0203:robert.predeleanu [2026/05/16 15:20] (current) robert.predeleanu [Bill of Materials] |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Scopul principal este crearea unui dispozitiv fiabil care să asigure nutriția animalelor de companie chiar și atunci când stăpânii nu sunt acasă, eliminând stresul legat de programul fix de masă. | Scopul principal este crearea unui dispozitiv fiabil care să asigure nutriția animalelor de companie chiar și atunci când stăpânii nu sunt acasă, eliminând stresul legat de programul fix de masă. | ||
| + | |||
| + | Consider că acest proiect este util deoarece îmi oferă posibilitatea de a aplica practic noțiunile studiate în laborator într-un dispozitiv interactiv și vizual, care rezolvă o problemă reală de automatizare. Proiectul demonstrează cum, folosind resurse hardware limitate specifice sistemelor embedded, se poate crea un produs de tip „Smart Home” capabil să gestioneze sarcini critice în timp real, oferind în același timp un beneficiu direct utilizatorilor prin asigurarea unui regim alimentar controlat pentru animalele de companie. | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | <note tip> | + | Proiectul este organizat în trei paliere principale care interacționează bidirecțional: |
| - | 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ă. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | * Modulul de Intrare (Interfața): |
| - | </note> | + | Cuprinde butoanele de control și senzorul de timp (RTC). Acestea furnizează microcontrolerului datele necesare pentru programare și referința temporală precisă. |
| + | |||
| + | * Unitatea Centrală (ATmega328P): | ||
| + | Reprezintă nucleul software. Gestionează logica meniului, stochează setările în memoria permanentă (EEPROM) și decide momentul declanșării hrănirii prin compararea timpului curent cu cel programat. | ||
| + | |||
| + | * Modulul de Ieșire (Execuția): | ||
| + | Include ecranul LCD pentru feedback vizual, buzzer-ul pentru alertă sonoră și servomotorul care acționează mecanismul fizic de distribuție a hranei. | ||
| + | |||
| + | {{:pm:prj2026:victor.stoica0203:schema_bloc_robert_predeleanu.png?700|}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | ==== Bill of Materials ==== |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | |
| - | * rezultatele simulării | + | |
| - | </note> | + | |
| + | ^ Componentă ^ Cantitate ^Link ^ Preț unitar (RON) ^ | ||
| + | | Placă dezvoltare Arduino UNO | 1 | [[https://sigmanortec.ro/Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384| Link]]|30.93 | | ||
| + | | Display LCD SPI | 1 | [[https://www.bitmi.ro/electronica/display-lcd1602-hd44780-albastru-iluminat-10486.html| Link]] |13.99 | | ||
| + | | Modul interfață I2C | 1 | [[https://www.bitmi.ro/module-electronice/modul-interfata-i2c-pentru-lcd1602-10456.html| Link]] |9.99 | | ||
| + | | Buzzer pasiv | 1 | [[https://www.bitmi.ro/module-electronice/modul-buzzer-pasiv-ky-006-10678.html| Link]] |2.99 | | ||
| + | | Condensator electrolitic 1000µF | 2 | [[https://www.emag.ro/condensator-electrolitic-1000uf-25v-dc-105-c-jb-capacitors-jrg1e102m05001300210000b-tme-jrg-1000u-25/pd/DJWX2XMBM/| Link]] |5.08 | | ||
| + | | Condensator ceramic 0.1uF | 2 | [[https://www.emag.ro/condensator-ceramic-0-1uf-50v-x7r-vishay-k104k10x7rf5uh5-t275622/pd/DY9D7KYBM/| Link]] |6.30 | | ||
| + | | Servomotor MG995 | 1 | [[https://www.bitmi.ro/componente-electronice/servomotor-digital-mg995-rotire-360-grade-11563.html| Link]] |44,53 | | ||
| + | | Modul RTC DS3231 | 1 | [[https://sigmanortec.ro/Modul-RTC-DS3231-I2C-de-precizie-p128663726| Link]]|14,74 | | ||
| + | | Set fire Jumper | 1 | [[https://sigmanortec.ro/Set-Jumper-breadboard-140-p136286416| Link]]|11,72| | ||
| + | ^ Preț total ^ ^ ^ 140.02 RON ^ | ||
| + | |||
| + | ==== Funcționalitatea Componentelor ==== | ||
| + | |||
| + | ^ Componentă ^ Rol în proiect ^ | ||
| + | | LCD 1602 | Afișează instrucțiunile, feedback-ul pentru cod și rezultatul accesului | | ||
| + | | Butoane push | Îți permit să navighezi prin meniu, să schimbi orele de hrănire sau să dai o porție la cerere | | ||
| + | | Buzzer Pasiv | Scoate un sunet scurt înainte de eliberarea hranei și în timpul setărilor | | ||
| + | | Servomotor MG995 | Învârte axul pentru a împinge bobițele de mâncare afară din rezervor | | ||
| + | | Modul RTC | Ține minte ora exactă (oră, minut, secundă) chiar și când aparatul este scos din priză | | ||
| + | | Condensator | Stochează energie și o eliberează rapid atunci când servomotorul pornește brusc | | ||
| + | | Adaptor Sursă 5V/2A | Transformă curentul de la priză în curent continuu sigur de 5V pentru tot circuitul | | ||
| + | |||
| + | ==== Schema Electrică ==== | ||
| + | {{:pm:prj2026:victor.stoica0203:schema_electrica_pet_feeder.png?700|}} | ||
| + | |||
| + | ==== Pinout ==== | ||
| + | |||
| + | ^ Componentă ^ Pin Arduino ^ Tip Pin ^ Utilitate ^ | ||
| + | | LCD 1602 | A4 (SDA) | Date I2C | Transmite datele text către ecran | | ||
| + | | LCD 1602 | A5 (SCL) | Clock I2C | Sincronizează transmisia datelor între Arduino și LCD | | ||
| + | | Buton UP | 3 | Digital | Crește valoarea orelor/minutelor în meniul de setare | | ||
| + | | Buton DOWN | 4 | Digital | Scade valoarea orelor/minutelor în meniul de setare | | ||
| + | | Buton MENU | 2 | PCINT | Schimbă starea programului (afișare oră / setare mese) | | ||
| + | | Servomotor MG995 | 9 | PWM | Controlează unghiul și mișcarea precisă a spiralei de hrană | | ||
| + | | Modul RTC | A4 (SDA) | Date I2C | Transmite datele de timp (oră, minut) către Arduino| | ||
| + | | Modul RTC | A5 (SCL) | Clock I2C | Sincronizează citirea timpului de la cipul de ceas| | ||
| + | | Buzzer pasiv | 8 | Digital | Trimite semnalul sonor | | ||
| + | | Linie de Tensiune | 5V | Power | Distribuie tensiunea de 5V către magistrala de alimentare pozitivă a componentelor | | ||
| + | | Referință (GND) | GND | Power | Închide circuitul pentru toate componentele | | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | <note tip> | + | Proiectul va fi implementat folosind limbajul C și va utiliza perifericele hardware ale microcontrolerului pentru gestionarea procesului de automatizare: |
| - | Descrierea codului aplicaţiei (firmware): | + | |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Interfața I2C pentru sincronizarea cu modulul de ceas (RTC) și transmiterea datelor către afișajul LCD. |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * PWM (Pulse Width Modulation) pentru controlul precis al servomotorului MG995 și generarea alertelor sonore prin buzzer. |
| - | * (etapa 3) surse şi funcţii implementate | + | |
| - | </note> | + | * GPIO (Input) pentru preluarea comenzilor de la butoane și navigarea în meniul de configurare. |
| + | |||
| + | * Memoria EEPROM pentru salvarea non-volatilă a programului de hrănire, prevenind pierderea datelor la căderi de tensiune. | ||
| + | |||
| + | * Timere hardware pentru monitorizarea timpului de funcționare a motorului (dozarea porției) și filtrarea semnalului butoanelor (debouncing). | ||
| + | |||
| + | * USART/Serial pentru calibrarea senzorilor și depanarea logicii de comparare a timpului în faza de testare. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||