Table of Contents

Mood Lamp

Autor: Ghizdareanu Alexandra-Afrodita

Grupa: 336CB

Introducere

Ce face?

Proiectul incearca sa creeze o lampa intercativa care isi va schimba culoarea, lumina diferit in functie de melodia ascultata, prelucrand datele de la un senzor de sunet. Intre timp am si un LCD atasat care arata la alegera userului temperatura si umiditatea sau pulsul acestuia.

Scopul proiectului

Scopul proiectului este de a destinde atmosfera pe placul fiecaruia dintre noi constand intr-o lampa care va lumina diferit in functie de mood-ul camerei in care se afla, dar si al oamenilor, culoarea ei schimbandu-se in functie de muzica, aratand in acelasi timp si pulsul sau temperatura si umiditatea.

Ideea de inceput

Mi s-a parut ceva amuzant de implementat si poate mai ieftin decat daca as fi cumparat din comert. Este ceva practic, cu un design atractiv si merge folosita in orice context, indeplinind mai multe functii in sensul ca iti poti verifica pulsul, dar si temperatura.

Utilitate

Mi-am dorit mult sa am ceva distrativ de care ma pot bucura cu prietenii, dar si singura. Mi s-a parut ceva amuzant de implementat si poate mai ieftin decat daca as fi cumparat din comert.

Descriere generala a functionalitatii

Lampa va fi implementata folosind un LED RGB, care isi va schimba culoarea in functie de input-ul primit de la fiecare senzor in parte. Datele colectate se vor schimba cu ajutorul unui buton declansand un nou mood(schimbarea culorii) pentru LED.

Schema bloc a proiectului:

Hardware Design

Lista de componente

  1. Placuta Arduino Uno
  2. Senzor de temperatura si umiditate
  3. Senzor de zgomot
  4. Senzor de puls
  5. Rezistente
  6. Inel LED RGB cu 8 led-uri
  7. Fire
  8. Breadboard
  9. Buton
  10. Ecran LCD I2C
  11. Pistol Lipit

Schema Electrica

Software Design

Mediul de dezivolatre este Arduino IDE.

Pentru implementare am folosit mai multe biblioteci din arduino, speciale pentru toate componenetele folosite:

  1. Biblioteca FastLED pentru modulul cu 8 LED-uri adresabile, de tip WS2812, dar si biblioetca Adafruit_NeoPixel pentru mai multe functii de lumini
  2. Biblioteca DHT pentru senzorul de temperatura si umiditate
  3. Biblioetca PulseSensorPlayground pentru senzorul de puls
  4. Biblioetca LiquidCrystal_I2C pentru ecranul LCD cu modul I2C integrat.

Dupa ce initializez toate constantele si variabilele de care am nevoie, in loop() verific daca s-a apasat butonul pentru a selecta ce mood sa aiba lampa. Mood-urile disponibile sunt: music_visualizer - functie care activeaza ledurile in fucntie de intensitatea melodiei. Aici am mai folosit si functia fscale de la biblioteca de functii Arduino; mood-ul de blink, va face blink pe led-uri, blink activat tot prin muzica, iar culorile sunt aleator alese; mood-ul pentru puls in care se va face blink cu culoarea rosie setata pe fiecare LED, in functie de frecventa bataii inimii, dar nu foarte matematic calculata, afisandu-se in acelasi timp si pulsul user-ului; mood-ul dht, in care se va afisa pe ecran temperatura si umiditatea din camera, iar led-urile vor trece prin toata paleta de culori, realizand un dans ambinetal; iar ultimul mood este cel de rainbow() sau freestyle in care nu se tine cont de muzica si se fac mai multe treceri prin culorile disponibile, acest mod este deja implementat in biblioetca FastLED ca exemplu si l-am adaugat si eu pentru a face lamapa si mai intercativa. Schimbarea mood-urilor se face la fiecare apasare de buton.

Diagrama de Activitati

Rezultate

Demo Google Drive

Demo YouTube

Functionare senzor puls. Am comparat pulsul masurat cu ajutorul senzorului de la telefon cu valorile masurate de senzorul meu

Proiect nefinisat

Proiect finisat

Lampa de noapte mai mare

Lucruri invatate

  1. Prelucrarea datelor de la mai multi senzori
  2. Cum sa lucrez cu led-uri adresabile si sa le aprind pe un pattern dat de ifrecventa suntelor
  3. Folosirea unui pistol de lipit(pentru senzorul dht si pentru modulul de led-uri)
  4. Folosirea de inreruperi
  5. Cum se leaga corect diverse componente de circuit

Jurnal

  1. Cu greu m-am decis ce sa fac. Voiam ceva amuzant :)
  2. Mi-am comandat componentele
  3. Am comandat si un ecran LCD, care nu era in plan initial pentru a face proiectul mai intercativ
  4. Prima compnenta pe care am pus-o a fost senzorul de puls, aici am folosit intreruperi. Am masurat pulsul cu telefonul si apoi cu senzorul meu, am obtinut acelasi rezultat. Problema este ca la mine, dureaza ceva pana ce valorile se stabilizeaza
  5. Next, modulul de LED-uri si senzorul de sunet. Folosind niste nebunii matemtice, a iesit in cele din urma. Led urile se aprind in functie de frecventa suntelor de la senzorul de sunet.
  6. Urmatorul senzor adaugat a fost cel de umiditate si temperatura. Aici nu am mai stat sa adaug un pattern in functie de temperatura, deoarece se schimba rar. E amuzant ca este iunie si sunt 20 de grade :)
  7. Final Test. Am adaugat 2 feluri de lampi, deoarece la cea mare intial nu se vad bine culorile ziua. Acum am un night mode si un day mode!

Concluzii

Dupa “lupte seculare” am obtinut chiar o lampa draguta si interactiva, cu multe functionalitati cu care ma pot distra oriunde e muzica! Mi-a placut proiectul si ma fascineaza rezultatul <3. Ca o urmatoare idee, as vrea sa imi iau o banda de led-uri mai mare si sa o adaug la TV sau prin camera. :)

Bibliografie/Resurse

Mail: aghizdareanu@stud.acs.upb.ro