Automatic animal feeder

Introducere

Dispozitivul automat de hrănire pentru animale permite eliberarea mâncării prin apasarea unui buton (on/of) folosind aplicatia Blynk. Utilizatorii pot hrăni animalele de la distanta printr-un simplu click. Ora ultimei hraniri va ramane afisata pe display. Scopul principal al dispozitivului este de a usura muncanca stapinilor si pentru aasigura o alimentație regulată și consistentă pentru animalele de companie.

Am observat că multe familii nu comunica in privinta hranirii animalului de companie si cainele/pisica ajunge sa primeasca mult mai multa mancare decat are nevoie, astfel luand in greutate, asa ca am considerat că un dispozitiv automatizat ar fi o soluție utilă.

Descriere generală

Hardware Design

* listă de piese

NodeMCU ESP8266
16x2 LCD Module
LCD I2C Module
Servo Motor
Fire mama mama/tata tata

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare:Arduino IDE
  • librării şi surse 3rd-party

BlynkSimpleEsp8266.h: Permite integrarea cu platforma Blynk pentru controlul dispozitivelor IoT.

ESP8266WiFi.h: Librărie pentru conectivitate Wi-Fi utilizată de plăcile ESP8266.
Servo.h: Librărie pentru controlul servomotoarelor.
Wire.h: Librărie pentru comunicarea I2C.
LiquidCrystal_I2C.h: Librărie pentru controlul afișajelor LCD prin I2C.
TimeLib.h: Librărie pentru gestionarea timpului.
WidgetRTC.h: Widget RTC de la Blynk pentru sincronizarea timpului.
* algoritmi şi structuri pe care plănuiţi să le implementaţi
Controlul Servomotorului: Utilizarea unui buton virtual în aplicația 
Blynk pentru a controla poziția servomotorului.
Afișaj LCD I2C: Actualizarea afișajului LCD cu starea curentă a servomotorului ("Deschis"/"Închis") și ora ultimei acțiuni.
Sincronizarea Timpului: Utilizarea unui widget RTC din Blynk pentru a sincroniza timpul și a obține ora exactă pentru înregistrarea momentelor de acțiune.
* (etapa 3) surse şi funcţii implementate

Funcția setup():Inițializează comunicarea serială la 115200 baud pentru debugging. Configurează conexiunea Wi-Fi folosind datele furnizate, Inițializează servomotorul pe pinul GPIO 13, Configurează și inițializează comunicarea I2C pentru afișajul LCD, Afișează un mesaj de inițializare pe LCD și apoi curăță afișajul

Funcția BLYNK_WRITE(V0):Primește valorile trimise de butonul virtual din aplicația Blynk,

Modifică poziția servomotorului în funcție de valoarea primită (0 sau 180 de grade), Actualizează variabila isServoOpen pentru a reflecta starea actuală a servomotorului, Afișează pe LCD starea curentă a servomotorului (“Deschis” sau “Închis”) pentru 2 secunde, Afișează ora ultimei acțiuni pe LCD.

Funcția loop():Rulează funcțiile Blynk necesare pentru menținerea conexiunii și gestionarea evenimentelor.

Rezultate Obţinute

Controlul Servomotorului: Servomotorul poate fi controlat prin aplicația Blynk, permițând deschiderea și închiderea acestuia. Afișaj LCD: Afișajul LCD I2C arată corect starea servomotorului (“Deschis”/“Închis”) și ora ultimei acțiuni. Sincronizarea Timpului: Ora ultimei acțiuni este corect sincronizată și afișată datorită widgetului RTC din Blynk.

Concluzii

Proiectul functioneaza cu succes si poate fi folosit. L-as putea imbunatati adaugand un senzor de greutate, pentru a controla portiile. Am intampiat greutati in realizarea lui, dar prin multa documentare, am reusit sa il fac functional si am invatat multe.8-)

Download

Jurnal

Initial am vrut sa fac recipientul sa se deschida folosind Google Assistent (prin IFTTT) insa nu am reusit sa conectez telefonul la aplicatie. M-am asigurat prima data ca servomotorul functioneza corect apoi am atasat si display ul. Scrisul nu se vedea bine pe ecran si am incercat sa reglez din potentiometrul atasat dar l-am stricat pe parcurs deoarece am folosit un obiect prea ascutit si a trebuit sa il inlocuiesc.m(

Bibliografie/Resurse

pm/prj2024/vstoica/beatrice.oancea.txt · Last modified: 2024/05/27 03:05 by beatrice.oancea
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