This shows you the differences between two versions of the page.
pm:prj2022:ndrogeanu:electric-piano [2022/05/12 13:57] adelin.iftimie [Hardware Design] |
pm:prj2022:ndrogeanu:electric-piano [2022/06/02 17:54] (current) adelin.iftimie [Concluzii] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Electric Piano ====== | ====== Electric Piano ====== | ||
+ | <note tip> | ||
+ | **Nume:** Iftimie Adelin-Cosmin \\ | ||
+ | **Grupa:** 336CC | ||
+ | </note> | ||
+ | |||
===== Introducere ===== | ===== Introducere ===== | ||
- | Proiectul presupune implementarea unui pian electric ce poate sa redea o gama de note muzicale. Fiecare nota muzicala are in corespondenta un buton, iar apasarea butonului va reda nota muzicala si va afisa folosind o banda analizatoare de spectru un mesaj(respectiv nota care a fost redata). Pianul are de asemenea functiile de Record(inregistreaza notele muzicale) si Play(redarea notelor inregistrate anterior). | + | Proiectul presupune implementarea unui pian electric ce poate sa redea o gama de note muzicale. Fiecare nota muzicala are in corespondenta un buton, iar apasarea butonului va reda nota muzicala si va afisa folosind o banda analizatoare de spectru un mesaj (respectiv nota care a fost redata). Pianul are de asemenea functiile de Record (inregistreaza notele muzicale) si Play (redarea notelor inregistrate anterior). |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 11: | Line 16: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | |||
+ | Schema Electrica | ||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:schema.png?700 }} | ||
<note tip> | <note tip> | ||
Line 23: | Line 32: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Mediu de dezvoltare | ||
+ | * Arduino IDE | ||
- | <note tip> | + | Biblioteci |
- | Descrierea codului aplicaţiei (firmware): | + | * SPI.h |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * LedControl.h |
- | * 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 ===== | + | Functii Implementate |
+ | - Functii de afisare pentru matricea de leduri : sinvader - deseneaza un extraterestru animat pentru fiecare matrice 8x8 | ||
- | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | </note> | ||
- | ===== Concluzii ===== | + | Diagrama logica: |
- | ===== Download ===== | + | {{ :pm:prj2022:ndrogeanu:setup.png?400 }} |
- | <note warning> | + | * Functia Shutdown este folosita pentru a porni display-urile pentru fiecare matrice |
- | 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ă ;-). | + | * Functia setIntensity - seteaza nivel intensitatii |
+ | * Functia clearDisplay - "curata" eventualele modele de pe fiecare matrice | ||
+ | * pinMode - seteaza fiecare buton pe modul de Input / Output | ||
- | 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:prj2022:ndrogeanu:start.png?500 }} |
- | <note tip> | + | In momentul pornirii se asteapta apasarea unui buton, daca nu este apasat nici un buton, matricile vor afisa animatiile pentru |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | caractere. Daca se apasa butoanele ce reprezinta clapele se va reda un sunet (prin functia tone() ). La apasarea butonului de record, se vor retine notele intr-un buffer urmand ca la apasarea butonului de Play acestea sa fie redate. De fiecare data cand se apasa un buton se vor reda animatii folosind apeluri de functii sinvader() - care redau animatii specifice |
- | </note> | + | |
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:invaderpian2.jpg?400 }} | ||
+ | |||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:invaderpian1.jpg?400 }} | ||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:pianfinpoz1.jpg?400 }} | ||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:pianfinpoz2.jpg?400 }} | ||
+ | ===== Concluzii ===== | ||
+ | Pentru conectarea matricii de leduri a trebuit scos un buton pentru ca nu aveam suficiente pinuri pe placuta arduino. | ||
+ | Totodata conectarea matricii a fost realizata cu fire mama-mama si tata-tata, planuiesc sa le schimb cu fire tata-mama pentru estetica. | ||
+ | |||
+ | {{ :pm:prj2022:ndrogeanu:piano.zip| Cod Schelet}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | ** [[https://create.arduino.cc/projecthub/electropeak/using-8x8-dot-matrix-led-with-arduino-cascade-connection-5cecff| Led Matrix Tutorial]] ** \\ |
+ | ** [[https://howtomechatronics.com/tutorials/arduino/8x8-led-matrix-max7219-tutorial-scrolling-text-android-control-via-bluetooth/| More Led Matrix Tutorial]] ** \\ | ||
+ | ** [[https://create.arduino.cc/projecthub/ashshaks/how-to-make-arduino-piano-keyboard-ccaa6a| Piano with arduino examples]] ** \\ | ||
</note> | </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> | ||