Mecanism de hranire animale - hungrynatorul

Introducere

Proiectul constă într-un dispozitiv automatizat de hrănire pentru animale de companie, cu scopul de a simplifica procesul de alimentare zilnică, în special în absența proprietarului. Este o soluție practică, sigură și eficientă care răspunde unei nevoi reale a multor persoane ocupate.

Obiective principale:

  1. Automatizarea completă a procesului de hrănire prin acționarea unui servomotor ce eliberează porția de hrană la intervale prestabilite.
  2. Confirmarea audio-vizuală a unei hrăniri reușite: dispozitivul utilizează un buzzer și un LED pentru a semnaliza că hrănirea s-a realizat corect.
  3. Afișare informații în timp real pe un ecran OLED sau LCD – precum ora următoarei hrăniri, starea sistemului sau avertismente.
  4. Interfață de control simplă și intuitivă cu ajutorul a trei butoane, pentru setarea manuală a orei, declanșarea hrănirii sau accesarea meniului.

Motivația proiectului:

  • Proprietarii de animale nu sunt întotdeauna acasă la orele de hrănire. Întârzieri neprevăzute, programul de lucru sau vacanțele pot crea stres și pentru stăpâni, și pentru animale.
  • Mi-am dorit o soluție accesibilă și replicabilă care să înlocuiască temporar rolul uman în acest proces esențial pentru sănătatea animalului.
  • Sistemul este proiectat să fie fiabil și ușor de utilizat, chiar și de persoane fără experiență în programare sau electronică.

Beneficii:

  1. Asigură regularitate în hrănire, importantă pentru sănătatea animalului (mai ales câini de talie mică sau cu diete speciale).
  2. Reduce riscul uitării sau amânării hrănirii.
  3. Permite integrarea viitoare a unor funcții avansate, precum conectivitate Wi-Fi sau monitorizare prin aplicație.
  4. Este o alternativă prietenoasă față de sistemele comerciale costisitoare.

Componente Hardware

Nr. Componentă Cantitate Specificații / Comentarii Link către componentă
1 Microcontroller (ATmega328P) 1 Arduino Uno https://ardushop.ro/ro/arduino/80-arduinoR-uno-rev3-7630049200050.html
2 Servomotor 1 Servomotor pentru acționare mecanică https://ardushop.ro/ro/electronica/1874-servomotor-sg90-6427854028365.html
3 Load cell sensor - patrat - Nu este utilizat (am 3 nu 4) :-/ https://ardushop.ro/ro/senzori/2143-senzor-de-greutate-50kg-6427854032904.html
3 Load cell - dreptunghi - senzor de greutate care nu se leaga in paralel cu altceva https://ardushop.ro/ro/electronica/2418-1349-senzor-greutate.html#/246-greutate_maxima-1_kg
4 Modul HX711 1 Amplificator și convertor ADC pentru senzor de greutate https://ardushop.ro/ro/groundstudio/2207-modul-citire-senzor-greutate-hx711-groundstudio-6427854000040.html
5 Buzzer 1 Buzzer activ pentru semnalizare sonoră https://ardushop.ro/ro/componente-discrete/1724-1283-buzzer.html#/333-tip-pasiv
6 Breadboard 1 Placă pentru conexiuni temporare https://ardushop.ro/ro/electronica/84-breadboard-400-6427854020949.html
7 Ecran OLED 1 Display OLED 0.96” cu interfață I2C https://ardushop.ro/ro/electronica/1903-display-oled-128x32-i2c-6427854028839.html
8 Display LCD 1 l-am ars :-/ https://ardushop.ro/ro/display-uri-si-led-uri/1-modul-display-18inch-160x128-spi-compatibil-micro-bit-6427854012791.html
9 Butoane 3 Butoane push pentru interfață de control imprumutate
10 LED 2 Indicator luminos albastru si rosu https://ardushop.ro/ro/componente-discrete/64-3-led-3mm.html#/3-culoare-alb
11 Fire mama 5 Fire de conexiune tip „mama” pentru cablare LED și alte componente https://ardushop.ro/ro/electronica/77-40-x-fire-dupont-mama-mama-20cm-6427854007094.html
12 Fire tata 30 Fire de conexiune tip „tata” pentru cablare LED și alte componente https://ardushop.ro/ro/fire-si-conectori/5-10-x-fire-dupont-tata-tata-10cm-6427854025869.html
13 Rezistente 2 2 rezistente https://ardushop.ro/ro/fire-si-conectori/5-10-x-fire-dupont-tata-tata-10cm-6427854025869.html

Before:

Descriere generală

Sistemul distribuie automat hrana în funcție de greutatea selectată, activând un servomotor controlat prin microcontroler. Utilizatorul selectează cantitatea dorită de hrană cu ajutorul a trei butoane, fiecare corespunzând unei greutăți prestabilite. Senzorul de greutate, conectat prin intermediul unui adaptor, măsoară cantitatea de hrană deja prezentă. Dacă greutatea măsurată este mai mică decât cea selectată, servomotorul se activează pentru a elibera hrană, care cade pe senzorul de greutate. După distribuire, utilizatorul primește confirmare pe display și printr-un semnal sonor (buzzer) care emite un beep pentru a semnala deschiderea dispenserului. De asemenea, un LED palpită în timpul setării greutății și rămâne aprins constant în restul timpului.

After:

Software Design

Firmware-ul pentru microcontrolerul ATmega328P gestionează întreaga logică a sistemului automat de distribuție a hranei. Codul face următoarele operații principale:

Citirea senzorului de greutate: Firmware-ul preia în mod continuu valorile de la senzorul HX711 conectat la celula de sarcină, pentru a monitoriza greutatea actuală a hranei din recipient si pe printeaza pe display.

Setarea greutății țintă: Utilizatorul poate selecta greutatea dorită folosind cele trei butoane dedicate, fiecare configurând o valoare prestabilită sau incrementând/ajustând greutatea țintă.

Controlul servomotorului: Atunci când greutatea măsurată este mai mică decât greutatea țintă selectată, codul activează servomotorul pentru a elibera hrana. Distribuirea continuă până când greutatea indicată de senzor atinge sau depășește valoarea setată, moment în care servomotorul se oprește automat.

Feedback utilizator: După finalizarea distribuției, codul afișează pe un display LCD greutatea curentă și confirmarea că distribuția s-a încheiat. În același timp, buzzer-ul emite un semnal sonor (beep) pentru a anunța utilizatorul.

Indicații vizuale suplimentare: În timpul configurării greutății, un LED palpită pentru a indica modul de setare activ. În restul timpului, LED-ul rămâne aprins constant.

Rezultate Obţinute

In urma realizării acestui proiect, s-au obținut următoarele rezultate:

Distribuție precisă a hranei: Sistemul a fost capabil să distribuie cantitatea de hrană setată cu o precizie foarte bună, bazându-se pe măsurătorile senzorului de greutate. Ajustarea greutății țintă cu butoanele a funcționat corect, iar servomotorul s-a activat doar atunci când era necesar.

Interfață simplă și eficientă: Cele trei butoane au permis setarea rapidă și ușoară a greutății dorite, iar LED-ul palpitant a oferit un indiciu vizual util în timpul configurării.

Consum redus și compactitate: Sistemul a fost implementat pe un microcontroler ATmega328P, cu un consum energetic redus și un design compact, potrivit pentru utilizare în aplicații practice.

Concluzii

Proiectul sistemului automat de distribuție a hranei a demonstrat eficiența integrării hardware-ului cu software-ul pentru a realiza un dispozitiv inteligent, ușor de folosit și personalizabil. Utilizarea senzorului de greutate combinat cu servomotorul a permis o dozare precisă a hranei în funcție de greutatea setată, evitând risipa și asigurând alimentarea optimă.

Download

Atașez aici fișierul cu codul sursă, disponibil pentru descărcare: cod.rar

Jurnal

Secțiune care urmărește progresul real al proiectului de-a lungul celor 3 săptămâni.

🔹 Săptămâna 1 – Căutare și achiziție componente

  • Am căutat componentele necesare pentru proiect (placă Arduino, servomotor, senzor de greutate, buzzer)
  • Am plasat comenzile pentru componentele principale.
  • În timpul testelor preliminare, am ars un display din greșeală la conectare (am pus gnd la vcc).

🔹 Săptămâna 2 – Corecturi și improvizații

  • Am înlocuit display-ul ars cu unul nou.
  • Am observat că senzorul de greutate cumpărat este „cell weight sensor” cu 4 fire si imi trebuiau 4 si eu aveam doar 3 cumparate si atunci am realizat ca imi trebuie un „load cell block” weight sesor.
  • Am continuat testele cu servomotorul și senzorul, legate prin HX711 si servomotorul in continuare nu merge cum trebuie.

🔹 Săptămâna 3 – Finalizare și prezentare

  • Am conectat toate componentele și am testat funcționalitatea completă:
  • Am realizat ca proeictul pare putin mai simplist asa ca am adaugat 3 butoane pentru setarea greutatii
  • Cele 3 butoane setează o greutate de referință.
  • Dacă greutatea reală este mai mică, se activează servomotorul și se eliberează hrană.
  • Buzzer-ul emite un „beep” la activare.
  • LED-ul clipește la selecția greutății și rămâne aprins constant în restul timpului.
  • In continuare am problemele cu servomotorul si nu pot sa il fac sa mearga cum trebuie

Am prezentat proiectul semi-complet funcțional :-/ , cu toate componentele integrate și testate.

Bibliografie/Resurse

pm/prj2025/rnedelcu/marius.ciochina.txt · Last modified: 2025/05/27 21:15 by marius.ciochina
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