This is an old revision of the document!


Record & Play Piano

Introducere

Proiectul presupune construirea unui pian cu butoane care are functia de inregistare si apoi redare pe repeat a continutului inregistrat.

Descriere generală

Butoanele de apasare vor fi conectate la Arduino prin pinul analog A0. Vom folosi functia tone() a Arduino-ului pentru a genera semnale de frecvente diferite, producand diverse sunete prin intermediul buzzerului. În loc sa utilizam pini individuali pentru fiecare buton, vom folosi o tehnică de divizare a tensiunii folosind valori diverse ale rezistentelor, reducand astfel necesitatea de a folosi mai multi pini. Acest lucru ne permite sa includem componente suplimentare, precum afișajul LCD unde vom putea vizualiza actiunile pe care le facem. În timpul modului de inregistrare, utilizatorii pot reda melodiile dorite in timp ce Arduino-ul inregistrează secventa și durata apasarilor butoanelor. Acest lucru este realizat prin monitorizarea tensiunilor analogice de pe pinul A0 și determinarea butonului apasat. Secventa si durata inregistrata sunt stocate în tablouri. La comutarea în modul de redare, Arduino-ul reda secvența inregistrata de tonuri pe baza datelor stocate.

Hardware Design

Lista de componente utilizate:

  • Arduino Uno
  • LCD 1602 cu interfata I2C
  • Breadboard
  • Fire de conexiune
  • Resistoare
  • Buzzer
  • Switch
  • 8 Butoane

Schema electrica:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • 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

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

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:prj2009:cc: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.

Export to PDF

pm/prj2024/rpascale/andrei.nedelcu1503.1715738796.txt.gz · Last modified: 2024/05/15 05:06 by andrei.nedelcu1503
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