This shows you the differences between two versions of the page.
pm:prj2021:apredescu:automatic_pet_feeder [2021/04/25 21:24] maria_claudia.buiac |
pm:prj2021:apredescu:automatic_pet_feeder [2021/06/04 13:08] (current) maria_claudia.buiac |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Automatic Pet Feeder ====== | ====== Automatic Pet Feeder ====== | ||
- | Autor: Buiac Maria-Claudia | + | Autor: Buiac Maria-Claudia, 331CC |
===== Introducere ====== | ===== Introducere ====== | ||
Line 9: | Line 9: | ||
===== Descriere generala ===== | ===== Descriere generala ===== | ||
- | {{:pm:prj2021:apredescu:automatic_pet_feeder.png?500|Schema Bloc}} | + | {{:pm:prj2021:apredescu:automatic_pet_feeder_diagram.png?500|Schema Bloc}} |
Modul de functionare al dispozitivului va fi urmatorul: | Modul de functionare al dispozitivului va fi urmatorul: | ||
- | * Modul RTC tine evidenta timpului, iar acesta este transmis la Arduino. Se verifica daca timpul corespunde cu ora stabilita, caz in care se va actiona servomotorul, pentru a elibera portia de hrana. | + | * Modul RTC tine evidenta timpului, iar acesta este transmis la Arduino. Se verifica daca timpul corespunde cu ora stabilita, caz in care se va actiona servomotorul, pentru a elibera portia de hrana. |
+ | * Data si ora vor fi afisate pe LCD, iar cand va fi timpul pentru hrana, se va afisa un mesaj corespunzator. | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | Schema electrica: | ||
+ | |||
+ | {{:pm:prj2021:apredescu:automatic_pet_feeder_sch.png?500|Schema Electrica}} | ||
Lista de piese: | Lista de piese: | ||
* Arduino UNO | * Arduino UNO | ||
- | * Modul RTC | + | * Modul RTC DS1302 |
- | * Servomotor | + | * Servomotor MG996R |
* Fire de legatura | * Fire de legatura | ||
- | * Breadboard | + | * Modul LCD 16x2 I2C |
- | * Baterie | + | |
+ | Mecanismul pentru eliberarea hranii: | ||
+ | * Este format din 2 parti: pe cea de jos e prins servomotorul, iar pe cea de sus elicea servomotorului. | ||
+ | * Ambele parti au cate o fanta deschisa: cand partea de sus se roteste, iar fantele se suprapun, mancarea este eliberata. | ||
+ | |||
+ | {{:pm:prj2021:apredescu:automatic_pet_feeder_img3.jpeg?500|Mecanism motor}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | * Mediu de dezvoltare: Arduino IDE | ||
+ | * Biblioteci externe: | ||
+ | * LiquidCrystal_I2C.h - pentru lucrul cu LCD-ul | ||
+ | * virtuabotixRTC.h - pentru lucrul cu modulul RTC | ||
+ | |||
+ | Arhiva cu codul sursa si bibliotecile se afla in sectiunea **Download**. | ||
+ | |||
+ | Functia setup(): | ||
+ | * Sunt initializate structurile pentru LCD si servomotor. | ||
+ | * Se stabilesc data si ora pentru modulul RTC. | ||
+ | |||
+ | Functia loop(): | ||
+ | * Se afiseaza data si ora pe LCD. | ||
+ | * Se verifica daca ora curenta corespunde cu ora setata, caz in care este actionat servomotorul si se afiseaza pe ecran mesajul "Feeding time!". | ||
===== Rezultate obtinute ===== | ===== Rezultate obtinute ===== | ||
+ | Dispozitivul functioneaza in mod corect. Cantitatea de hrana este eliberata la ora stabilita, iar LCD-ul afiseaza mesajele specifice. | ||
+ | |||
+ | {{:pm:prj2021:apredescu:automatic_pet_feeder_img1.jpeg?500|Proiectul complet}} | ||
+ | {{:pm:prj2021:apredescu:automatic_pet_feeder_img2.jpeg?500|Componente}} | ||
+ | |||
+ | Link pentru demo: https://youtu.be/hR6dgt4eNn4 | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul s-a dovedit a fi foarte interesant. Mi-a placut sa lucrez cu componentele pe care le-am ales si sa invat sa le folosesc. Am invatat multe lucruri, atat la partea de hardware, cat si la partea de software. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2021:apredescu:automatic_pet_feeder.zip?linkonly}} | ||
+ | |||
+ | Arhiva contine: | ||
+ | * automatic_pet_feeder.ino - codul sursa | ||
+ | * i2c_scanner.ino - program pentru a afla adresa modulului I2C de pe LCD | ||
+ | * ArduinoRTClibrary-master - biblioteca pentru RTC | ||
+ | * LiquidCrystal_I2C-master.zip - biblioteca pentru LCD | ||
+ | |||
+ | |||
+ | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/automatic_pet_feeder?do=export_pdf | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | * 6 mai 2021: Piesele au ajuns | ||
+ | * 15 mai 2021: Realizarea de montaje simple pentru familiarizarea cu fiecare componenta | ||
+ | * 20 mai 2021: Realizarea unui montaj care sa cuprinda toate elementele, crearea schemei electrice | ||
+ | * 29 mai 2021: Construirea mecanismului pentru servomotor si asamblarea intregului proiect | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/automatic_pet_feeder?do=export_pdf | + | https://youtu.be/dqr-AT5HvyM\\ |
+ | https://www.makerguides.com/character-i2c-lcd-arduino-tutorial/\\ | ||
+ | https://surtrtech.com/2018/01/27/how-to-simply-use-ds1302-rtc-module-with-arduino-board-and-lcd-screen/ | ||