This shows you the differences between two versions of the page.
|
pm:prj2024:amocanu:eduard.levinschi [2024/05/27 03:08] eduard.levinschi [Descriere generală] |
pm:prj2024:amocanu:eduard.levinschi [2024/07/03 14:38] (current) eduard.levinschi |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Food Dispenser ====== | + | ====== Pet Feeder ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| Line 19: | Line 19: | ||
| <note tip> | <note tip> | ||
| - | Listă de piese: | + | **Listă de piese**: |
| * Placă de Dezvoltare ESP32 cu WiFi și Bluetooth 4.2 | * Placă de Dezvoltare ESP32 cu WiFi și Bluetooth 4.2 | ||
| * Blue Gearmotor with Metal Gears and Extended Axis (1:90, 110 rpm, 3 - 6 V) | * Blue Gearmotor with Metal Gears and Extended Axis (1:90, 110 rpm, 3 - 6 V) | ||
| Line 29: | Line 29: | ||
| * Adaptor 5.7V 800 mA | * Adaptor 5.7V 800 mA | ||
| * jumper wires | * jumper wires | ||
| - | {{:pm:prj2024:amocanu:schematic_pet_feeder.jpg?500|}} | + | **Schema electrica**:\\ {{:pm:prj2024:amocanu:schematic_pet_feeder.jpg?500|}}\\ |
| + | **Poze cu proiectul**:\\ | ||
| + | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-27_at_01.35.54.jpeg?300|}}\\ | ||
| + | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-27_at_01.35.56.jpeg?300|}}\\ | ||
| + | {{:pm:prj2024:amocanu:whatsapp_image_2024-05-27_at_03.06.11.jpeg?300|}}\\ | ||
| </note> | </note> | ||
| Line 37: | Line 41: | ||
| <note tip> | <note tip> | ||
| Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | **Mediu de dezvoltare**: Arduino IDE 2\\ |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | **Librării**: |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | - HX711.h: Pentru interfatarea cu senzorul de greutate HX711.\\ |
| - | * (etapa 3) surse şi funcţii implementate | + | - WiFi.h: Pentru conectivitatea WiFi a ESP32.\\ |
| + | - Adafruit_MQTT.h și Adafruit_MQTT_Client.h: Pentru conexiunea MQTT cu Adafruit IO.\\ | ||
| + | **Algoritmi și structuri implementate** | ||
| + | - Conexiunea la WiFi: În setup(), ESP32 se conectează la rețeaua WiFi folosind credențialele furnizate. | ||
| + | - Configurarea MQTT: Este configurată conexiunea MQTT cu Adafruit IO pentru a primi comenzi de la platformă. | ||
| + | - Configurarea senzorului de greutate: Senzorul HX711 este inițializat și calibrat pentru a măsura corect greutatea. | ||
| + | - Controlul motorului: Motorul este controlat folosind un driver H-Bridge, iar viteza acestuia este controlată prin PWM (Pulse Width Modulation). Motorul poate funcționa la viteză normală sau redusă pentru ajustări fine. | ||
| + | - Algoritm de hrănire: În funcție de comanda primită (normal sau overweight), motorul va funcționa până când se atinge greutatea țintă specificată. Greutatea este măsurată continuu și motorul se ajustează între viteză normală și viteză redusă pentru a atinge cât mai precis greutatea țintă. | ||
| + | - Hrănire automată: Odată ce comanda este dată, pet feeder-ul continuă să hrănească animalul o dată la 8 ore până când se primește o nouă comandă. | ||
| + | **Surse și funcții implementate**\\ | ||
| + | Codul firmware este structurat în jurul a trei funcții principale. Funcția setup() inițializează motorul și senzorul de greutate, realizează conexiunea la WiFi și la serviciul MQTT Adafruit IO. Funcția loop() menține conexiunea MQTT activă, citește comenzile primite și controlează motorul pentru hrănirea animalului în funcție de modul selectat (normal sau overweight). Funcția MQTT_connect() gestionează procesul de conectare și reconectare la Adafruit IO pentru a asigura o comunicare continuă. | ||
| </note> | </note> | ||
| Line 51: | Line 65: | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | In concluzie, acest proiect este ușor de folosit deoarece necesită efort minim din partea utilizatorului și va ajuta toate animalele care au nevoie de o dietă strictă din punct de vedere al cantității de mâncare. | ||
| ===== Download ===== | ===== Download ===== | ||