This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:automatic_pet_feeder [2021/05/21 23:54] maria_claudia.buiac [Hardware Design] |
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 | ||
| - | * Baterie | + | * Modul LCD 16x2 I2C |
| - | * Modul LCD I2C | + | |
| + | 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/ | ||