Andrei-Vlad FULGEANU - Digital Piano

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

  • ce face?

Pian ce contine cel putin 8 butoane (o octava) si produce sunete din solfegiu.

  • care este scopul lui?

Intelegerea modului de functionare si programare a microcontroller-ului.

  • care a fost ideea de la care aţi pornit

Ideea mi-a venit din pasiunea pentru muzica.

  • de ce credeţi că este util pentru alţii şi pentru voi

Un pian electric este util pentru toti :)

Descriere generală

Proiectul contine 8 butoane ce corespund notelor dintr-o octava si doua butoane REC si PLAY pentru intregistrarea unei melodii si redarea acesteia.

Hardware Design

Lista de piese:

  • PCB - 10RON
  • Microcontroler - 23RON
  • Condensatoare, LED-uri, fire, butoane - 6RON
  • Difuzor - pereche de casti vechi

Software Design

La orice moment de timp, programul se poate afla intr-una din starile: Normal, Sing, Record.

Proiectul contine portiuni de cod din cadrul laboratoarelor. Pentru o cat mai buna intelegere a dificulatatiilor pe care le puteam intalni, am consultat proiectele din anii anteroiri.

Detalii de implementare:

Structura programului se afla intr-un timer care se declanseaza la 10ms. La o intrerupere se seteaza in PWM frecventa corespunzatoare butoanelor apasate in acel moment. Vectorul de frecvente are valori prestabilite.

Pentru a memora un cantec, acesta se retine intr-un vector de o structura “note” cu campurile “freq” - indicele din vectorul de frecvente si “count” - de cate ori este cantata nota.

Cand se apasa RECORD se verifica daca nota curenta este egala cu ultima nota salvata, in caz afirmativ se incrementeaza valoarea din campul “count”, altfel se adauga nota in vectorul de intregistrari.

Cand se apasa SING se copiaza vectorul de intregistrari intr-un nou vector, iar la fiecare intrerupere se canta o nota din noul vector.

Aplicatii folosite:

  • Atmel Studio 6.2
  • bootloader HIDBootFlash v1.0

Rezultate Obţinute

In acest moment functioneaza doar cateva din cele 8 butoane din octava. Deocamdata placuta nu functioneaza asa cum mi-am dorit si din pacate nu am reusit sa descopar ce anume cauzeaza probleme.

Concluzii

A fost un proiect destul de interesant, care m-a captivat. Am invatat ca orice dispozitiv electronic, oricat de insignifiant ar parea, are extrem de multa munca si dedicare in spate. Implementarea hardware este cea care m-a atras mai mult, tocmai din acest motiv nu am intampinat mari probleme. Implementarea software nu a fost usoara, dar folosind laboratoarele si uitandu-ma peste ce s-a facut in anii anteriori m-am descurcat. Din pacate, deocamdata, placuta nu indeplineste toate functionalitatiile pe care mi le-as fi dorit, insa, sper sa obtin ajutor din partea celor mai specializati.

Download

cod_vlad.zip

Contine fisierul sursa + Makefile

Jurnal

Bibliografie/Resurse

  • Datasheet Atmega324PA
  • Laboratoare
  • Proiecte din anii anteriori
pm/prj2014/ideaconu/vlad.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