Proiectul constă în realizarea unui sistem mecatronic capabil să elibereze porții de hrană uscată pentru animalele de companie la intervale de timp prestabilite de utilizator. Sistemul monitorizează ora exactă și acționează un mecanism de dozare mecanic pentru a automatiza procesul de hrănire.
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.
Proiectul este organizat în trei paliere principale care interacționează bidirecțional:
Cuprinde butoanele de control și senzorul de timp (RTC). Acestea furnizează microcontrolerului datele necesare pentru programare și referința temporală precisă.
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.
Include ecranul LCD pentru feedback vizual, buzzer-ul pentru alertă sonoră și servomotorul care acționează mecanismul fizic de distribuție a hranei.
| Componentă | Cantitate | Link | Preț unitar (RON) |
|---|---|---|---|
| Placă dezvoltare Arduino UNO | 1 | Link | 30.93 |
| Display LCD SPI | 1 | Link | 13.99 |
| Modul interfață I2C | 1 | Link | 9.99 |
| Buzzer pasiv | 1 | Link | 2.99 |
| Condensator electrolitic 1000µF | 2 | Link | 5.08 |
| Condensator ceramic 0.1uF | 2 | Link | 6.30 |
| Servomotor MG995 | 1 | Link | 44,53 |
| Modul RTC DS3231 | 1 | Link | 14,74 |
| Set fire Jumper | 1 | Link | 11,72 |
| Preț total | 140.02 RON |
| 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 |
| 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 |
Codul sursă al acestui proiect, scris în C++ pentru mediul Arduino, acționează ca centrul de comandă al întregului sistem. Nu este doar un simplu temporizator, ci un sistem integrat care gestionează precis timpul, interfața utilizatorului și controlul electromecanic.
Pentru a asigura un timp de răspuns instantaneu și o amprentă redusă în memorie, codul a fost optimizat folosind tehnici de programare la nivel coborât (Direct Port Manipulation).
Funcționalități și Tehnici Cheie:
A fost realizat un prototip electromecanic funcțional și autonom al unui dozator de hrană pentru animale de companie, echipat cu o interfață utilizator pe un display LCD 1602. Sistemul permite programarea orelor de masă folosind 3 butoane tactile, care controlează precis un mecanism elicoidal (sfredel Arhimedic) acționat de un servomotor de rotație continuă.
Sistemul include un meniu complex și multiple funcționalități hardware și software, precum:
Implementarea finală a proiectului demonstrează o arhitectură software hibridă: utilizează biblioteci standard pentru comunicația I2C și generarea semnalelor PWM, combinate cu configurarea directă a registrelor hardware (PORTB, PORTD, DDRB, DDRD, PIND) pentru citirea rapidă a butoanelor cu rezistențe interne de Pull-Up și controlul pinilor GPIO.
Realizarea acestui proiect a demonstrat cu succes integrarea conceptelor de electronică, programare la nivel coborât și mecanică DIY într-un dispozitiv practic, autonom și util. Dozatorul automat de hrană își îndeplinește cu precizie scopul, oferind un sistem stabil pentru programarea meselor animalelor de companie.
Una dintre cele mai mari provocări, dar și realizări, a fost proiectarea și asamblarea mecanismului de dozare (sfredelul Arhimedic) folosind exclusiv materiale reciclabile (carton laminat). Această etapă a dovedit că limitările de resurse materiale pot fi depășite prin inginerie creativă. Din punct de vedere software, tranziția de la funcțiile Arduino standard la manipularea directă a registrelor ATmega328P a oferit o perspectivă valoroasă asupra arhitecturii hardware și a optimizării performanței.
Pe viitor, proiectul poate fi extins prin modelarea și printarea 3D a ansamblului mecanic pentru o rezistență sporită la uzură, sau prin integrarea unui modul Wi-Fi (ex. ESP8266) pentru controlul și monitorizarea hrănirii de la distanță printr-o aplicație mobilă.
Arhiva atașată pe OCW conține codul sursă complet al proiectului realizat pentru Arduino UNO R3.
Fișier: