Wireless cat feeder

Introducere

Proiectul implică crearea un dispozitiv automat de hranire pentru pisici. Prin intermediul tehnologiei Bluetooth, se pot configura ora și cantitatea de hrană pentru pisică folosind telefonul mobil. Dispozitivul eliberează hrana la ora setată, iar detaliile despre următoarea hranire sunt afișate pe un ecran LCD.Putem seta orarul de hranire pentru pisica, ceea ce este util în special dacă nu sunt mereu acasă în timpul zilei. Astfel, pisica va primi mâncare la ore regulate chiar și în absența stapanului.

Descriere generală

Conectivitate Bluetooth: Permite setarea programului de hrănire direct de pe telefon. Senzor de greutate: Asigură o dozare precisă a hranei (1 kg), monitorizând cantitatea rămasă. Servomotor: Descoperă automat recipientul cu mâncare Ecran LCD: Afișează mesajul “Hranire!” si cantitatea de mancare eliberata,cat si unghiul la care se misca servomotorul Notificări pe telefon: Te anunță când se termină hrănirea și îți indică cantitatea de mâncare rămasă în bol. Verificare manuală: Permite verificarea cantității de mâncare prin comandă Bluetooth. Comunicare I2C: Asigură o afișare clară a mesajelor pe ecranul LCD.

Hardware Design

lista componentelor:

Arduino Uno R3 ATmega328P,

Motor Servo MG90S 180g,

Modul HX711 ADC,

Modul Bluetooth HC-05,

Senzor de cantarire 10kg,

Ecran LCD 1602 IIC/I2C.

pini: pentru servomotor am folosit pinul digital 9,alimentat la pinul de 5V ,si firul de masa la GND

pentru LCD am folosit pinii A4 (SDA) si A5 (SCL) alimentat la pinul de 5V ,si firul de masa la GND

pentru modulul Bluetooth HC-05 am folosit pinii TX (pin digital 2) si RX (pin digital 3) , alimentare la 5V , si firul de masa la GND

senzorul de greutate ,la firul (E+) este conectat la GND, E- cu pin4, A- cu pin5, A+ cu 5V.

Schema bloc:

Schema electrica:

link youtube: https://www.youtube.com/watch?v=IdJ8yPS9MJk&ab_channel=alinS01

Software Design

Mediu de dezvoltare: Platformă de dezvoltare: Arduino IDE

Biblioteci: Servo.h: Pentru controlul servomotorului. Wire.h: Pentru comunicarea I2C cu ecranul LCD. LiquidCrystal_I2C.h: Pentru controlul ecranului LCD I2C. HX711.h: Pentru comunicarea cu senzorul de greutate HX711. SoftwareSerial.h: Pentru comunicarea serială cu modulul Bluetooth. RemoteXY.h: Pentru integrarea cu aplicația RemoteXY pentru control la distanță.

Algoritmi si structuri:

Integrarea cu RemoteXY: Configurarea comunicării seriale pentru modulul Bluetooth. Inițializarea RemoteXY pentru a permite controlul de la distanță prin aplicația mobilă.

Controlul servomotorului: Maparea valorilor sliderului din aplicația RemoteXY la unghiuri între 45 și 90 de grade. Actualizarea unghiului servomotorului în funcție de valoarea sliderului doar dacă aceasta s-a schimbat.

Surse și funcții implementate:

setup(): Inițializează RemoteXY, comunicarea serială, ecranul LCD, și senzorul HX711. Calibrează senzorul HX711 și afișează valori inițiale pe monitorul serial.

loop(): Gestionează RemoteXY pentru a primi comenzi de la distanță. Citește și afișează greutatea măsurată de senzorul HX711 pe monitorul serial. Controlează unghiul servomotorului în funcție de valoarea sliderului din aplicația RemoteXY. Afișează unghiul și greutatea pe ecranul LCD. Include o întârziere scurtă pentru a evita problemele de interfață.

Rezultate Obţinute

Download

Bibliografie/Resurse

pm/prj2024/avaduva/alin.stan.txt · Last modified: 2024/05/26 12:54 by alin.stan
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