This shows you the differences between two versions of the page.
pm:prj2022:amocanu:general_led_strip [2022/05/10 17:04] robert.caplan [Software Design] |
pm:prj2022:amocanu:general_led_strip [2022/06/02 14:28] (current) robert.caplan [Download] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Multi-purpose led visualizer ====== | + | ====== Desk Assistant ====== |
===== Introducere ===== | ===== Introducere ===== | ||
Line 9: | Line 9: | ||
* de ce credeţi că este util pentru alţii şi pentru voi | * de ce credeţi că este util pentru alţii şi pentru voi | ||
- | Proiectul va aprinde banda adresabila led in functie de diversele moduri care pot fi selectate. Scopul acestuia este de a ajuta | + | Proiectul ajuta utilizatorul sa aiba o experienta placuta cand sta la birou prin afisarea temperaturii din camera, asistenta la reglarea pozitiei scaunului si aprinderea unei lumini ambientale in functie de noapte/zi. Ideea mi-a venit in urma pandemiei care ne-a fortat sa stam cat mai mult in casa respectiv la birou pentru munca/facultate si in urma durerilor de spate pe care le-am dobandit pentru ca stateam prea aproape de monitor si a obosealii din cauza luminii folosite incorect. Cred ca este util pentru persoanele care petrec mult timp la birou deoarece te ajuta sa te concentrezi (nu mai stai sa verifici temperatura pe alte aplicatii/device-uri), lumina se aprinde/stinge automat, si te poate avertiza cand stai prea aproape de ecran. |
- | utilizatorul vizual in functie de modul de utilizare selectat. Ideea de la care am pornit a fost aceea ca imi doream sa am un joc | + | |
- | de lumini sincronizat la muzica care este redata. Consider ca ar fi util deoarece ar face anumite activitati mai usoare prin | + | |
- | transformarea in mod vizual a unor informatii, sau pentru divertisment. | + | |
</note> | </note> | ||
Line 18: | Line 15: | ||
<note tip> | <note tip> | ||
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Schema bloc a proiectului: |
- | {{:pm:prj2022:amocanu:pm_caplan_schema_bloc.png?600|}} | + | {{:pm:prj2022:amocanu:pmmmmmcr.png?600|}} |
+ | |||
+ | Arduino-ul asteapta date de la senzorul de lumina, senzorul ultrasonic si senzorul de temperatura, si in functie de scenariul in care se afla va afisa informatiile pe ecranul LCD si va aprinde bandal LED. | ||
</note> | </note> | ||
+ | |||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 31: | Line 31: | ||
| Arduino UNO | 1 | | | Arduino UNO | 1 | | ||
| Potentiometru | 1 | | | Potentiometru | 1 | | ||
- | | Rezistenta 10k | 1 | | + | | Rezistenta 220ohm | 2 | |
- | | Rezistenta 22k | 2 | | + | | Banda LED | 1 | |
- | | Microfon | 1 | | + | | Senzor temperatura | 1 | |
- | | Banda LED | 1 | | + | | Senzor ultrasonic | 1 | |
+ | | Senzor lumina | 1 | | ||
</note> | </note> | ||
+ | == Schema electrica == | ||
+ | |||
+ | {{:pm:prj2022:amocanu:circuitpngcaplan.png?500|}} | ||
+ | |||
+ | == Schema fizica == | ||
+ | |||
+ | {{:pm:prj2022:amocanu:circuit_fiziccaplan.jpeg?300|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 43: | Line 51: | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
* Mediu de dezvoltare: Arduino IDE | * Mediu de dezvoltare: Arduino IDE | ||
- | * librării şi surse 3rd-party: Adafruit_NeoPixel | + | * librării şi surse 3rd-party: Adafruit_NeoPixel, DHT, LiquidCrystal |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi: algoritm de recunoastere a frecventelor si display LED | + | * algoritmi şi structuri pe care plănuiţi să le implementaţi: display LED |
</note> | </note> | ||
+ | == Code == | ||
+ | |||
+ | In functia **setup()** se initializeaza librariile. In functia **loop()** se verifica distanta fata de utilizator si daca este destula lumina in camera sau nu. Daca este suficienta lumina, banda led ramane stinsa. Altfel, se aprinde, dupa care se verifica distanta. Daca este mai mica de 40cm, inseamna ca persoana sta prea aproape de ecran. Se verifica si daca se afla cineva la birou. Daca nu, banda led ramane stinsa iar pe ecranul lcd se afiseaza informatii despre camera. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 54: | Line 65: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | In urma acestui proiect m-am familiarizat sa lucrez cu Arduino. De asemenea, am invatat cum sa fac "debugging" atunci cand lucrez cu componente electrice si cum sa folosesc statia de lipit. A fost o experienta placuta sa construiesc un proiect de la 0 atat hardware cat si software. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:amocanu:pmprj2022cbcaplan_robert.zip|}} |
- | 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**. | + | |
- | </note> | + | |
- | + | ||
- | ===== Jurnal ===== | + | |
- | + | ||
- | <note tip> | + | |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||