This shows you the differences between two versions of the page.
pm:prj2022:amocanu:general_led_strip [2022/05/10 16:44] robert.caplan [Introducere] |
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: |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{: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 ===== | ||
<note tip> | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | ^ Nume Piesa ^ Cantitate ^ |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | | LCD 1602 | 1 | |
- | * diagrame de semnal | + | | Arduino UNO | 1 | |
- | * rezultatele simulării | + | | Potentiometru | 1 | |
+ | | Rezistenta 220ohm | 2 | | ||
+ | | Banda LED | 1 | | ||
+ | | Senzor temperatura | 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 38: | Line 50: | ||
<note tip> | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Mediu de dezvoltare: Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * librării şi surse 3rd-party: Adafruit_NeoPixel, DHT, LiquidCrystal |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * algoritmi şi structuri pe care plănuiţi să le implementaţi: display LED |
- | * (etapa 3) surse şi funcţii implementate | + | |
</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 51: | 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 ===== | ||