This shows you the differences between two versions of the page.
pm:prj2021:agrigore:daily [2021/06/03 07:18] gabriela.mircia |
pm:prj2021:agrigore:daily [2021/06/03 07:39] (current) gabriela.mircia [Jurnal] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Autor ===== | ===== Autor ===== | ||
[[gabriela.mircia@stud.acs.upb.ro|Gabriela-Camelia Mircia]] | [[gabriela.mircia@stud.acs.upb.ro|Gabriela-Camelia Mircia]] | ||
+ | |||
+ | Grupa: 332CA | ||
===== Introducere ===== | ===== Introducere ===== | ||
* Proiectul consta in implementarea unui ceas care are mai multe functionalitati precum: afisarea datei si a orei, afisarea zilei saptamanii, posibilitatea de a seta alarme, vizualizarea temperaturii si a umiditatii. Este usor de folosit prin butoane si o aplicatie simpla, dar si usor de vizualizat pe un ecran. | * Proiectul consta in implementarea unui ceas care are mai multe functionalitati precum: afisarea datei si a orei, afisarea zilei saptamanii, posibilitatea de a seta alarme, vizualizarea temperaturii si a umiditatii. Este usor de folosit prin butoane si o aplicatie simpla, dar si usor de vizualizat pe un ecran. | ||
Line 9: | Line 11: | ||
Se conecteaza la o placuta de Arduino UNO un modul RTC pentru afisarea datei si orei. Acestea pot fi modificate prin butoanele de pe breadboard. Utilizatorul are posibilitatea de a vizualiza ora fie in format AM, fie PM. Toate informatiile detaliate sunt afisate pe un LCD controlat cu ajutorul unui potentiometru. | Se conecteaza la o placuta de Arduino UNO un modul RTC pentru afisarea datei si orei. Acestea pot fi modificate prin butoanele de pe breadboard. Utilizatorul are posibilitatea de a vizualiza ora fie in format AM, fie PM. Toate informatiile detaliate sunt afisate pe un LCD controlat cu ajutorul unui potentiometru. | ||
- | La nivelul de temperatura si umiditate este folosit un senzor pentru preluarea datelor, acestea sunt interpretate folosind doua LED-uri: cel rosu se va aprinde daca temperatura trece de o anumita limita (cea setata este de 24C), cel albastru va porni daca temperatura scade sub limita impusa. | + | La nivelul de temperatura si umiditate este folosit un senzor pentru preluarea datelor, acestea sunt interpretate folosind doua LED-uri: cel rosu se va aprinde daca temperatura depaseste o anumita limita (cea setata este de 24C), cel albastru va porni daca temperatura scade sub limita impusa. |
- | Pentru a face mai interactiv proiectul am adaugat un senzor de sunet care determina pornirea si oprirea ceasului. Acesta recunoaste sunete de frecvente asemanatoare unui batut din palme. Spre exemplu, daca e folosit intr-o camera unde exista un dialog continuu, ceasul se va reporni permanent. | + | Pentru a face mai interactiv proiectul am adaugat un senzor de sunet care determina pornirea si oprirea ceasului. Acesta recunoaste sunete de frecvente asemanatoare unei batai din palme. Spre exemplu, daca e folosit intr-o camera unde exista un dialog continuu, ceasul se va reporni permanent. |
Spre final, pentru a complica putin setarea alarmei, a fost introdus un modul bluetooth care functioneaza impreuna cu o aplicatie simpla pentru mobile. Astfel utilizatorul poate seta alarma chiar din telefon. La acel moment buzzerul va suna si cele doua LED-uri vor lumina intermitent. | Spre final, pentru a complica putin setarea alarmei, a fost introdus un modul bluetooth care functioneaza impreuna cu o aplicatie simpla pentru mobile. Astfel utilizatorul poate seta alarma chiar din telefon. La acel moment buzzerul va suna si cele doua LED-uri vor lumina intermitent. | ||
Line 23: | Line 25: | ||
==Componente== | ==Componente== | ||
- | ^ Piesa ^Nr^ Link ^Datasheet/Utile ^ | + | ^ Piesa ^Nr^ Link ^Datasheet/Utils ^ |
| Arduino Uno | 1 | [[https://cleste.ro/arduino-uno-r3-atmega328p.html| link]] | [[https://www.farnell.com/datasheets/1682209.pdf| link]] | | | Arduino Uno | 1 | [[https://cleste.ro/arduino-uno-r3-atmega328p.html| link]] | [[https://www.farnell.com/datasheets/1682209.pdf| link]] | | ||
| | | | ||
Line 56: | Line 58: | ||
| | | | ||
==Schema electrica== | ==Schema electrica== | ||
- | {{:pm:prj2021:agrigore:zzzzzzzzzzzzzzzzzzzzzzzzz.png?650|}} | + | {{:pm:prj2021:agrigore:zzzzzzzzzzzzzzzzzzzzzzzzz.png?700|}} |
Schema a fost realizata in Eagle folosind informatiile din laboratoarele de [[https://ocw.cs.pub.ro/courses/icalc| IC]]. | Schema a fost realizata in Eagle folosind informatiile din laboratoarele de [[https://ocw.cs.pub.ro/courses/icalc| IC]]. | ||
Line 78: | Line 80: | ||
===== Software Design ===== | ===== Software Design ===== | ||
* Limbaj: C | * Limbaj: C | ||
- | * Tehnologie: Arduino IDE Windows | + | * Tehnologie: Arduino IDE Windows, [[https://app.diagrams.net/ | diagrams.net]] |
Line 84: | Line 86: | ||
- | Bibliotecile folosite au fost incluse in arhiva. Acestea depinde de senzorii utilizati. | + | Bibliotecile folosite au fost incluse in arhiva. Acestea depind de senzorii utilizati. |
+ | |||
+ | Exemple: DHT_sensor_library, DS3231, LiquidCrystal | ||
==before== | ==before== | ||
* initializarea variabilelor folosite pe parcurs | * initializarea variabilelor folosite pe parcurs | ||
Line 96: | Line 100: | ||
* citirea datelor transmise de senzori | * citirea datelor transmise de senzori | ||
* verificarea apasarii butoanelor | * verificarea apasarii butoanelor | ||
- | * logica de afisare principala se bazeaza pe senzorul de sunet, declansarea acestuia modifica afisajul de pe ecran: "on-off" ceasului | + | * logica de afisare principala se bazeaza pe senzorul de sunet, declansarea acestuia modifica afisajul de pe ecran: "on-off"-ul ceasului |
- | * schimbarea luminii a 2 LED-uri in functie de temperatura | + | |
* logica "paginilor": o apasare a primului buton modifica afisajul de pe LCD, astfel se creeaza un meniu interactiv | * logica "paginilor": o apasare a primului buton modifica afisajul de pe LCD, astfel se creeaza un meniu interactiv | ||
* pagini: ora, data, ziua saptamanii, temp/umiditate, alarma | * pagini: ora, data, ziua saptamanii, temp/umiditate, alarma | ||
Line 104: | Line 107: | ||
* butonul 4: permite afisarea in format 12/24 ore | * butonul 4: permite afisarea in format 12/24 ore | ||
* afisarea se face in functie de pozitiile de pe LCD folosind setCursor(..) | * afisarea se face in functie de pozitiile de pe LCD folosind setCursor(..) | ||
- | * pagina intermediara: apare dupa apasarea butoanelor 2+1, adica dupa o modificare | + | * pagina intermediara: apare dupa apasarea butoanelor 2+1, adica dupa o modificare facuta de utilizator |
- | * logica optiune temperatura: in functie de limita setata, setez pe LOW/HIGH LED-ul de culoarea potrivita | + | * logica optiune temperatura: in functie de limita impusa, setez pe LOW/HIGH LED-ul de culoarea potrivita |
==modul Bluetooth== | ==modul Bluetooth== | ||
- | * pentru a interactiona cu acest modul am creat o aplciatie pe Android cu ajutorul [[https://appinventor.mit.edu/ | Mit App Inventor]] | + | * pentru a interactiona cu acest modul am creat o aplicatie pe Android cu ajutorul [[https://appinventor.mit.edu/ | Mit App Inventor]] |
- | * aplicatia se bazeaza pe blocuri si imagini, de unde mai apoi este generata o aplicatie | + | * programul se bazeaza pe blocuri si imagini, de unde mai apoi este generata o aplicatie |
* contine 6 butoane: unul pentru conectarea la Bluetooth, unul pentru a opri conectarea, 2 pentru modificarea orei, 2 pentru modificarea minutului | * contine 6 butoane: unul pentru conectarea la Bluetooth, unul pentru a opri conectarea, 2 pentru modificarea orei, 2 pentru modificarea minutului | ||
* aplicatia trimite caractere ('a','b','c','d') care sunt interpretate printr-o serie de blocuri conditionate in C, un caracter reprezinta o modificare a unui minut/unei ore | * aplicatia trimite caractere ('a','b','c','d') care sunt interpretate printr-o serie de blocuri conditionate in C, un caracter reprezinta o modificare a unui minut/unei ore | ||
+ | |||
==alarma== | ==alarma== | ||
Line 117: | Line 121: | ||
* nu poate functiona in acelasi timp cu optiunea pentru temperatura deoarece nu ar trebui confundata lumina LED-urilor | * nu poate functiona in acelasi timp cu optiunea pentru temperatura deoarece nu ar trebui confundata lumina LED-urilor | ||
+ | {{:pm:prj2021:agrigore:apppppppppp.jpg?300|}} | ||
Line 135: | Line 139: | ||
In final, proiectul s-a dovedit a fi usor de folosit, toate functionalitatile dorite au putut fi observate. | In final, proiectul s-a dovedit a fi usor de folosit, toate functionalitatile dorite au putut fi observate. | ||
S-au folosit componente cu functii diversificate pentru un scop comun: sa ofere utilizatorului informatii | S-au folosit componente cu functii diversificate pentru un scop comun: sa ofere utilizatorului informatii | ||
- | si optiuni utile zilnic printr-o interactiune cat mai accesibila | + | si optiuni utile zilnic printr-o interactiune cat mai accesibila. |
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 158: | Line 162: | ||
* 25-27 mai - Hardware + Software.. | * 25-27 mai - Hardware + Software.. | ||
* 28 mai - Upgrade la baterie 9V | * 28 mai - Upgrade la baterie 9V | ||
- | * 29 mai - Upgrade la modul bluetooth | + | * 29 mai - Upgrade la modul bluetooth, Finalizare schema electrica |
* 1 iunie - Filmare si finalizare demo | * 1 iunie - Filmare si finalizare demo | ||
* 3 iunie - Editare pagina wiki | * 3 iunie - Editare pagina wiki |