This shows you the differences between two versions of the page.
|
pm:prj2023:alexau:minipianelectric [2023/04/29 19:02] ionela.anghel2002 created |
pm:prj2023:alexau:minipianelectric [2023/05/26 00:14] (current) ionela.anghel2002 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Nume proiect ====== | + | ====== Mini Pian Electric ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | <note tip> | + | Proiectul reprezinta un mini pian electric ce permite: |
| - | Prezentarea pe scurt a proiectului vostru: | + | * interpretarea unor melodi formate din cateva note muzicale |
| - | * ce face | + | * inregistrarea unei melodii |
| - | * care este scopul lui | + | * redarea ultimei melodii inregistrate |
| - | * care a fost ideea de la care aţi pornit | + | |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | Mini pianul electric reprezinta un instrument conceput pentru relaxarea si petrecerea timpului liber intr-un mod placut. Scopul sau este acela de a fi o unealta anti-stress ce ofera o flexibilitate de exprimare artistica a utilizatorului. |
| - | </note> | + | |
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| + | Structura mini pianului este formata din: | ||
| + | * blocul "butoane de control" reprezinta butoanele prin intermediul carora se schimba starea de functionare actuala a pianului | ||
| + | * blocul "butoane muzicale" reprezinta tastele pianului, la a caror apasare se va emite sunetul corespunzator | ||
| + | * blocul "buzzer" reprezinta difuzorul pianului | ||
| + | * blocul "leduri de indicare" va semnala tastele apasate, respectiv starea curenta a pianului | ||
| - | <note tip> | + | **Schema bloc** |
| - | 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ă. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{ :pm:prj2023:alexau:diagrama_pian_fara_titlu.drawio_1_.png?300 |{{ :pm:prj2023:alexau:diagrama_pian_fara_titlu.drawio_1_.png?300 |}} |
| - | </note> | + | |
| + | Toate componentele interactioneaza prin intermediul microcontrolerului. | ||
| + | Cele 2 butoane de control, insotite de ledurile corespunzatoare vor schimba starea curenta a mini pianului astfel: | ||
| + | * butonul 1 va schimba starea din "free play" in "record" si invers (pentru oprirea inregistrarii) | ||
| + | * butonul 2 va porni redarea ultimului cantec inregistrat (ledurile corespunzatoare notelor aprinzandu-se corespunzator) | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| + | **Schema mini pian** | ||
| - | <note tip> | + | {{ :pm:prj2023:alexau:schema_v_.png?nolink&300 |}} |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | |
| - | * rezultatele simulării | + | |
| - | </note> | + | |
| + | Pianul este realizat din: | ||
| + | * 7 leduri | ||
| + | * 7 butoane (5 muzicale si 2 de control) | ||
| + | * un buzzer | ||
| + | * placuta arduino uno | ||
| + | |||
| ===== Software Design ===== | ===== Software Design ===== | ||
| + | Pentru dezvoltarea softwareului am folosit ide-ul arduino ca mediu de dezvoltare. | ||
| + | |||
| + | **Scurta descriere a codului** | ||
| + | |||
| + | Prin intermediul intreruperilor pcint se verifica daca un buton este apasat si se apeleaza functia playSound respectiv stopSound. | ||
| + | |||
| + | Daca modul record este activat se va retine la apasare si durata apasarii pentru redare. | ||
| + | |||
| + | La modul de redare se emite sunetul pentru durata de timp inregistrata, ne mai fiind nevoie de apelarea functie de stopSound. | ||
| + | |||
| + | In timpul redarii cantecului inregistrat ledul de avertisment va clipi pentru a avertiza ca cantatul liber si inregistratul nu sunt disponibile pana la incheiere melodiei. Modificare starii ledului se face la un interval periodic de timp, determinat de intreruperea unui timer. | ||
| + | |||
| + | Cantecul inregistrat se retine sub forma unui vector de note si duratii ce sunt parcurse daca modul de redare este activ. | ||
| - | <note tip> | ||
| - | Descrierea codului aplicaţiei (firmware): | ||
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
| - | * (etapa 3) surse şi funcţii implementate | ||
| - | </note> | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | {{ :pm:prj2023:alexau:20230525_233302.jpg?nolink&300 |}} |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| + | Un demo all functionarii poate fi vazut aici: | ||
| + | |||
| + | https://youtu.be/heZRXQbLsRI | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | ===== Download ===== | + | Proiectul acesta a constituit primul meu proiect care se foloseste de o placuta si alte componenete hardware. A fost o experienta fascinanta gandirea logicii, gasirea solutiilor de conectare, setare a bitilor si controlare a componenetelor prin cod. Au fost momente cand am intampinat impasuri, dar in final ma bucur de rezultatul obtinut, si pot spune ca este foarte fun sa ma joc cu el. |
| - | <note warning> | + | ===== Download ===== |
| - | 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 ===== | + | {{:pm:prj2023:alexau:arhiva.zip|}} |
| - | <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 ===== | ||
| - | <note> | ||
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
| - | </note> | ||
| <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> | ||