Ioana MOCANU (78673) - Mood Lamp

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Mood Lamp este o lampa ce isi schimba culoarea in functie de temperatura din camera. Scopul ei este de a infrumuseta decorul. Am pornit de la faptul ca aveam o astfel de lampa, care insa avea culorile schimbate manual, ce s-a stricat, asa ca mi-am propus sa imi fac chiar eu una imbunatatita. Aceasta nu este atat utila, pe cat placuta, pentru a crea o altfel de atmosfera in orice camera este pornita.

Descriere generală

Lampa va porni la o apasare a unui buton, dupa care va incepe sa isi schimbe culoarea in functie de temperatura. La o apasare secundara a butonului, lampa se va opri. Optional voi incerca redarea de melodii aleatorii de pe un card sd, la apasarea altui buton, pentru a crea o atmosfera si mai placuta.

Hardware Design

Piese:

  • Placa de baza
  • Kit-ul cu componentele de baza
  • Rezistente
  • Buton
  • Senzor de temperatura
  • LED RGB
  • Lampa(plastic/sticla semi-transparent(a))

Piese optionale:

  • Buton
  • Card microSD
  • Slot card microSD
  • Difuzor

Schema electrică:

Software Design

Mediul de dezvoltare:

  • Microsoft Visual Studio
  • BootloaderHID

A trebuit sa reconsider pozitionarea pinilor corespunzatori culorilor ledului RGB, pentru a putea folosi timerele pe 8 biti, timer0 si timer2, astfel :

  • Pinul corespunzator ledului rosu: PB3(OC0A)
  • Pinul corespunzator ledului verde: PB4(OC0B)
  • Pinul corespunzator ledului albastru: PD7(OC2A)

Functia rgb_setter va seta intensitatile culorilor ledului, in functie de starea in care se afla lampa. Lampa are 9 stari, ca in imagine:

schemami.jpg

Astfel, la apasarea butonului, se va trece dintr-o stare in alta, crescator, revenindu-se la prima stare dupa ce se ajunge in starea 9.

Am folosit si canalul OC1A al timerului 1, pe 16 biti, si in rutina de tratare a intreruperii am apelat functia de detectare a temperaturii.

In starea de citire a temperaturii, lampa va capata 3 culori diferite in functie de temperatura:

  • Daca temperatura este sub 28 grade Celsius, lampa va fi albastra
  • Daca temperatura este intre 28 si 34 de grade Celsius, lampa va fi verde
  • Daca temperatura depaseste 34 de grade Celsius, lampa va deveni rosie

Surse:

  • lab0.c
  • lab3.c

Rezultate Obţinute

Hardware final:

32744752_1971594612874711_4934414667117232128_n.jpg

Lampa in starea de citirea temperaturii(temperatura < 28 grade C):

32710830_1971594076208098_8196784478408933376_n.jpg

Lampa in starea de citirea temperaturii(temperatura > 28 grade C si < 34 grade C):

32842953_1971594212874751_779441830130352128_n.jpg

Lampa in starea de citirea temperaturii(temperatura > 34 grade C):

32745220_1971594419541397_6447688501998649344_n.jpg

Restul starilor au gradient de culori, care nu poate fi observat in imagini, sau sunt R, G, sau B constant.

Concluzii

A fost un proiect interesant, din care am avut de invatat atat pe partea de hardware, cat si pe partea de software. In final, am reusit sa creez ceva placut si usor de folosit.

Download

Arhiva finala: pmmocanuioana.zip

Jurnal

  • 2-3 mai → Am primit componentelor pentru placa de baza si am inceput sa le lipesc pe ea
  • 9 mai → Placa de baza terminata, am cumparat si adaugat la ea piesele extra(ledul RGB, senzorul si butonul)
  • 11-12 mai → Am inceput sa scriu codul, initial doar cu toggle intre starile ledurilor
  • 14 mai → Am modificat codul pentru a adauga stari in care culorile fac gradient(cu PWM)
  • 17 mai → Am modificat codul pentru a putea citi temperatura cu ajutorul unui timer, am aranjat codul si am finalizat proiectul

Bibliografie/Resurse

pm/prj2018/rbarbascu/12345.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0