This shows you the differences between two versions of the page.
pm:prj2022:robert:mood-lamp [2022/05/12 22:11] bianca.podoreanu created |
pm:prj2022:robert:mood-lamp [2022/05/27 23:28] (current) bianca.podoreanu [Download] |
||
---|---|---|---|
Line 18: | Line 18: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | ||
Piese folosite: | Piese folosite: | ||
* Arduino UNO | * Arduino UNO | ||
Line 28: | Line 27: | ||
* Rezistori | * Rezistori | ||
* Led RGB | * Led RGB | ||
- | </note> | + | |
+ | Schema electrica: | ||
+ | {{:pm:prj2022:robert:schema_electricabp.png?800 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | Am lucrat in Arduino IDE.\\ |
- | Descrierea codului aplicaţiei (firmware): | + | Pentru aplicatia Android am folosit MIT App Inventor.\\ |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | Pentru inceput am definit pinii si am declarat variabilele globale si functiile: \\ |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | <code cpp> |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | #define redLed 9 |
- | * (etapa 3) surse şi funcţii implementate | + | #define greenLed 10 |
- | </note> | + | #define blueLed 11 |
+ | #define lightPin A0 | ||
+ | #define soundPin A1 | ||
+ | |||
+ | String color = "off"; | ||
+ | int light = 0; | ||
+ | int sound; | ||
+ | |||
+ | void colorApp(); | ||
+ | void automaticMode(); | ||
+ | |||
+ | </code> | ||
+ | |||
+ | In set-up am setat pinii led-ului ca OUTPUT si i-am pus pe HIGH deoarece am un led cu anod comun. Pentru a comunica cu aplicatia Android folosesc comunicare seriala.\\ | ||
+ | In loop se verifica daca aplicatia transmite vreo informatie prin seriala. In cazul in care se transmite informatie atunci variabila color primeste informatia transmisa sub forma de String care reprezinta culoarea in care dorim sa aprindem lampa. In caz contrar, color va ramane pe off ceea ce inseamna ca ramane pe modul in care led-ul se aprinde doar daca este intuneric si isi schimba culoarea in functie de nivelul de zgomot. Se apeleaza functia colorApp\\ | ||
+ | In colorApp se verifica valoarea variabilei color si se seteaza intensitatea fiecarei culori. Pentru cazul in care color are valoarea off se apeleaza functia automaticMode()\\ | ||
+ | In functia automaticMode se verifica nivelul de lumina si se seteaza variabilele r, g si b pe zero, ele reprezentand intensitatea fiecarei culori. Daca valoarea transmisa de fotorezistor indica o camera intunecata atunci, cat timp nu se transmite prin Bluetooth o noua valoare pentru color, variabilele r, g si b vor fi incrementate si decrementate in functie de nivelul de zgomot transmis de senzorul de sunet.\\ | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Circuitul atunci cand este lumina in camera:\\ |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{:pm:prj2022:robert:lamp_light.jpeg?300|}} |
- | </note> | + | |
+ | Circuitul atunci cand este intuneric in camera:\\ | ||
+ | {{:pm:prj2022:robert:lamp_auto.jpeg?300|}} | ||
+ | |||
+ | Circuitul atunci cand se transmite culoarea mov din aplicatie:\\ | ||
+ | {{:pm:prj2022:robert:lamp_app.jpeg?300|}} | ||
+ | |||
+ | Interfata aplicatiei Android:\\ | ||
+ | {{:pm:prj2022:robert:bianca_app.jpeg?200|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | In urma acestui proiect am descoperit ca o idee ce poate suna complicata la inceput devine usor de implementat dupa mai multe incercari nereusite din care invatam lucruri noi. Am intampinat niste dificultati atunci cand am setat intensitatile culorilor pentru a le crea pe cele din aplicatie deoarece de cele mai multe ori nu aratau cum as fi crezut eu ca vor fi, dar in rest mi-a facut placere sa lucrez la acest proiect. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:robert:project_pm_moodlamp.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 ===== | ===== Jurnal ===== | ||
- | + | * 18 aprilie: Am ales tema pentru proiect | |
- | <note tip> | + | * 26 aprilie: Am comandat piesele |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 5 mai - 7 mai: Am inceput circuitul si o parte din cod |
- | </note> | + | * 12 mai: Am realizat prima parte a paginii de wiki |
+ | * 20 mai - 25 mai: Am terminat circuitul si codul | ||
+ | * 26 mai: Am prezentat proiectul la laborator | ||
+ | * 27 mai: Am realizat a doua parte a paginii de wiki | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://myrobotduino.blogspot.com/2016/08/mood-lamp-with-arduino.html |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | https://randomnerdtutorials.com/guide-for-microphone-sound-sensor-with-arduino/ |
+ | |||
+ | http://electronoobs.com/eng_arduino_tut13.php | ||
<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> | ||