This is an old revision of the document!


Automatic Feeder for Pets

Daria Corpaci, 332CB

Introducere

Viata cu animale de companie poate fi anevoioasă. Asta pentru că sunt foarte mofturoase și foarte mâncăcioase. Proiectul meu vine în ajutorul tuturor stăpânilor, implicit al meu, printr-un aparat care sa hrănească automat animalele, atât prin apăsare de buton, cât și la un interval de timp. În plus, va exista un modul de Bluetooth, prin care stăpânul să își poate hrăni animalul de companie inclusiv prin intermediul propriului telefon.

Ideea proiectului a luat naștere din dorința de a realiza un proiect util pentru mine, deoarece consider că sunt practice implementarea, respectiv folosirea unui astfel de automat în extrem de multe situații, de la momente când ești ocupat și nu ai timp să îți hrănești animalul de companie, când ești plecat din oraș și nu se poate ocupa nimeni de el sau în situațiile, sper puțin probabile, în care pur și simplu nu vrei să te ridici din pat, dar ești 100% convins că vecinul patruped de apartament este înfometat.

Descriere generală

Modul de funcționare

Vor exista 3 modalități prin care va fi acționat automatul:

  • Stăpânul va putea folosi propriul său telefon mobil prin intermediul modulului Bluetooth conectat la Arduino
  • Va exista un buton care, odată apăsat, va acționa servomotorul.
  • Prin modulul RTC se va putea ține evidența timpului. Arduino va verifica daca ora actuală corespunde cu ora setată în prealabil de stăpân, caz în care va fi acționat servomotorul. Va fi conectat, de asemenea, un modul LCD prin care se va afișa constant ultima oră la care animalul a fost hrănit, respectiv timpul rămăs până la următoarea masă.
Schema Bloc

Hardware Design

Listă de piese
  • Arduino UNO
  • Servomotor SG90 9g
  • Modul RTC DS3231
  • Modul Bluetooh HC-02
  • Modul LCD 16×2 I2C
  • Buton
  • Fire de legătură
  • Rezistență
Schema electrică

Software Design

Proiectul este realizat exclusiv în Arduino IDE.

Am folosit 3 biblioteci auxiliare, pentru modulele de LCD și RTC, precum și pentru servomotor:

  • LiquidCrystal_I2C.h
  • DS3231.h
  • Servo.h

Programul este integral structurat în cele 2 funcții, void setup() și void loop(). În setup, am setat pinii corespunzători butonului și servomotorului, respectiv am inițializat modulele de LCD și RTC, iar pentru cel din urmă am setat data și ora curente.

În void loop() verific ceea ce primesc prin Bluetooth de la aplicație, iar în cazul în care inputul este F(Feed) setez o varibilă globală pe 1 și afișez în aplicație mesajul “Meal time”. Pentru transmiterea datelor către modulul de Bluetooth, am folosit aplicația Arduino BlueControl, care se poate găsi și instala de pe Magazin Play.

Verific într-un if valoarea variabilei, ora curentă daca este 12:00 sau 18:00 sau dacă butonul este apăsat. În caz afirmativ, afișez ora și data curente, seminificând ultima masă primită, și acționez servomotorul care se rotește, cu un delay de 5ms, de la 110 la 0 grade, pentru a deplasa capacul ce ține mâncarea, respectiv de la 0 la 110 pentru a îl aduce în poziția inițială.

Diagrama de activități

Rezultate obţinute

Din punct de vedere al implementării hardware, în primă fază am simulat circuitul in Tinkercad, însă fără modulele de Bluetooth și RTC.

Am realizat circuitul și în format fizic și am încărcat codul pe plăcuța Arduino. Ulterior, am adăugat integrat ultimele 2 mpdule pe plăcuță.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

pm/prj2022/cristip/automaticfeederforpets.1654009192.txt.gz · Last modified: 2022/05/31 17:59 by ana_daria.corpaci
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