Mini Pian Electric

Introducere

Proiectul reprezinta un mini pian electric ce permite:

  • interpretarea unor melodi formate din cateva note muzicale
  • inregistrarea unei melodii
  • redarea ultimei melodii inregistrate

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.

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

Schema bloc

{{ :pm:prj2023:alexau:diagrama_pian_fara_titlu.drawio_1_.png?300 |

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

Schema mini pian

Pianul este realizat din:

  • 7 leduri
  • 7 butoane (5 muzicale si 2 de control)
  • un buzzer
  • placuta arduino uno

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.

Rezultate Obţinute

Un demo all functionarii poate fi vazut aici:

https://youtu.be/heZRXQbLsRI

Concluzii

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.

Download

Bibliografie/Resurse

pm/prj2023/alexau/minipianelectric.txt · Last modified: 2023/05/26 00:14 by ionela.anghel2002
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