This shows you the differences between two versions of the page.
pm:prj2022:cristip:deadlinesalarm [2022/05/29 23:30] cosmin.culea [Rezultate Obţinute] |
pm:prj2022:cristip:deadlinesalarm [2022/06/01 16:59] (current) cosmin.culea [Concluzii] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 💤 Deadlines Alarm Clock 💤 ====== | + | ====== 💤 Deadlines Alarm Clock 💤 - Culea Cosmin - 331CA ====== |
- | Culea Cosmin 331CA | ||
===== Introducere ===== | ===== Introducere ===== | ||
Line 45: | Line 44: | ||
<code c> | <code c> | ||
+ | /* Face deep copy pe cele doua structuri (din source in destination) */ | ||
+ | int copy_dt(Ds1302::DateTime *destination, Ds1302::DateTime *source); | ||
+ | |||
/* Functie care invalideaza data primita, dandu-i valori invalide pentru fiecare camp. */ | /* Functie care invalideaza data primita, dandu-i valori invalide pentru fiecare camp. */ | ||
int invalid_dt(Ds1302::DateTime *dt); | int invalid_dt(Ds1302::DateTime *dt); | ||
Line 58: | Line 60: | ||
/* Functie care primeste 2 date, si verifica dt1 == dt2 || dt1 + o zi == dt2 || dt1 + 2 zile == dt2 | /* Functie care primeste 2 date, si verifica dt1 == dt2 || dt1 + o zi == dt2 || dt1 + 2 zile == dt2 | ||
- | * || dt1 + 3 zile == dt si intoarce un define corespunzator in functie de cum ar trebui sa sune alarma | + | * || dt1 + 3 zile == dt si intoarce un define corespunzator in functie de cum ar trebui sa sune |
- | * sau nu (NOT_NOW, NOW, ONE_DAY, TWO_DAYS, THREE_DAYS). | + | * alarma sau nu (NOT_NOW, NOW, ONE_DAY, TWO_DAYS, THREE_DAYS). |
*/ | */ | ||
int is_deadline_due(Ds1302::DateTime &dt1, Ds1302::DateTime &dt2); | int is_deadline_due(Ds1302::DateTime &dt1, Ds1302::DateTime &dt2); | ||
Line 119: | Line 121: | ||
/* Functie care afiseaza meniul cu comenzile ADD si LIST si asteapta input din partea utilizatorului. | /* Functie care afiseaza meniul cu comenzile ADD si LIST si asteapta input din partea utilizatorului. | ||
- | * Prin apasarea butonul NEXT se apeleaza functia list(), iar prin apasarea butonului PREV se apeleaza | + | * Prin apasarea butonul NEXT se apeleaza functia list(), iar prin apasarea butonului PREV se |
- | * functia add(). Se iese din functie la apasarea butonului MENU. | + | * apeleaza functia add(). Se iese din functie la apasarea butonului MENU. |
*/ | */ | ||
void display_menu(); | void display_menu(); | ||
Line 255: | Line 257: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Proiectul final contine toate functionalitatile mentionate in descriere. Pentru mai multe detalii despre cum se poate folosi puteti accesa sectiunea Videos de [[https://drive.google.com/drive/folders/152E0j7yRZQvhC2hqWntqw_iniHv0Y3KW?usp=sharing|aici]]. \\ | Proiectul final contine toate functionalitatile mentionate in descriere. Pentru mai multe detalii despre cum se poate folosi puteti accesa sectiunea Videos de [[https://drive.google.com/drive/folders/152E0j7yRZQvhC2hqWntqw_iniHv0Y3KW?usp=sharing|aici]]. \\ | ||
- | {{:pm:prj2022:cristip:cc-photo1.jpeg?600x700|}} | + | {{:pm:prj2022:cristip:cc-photo1.jpeg?600x800|}} |
- | {{:pm:prj2022:cristip:cc-photo2.jpeg?700x600|}} | + | {{:pm:prj2022:cristip:cc-photo2.jpeg?800x600|}} |
- | {{:pm:prj2022:cristip:cc-photo3.jpeg?700x600|}} | + | {{:pm:prj2022:cristip:cc-photo3.jpeg?800x600|}} |
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Desi la inceput am fost foarte speriat de acest proiect, intrucat nu aveam experienta mai deloc sa lucrez cu componente hardware (in afara laboratoarelor de pm), nu stiam cat de mult timp ar lua sa il finalizez si nu stiam la ce probleme ar trebui sa ma astept, pot spune ca a fost o experienta foarte placuta. Totul a fost mai greu pana mi-au venit piesele, tocmai pentru ca nu stiam la ce sa ma astept. Apoi am incercat usor usor sa pun toate pisele cap la cap, sa le testez, sa caut tutoriale pe youtube si am realizat cat de multe resurse utile exista. \\ |
- | <note warning> | + | Implementarea software mi-a placut cel mai mult, dar a fost si destul de challenging, intrucat desi poate nu pare foarte complicata ideea proiectului in sine, a fost destul de dificil si extrem de mult cod de scris ca sa pot implementa toate functionalitatile asa cum mi le doream. Am avut parte de foarte multe buguri evident, mai ales la implementarea logicii butoanelor, pe care am reusit sa le rezolv pe parcurs prin testarea continua (+ printf-uri cat cuprinde pe interfata seriala ^_^ ). \\ |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | Din punct de vedere hardware, spre bucuria mea, nu am intampinat foarte multe dificultati, asa cum am zis am gasit foarte multe materiale care m-au ajutat sa inteleg principiile de functionare ale componentelor. Singurul meu regret este ca nu mi-am cumparat un buzzer sau un difuzor mai performant, intrucat nu sunt destul de multumit de cum se audea alarma. Am incercat sa convertesc niste melodii, dar nu se aud asa cum m-as fi asteptat. |
- | </note> | + | |
+ | ====== Download ===== | ||
+ | |||
+ | |||
+ | Arhiva cu fisierele sursa .cpp .h si .ino se pot gasi {{:pm:prj2022:cristip:deadlines_alarm.zip| aici}}. | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * **10.05.2022** Alegere tema proiect |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * **15.05.2022** Milestone 1: Introducere, Descriere, Schema Bloc și Componente |
- | </note> | + | * **29.05.2022** Milestone 2: Schema electrică, Software Design, Rezultatele Obținute, Arhivă |
+ | |||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * https://github.com/Treboada/Ds1302 |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.robofun.ro/componente/mini-difuzor-brick.html |
- | </note> | + | * https://electropeak.com/learn/interfacing-ds1302-real-time-clock-rtc-module-with-arduino/ |
+ | * https://www.youtube.com/watch?v=FxaTDvs34mM | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||