Electric Piano

Nume: Iftimie Adelin-Cosmin
Grupa: 336CC

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).

Descriere generală

Proiectul are scopul de a simula un instrument muzical prin punerea la dispozitie a unui set de clape reprezentat de un set de butoane. Fiecarui buton ii va fii atribuita o nota muzicala, exceptie fac cele 2 butoane de Record si Play ce vor avea drept scop pornirea modului de inregistrare a melodiei, respectiv redarea melodiei inregistrate. Pentru a face proiectul mai interactiv este adaugata o banda analizatoare de spectru cu ajutorul careia se va afisa un mesaj pentru fiecare clapa apasata.

Hardware Design

Schema Electrica

Listă de piese

  • place Arduino
  • Breadboard
  • Butoane
  • Rezistente
  • Buzzer
  • Matrice de Leduri

Software Design

Mediu de dezvoltare

  • Arduino IDE

Biblioteci

  • SPI.h
  • LedControl.h

Functii Implementate

  1. Functii de afisare pentru matricea de leduri : sinvader - deseneaza un extraterestru animat pentru fiecare matrice 8×8

Diagrama logica:

  • Functia Shutdown este folosita pentru a porni display-urile pentru fiecare matrice
  • Functia setIntensity - seteaza nivel intensitatii
  • Functia clearDisplay - “curata” eventualele modele de pe fiecare matrice
  • pinMode - seteaza fiecare buton pe modul de Input / Output

In momentul pornirii se asteapta apasarea unui buton, daca nu este apasat nici un buton, matricile vor afisa animatiile pentru 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

Rezultate Obţinute

invaderpian2.jpg

invaderpian1.jpg

pianfinpoz1.jpg

pianfinpoz2.jpg

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.

Cod Schelet

Bibliografie/Resurse

pm/prj2022/ndrogeanu/electric-piano.txt · Last modified: 2022/06/02 17:54 by adelin.iftimie
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