Sistem de lumini controlat remote, cu muzica

Autor

Corneanu Nicoleta - 334CC

Introducere

Acest proiect urmarește crearea unui sistem de lumini controlat remote, cu suport pentru incarcat muzica. Acest sistem este format din urmatoarele: 2 leduri care vor lumina in pattern-uri diferite (moduri de tipul: slow, fast, intermitent), in functie de selectia utilizatorului remote, printr-un site hostat de catre arduino in reteaua locala sau prin comutarea starii ledurilor prin intermediul butoanelor fizice, alaturi de un card SD pe care se poate incarca muzica din intermediul site-ului din reteaua locala, care se aude prin speakerul atasat.

Descriere generală

Schema bloc:

Functionalitate

Placuta arduino este de fapt un web server care hosteaza in reteaua locala un website de unde pot selecta atat ce ce pattern-uri de culori (moduri) doresc sa afisez pe cele 2 leduri RBG ale sistemului, cat si ce music track doresc sa incarc de pe cardul SD disponibil. De asemenea, ledurile pot sa fie schimbate si din cele 2 butoane ale circutului, comutand intre 2 moduri de lumina, hardcodate. Melodiile sunt pe cardul SD incarcate pe placuta si se aud din difuzorul atasat circuitului. Se poate selecta melodia prin intermediul site-ului.

Hardware Design

Lista de componente:

  • placuta Arduino
  • Arduino pro mini
  • 2 x LED RGB
  • 2 x buton
  • placuta de Ethernet
  • 3 x rezistente - 1k
  • breadboard
  • fire de legatura
  • card SD
  • difuzor
  • adaptor de card SD(citire & scriere)

Software Design

Medii de dezvoltare folosite:

  • Arduino IDE - partea de software a proiectului
  • Microsoft Word - pentru schema bloc a proiectului
  • 169.254.16.48 - IP-ul pe care e hostata pagina web
  • SD library - pentru cardul SD
  • TMRcmp library - pentru a da play la un fisier wav
  • Ethernet library - pentru utilizarea serverului web pe masina locala

Descrierea implementarii

Intreaga implementare functioneaza pe 2 placute Arduino, pe una desfasurandu-se partea de iluminare, alaturi de serverul local, conectat prin intermediul Ethernet Shield, iar pe cealalta partea de sunet, alaturi de incarcarea melodiilor pe placuta din cardul SD sub forma unor fisiere .wav, care canta prin intermediul difuzorului.

In cadrul partii de iluminare si server, am initializat pinii pentru fiecare led RGB, pentru butoane si pentru Ethernet Shield, impreuna cu 3 flag-uri, care retin starile butoanelor pentru schimbarea modurilor de lumina: buttonState1, buttonState2, originalState (stare precedenta) si buttonPressed (buton apasat precedent).

Mai departe, am doua functii pentru comutarea pe modurile de lumina, culorile fiind setate in acestea, si un ethernetClient, care reprezinta pagina web, hostata local la adresa precizata mai sus, unde scriem pe rand string-uri, content HTML pur(din cauza spatiului redus pe placuta nu se poate stiliza mai frumos), cat timp clientul este disponibil. Pentru a citi valorile date de catre utilizator in cadrul webpage-ului folosesc variabila readString ce preia toate datele, caractere transmise de client catre server, urmand sa citesc valoarea setata de catre utilizator. De asemenea, la fel functioneaza si selectia melodiilor (string-urilor denumirilor lor) din webpage si transmiterea ei pe cealalta placuta, pentru a canta la difuzor, din cardul SD.

In cadrul partii de muzica cu cardul SD, am creat un obiect TMRpcm cu ajutorul librariei cu acelasi nume, pentru a seta pinul pe care primesc acel fisier .wav. La inceput, verific daca acel card SD este ok si vazut de placuta, iar apoi fac contact cu un anumit pin pe care e trecut pe HIGH, de pe care va canta o anumita melodie. Pentru a canta, setez un delay mai mare si volumul la care se aude piesa.

Rezultate Obţinute

Atasez aici trei poze reprezentative pentru proiect:

Concluzii

Proiectul mi s-a parut destul de interesant de implementat si de documentat, mai ales datorita melodiilor pe care am ales sa le folosesc. Pot spune ca dificultatea proiectului a constat in a stii ce functii are de fapt difuzorul (a ii documenta functionalitatile), in memoria foarte mica care nu mi-a permis ca site-ul sa arate putin mai estetic), precum si in faptul ca daca am laptopul la incarcat, se trimite prea mult curent catre circuit si se da play la muzica.

In concluzie, consider ca am invatat multe din aceasta experienta!

Download

Bibliografie/Resurse

pm/prj2022/alaura/sistem_de_lumini_controlat_remote_corneanu_nicoleta.txt · Last modified: 2022/06/01 19:24 by nicoleta.corneanu
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