Radu-Andrei GRECU (78118) - Pian Digital

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea unor functionalitati de baza ale unui pian digital:

  • redarea unei anumite note in momentul apasarii unei clape
  • memorarea uneia sau mai multor melodii interpretate
  • afisarea melodiilor memorate pe un ecran lcd si redarea acestora


Scopul proiectului este realizarea unui device de dimensiuni mici care sa prezinte o alternativa fata de un sistem mai complex pentru pianistii amatori.

Ideea a pornit de la programele implementate in laborator, care mi-au oferit ocazia de a aduce impreuna cunostintele dobandite pentru realizarea unui singur proiect.

Descriere generală

Pianul va avea o claviatura formata din 8 butoane, fiecare urmand sa redea una din notele gamei Do Major.

Pentru selectarea starii in care se va afla dispozitivul vor exista butoane pentru modul simplu, inregistrare, si redare/control pentru lcd. Starea curenta va fi indicata prin led-uri. Melodiile inregistrare vor fi memorate pe un card SD.

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

Hardware Design

Lista de piese:

  • Placa de baza
  • Butoane (pentru Claviatura si Panou de control)
  • LCD
  • Buzzer
  • Card SD

Schema electrica

Software Design

Mediul de dezvoltare folosit este Atmel Studio. Am folosit bibliotecile din laborator pentru USART si LCD.

In functie de butonul apasat, se transmite o anumita frecventa buzzer-ului prin care e produs sunetul. O succesiune de note se poate salva sub forma unui array care contine frecventa si durata fiecarei note apasate. Ele pot fi salvate sub forma unor fisiere pe cardul SD si redate mai tarziu.

Rezultate Obţinute

In final, am obtinut un mini-pian care poate inregistra melodii si le pune intr-un folder prin care se poate cicla si alege melodia dorita.

Concluzii

A fost un proiect datorita caruia am avut ocazia sa folosesc toate cunostiintele dobandite de-a lungul laboratoarelor pentru a construi ceva, piesa cu piesa, ca sa obtin un product final, functional. De la conectarea perifericelor pana la setarea pinilor din program, toate mi-au pus la incercare abilitatea de a face legaturi simple intre hardware si software pentru a obtine, in final, functionalitati mai complexe.

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:prj2017:avoinescu:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

  • Documentația în format PDF
pm/prj2018/imatesica/piand.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