Theremin

Grupa: 335CC

Nume: Mocanu Andrei Cristian

E-mail: andrei.mocanu1108@upb.ro

Introducere

Proiectul meu reprezinta un instrument muzical de origine sovietica theremin ce emite diverse note muzicale in functie de distanta mainii utilizatorului. Instrumentul poate salva melodii pe cardul sd si canta melodii de pe acesta. Consider ca proiectul este util deoarece prezinta un instrument muzical de care au auzit putini oameni si si mai putini au avut ocazia sa il foloseasca.

Descriere generală

Utilizatorul isi va misca mana in fata senzorului ultrasonic pentru a modifica frecventa sunetului emis de instrument. Se va putea modifica frecenta si durata sunetului emis folosind un potentiometru si niste butoane. Vor exista 3 leduri ce ii vor indica utilizatorului daca distanta mainii fata de senzor este mica ,medie sau mare. Instrumentul va avea si un adaptor SD pe care dupa ce utilizatorul apasa un buton instrumentul va scrie pe card melodia cantata de utilizator pana cand va apasa din nou pe buton. La apasarea altui buton instrumentul va canta melodia scrisa pe card.

  • Schema Bloc:

Hardware Design

  • Lista de Componente:
  • Arduino UNO
  • 3 LED-uri
  • Buzzer
  • Rezistente
  • Buton
  • 2 Potentiometre
  • Senzor Ultrasonic
  • Adaptor Sd + card SD
  • Schema Electrica

Implementare finala hardware

Software Design

Mediul de dezvoltare pe care il folosesc este Arduino IDE.

Pentru partea de testare, utilizez Tinkercad.

Biblioteci utilizate:

  • biblioteca SD de la arduino

Descriere implementare:

  • Am definit functie de intrerupere pentru schimbarea intre modul de redare de pe SD si modul de preluare input de la utilizator
  • Distanta este calculata in functie de datele primite de la senzorul ultrasonic impartind durata la 2 deoarece unda are drum dus intors si dupa o inmultesc cu viteza sunetului in cm/s
  • Din aceasta valoare este scazuta valoarea citita de la potentiometrul pentru volum , insa existand valori minime sub care frecventa nu este lasata sa scada
  • Ledurile se vor aprinde in functie de frecventa(cu cat frecventa este mai mare cu atat se vor aprinde mai multe leduri). Daca distanta este mai mare de o valoare setata toate ledurile o sa fie stinse
  • Buzzerul va emite un sunet cu freventa calculata dupa metoda calculata mai sus si cu un delay intre sunete dat de valoarea citita de la al doilea potentiometru. Aceste valori sunt scrise in fisier
  • Cand thereminul este in modul de redare a melodiei salvate pe SD card el va citi din fisier frecventa si durata asociata fiecarei inregistrati din fisier

Rezultate Obţinute

Am implementat toate functionalitatile propuse pentru proiect. Mai jos este un film ce explica pe rand fiecare functionalitate ,dar si intregul caz de utilizare

Concluzii

Am implementat tot ce mi-am propus la acest proiect,asfel consolidandu-mi notiunile despre ADC,PWM,SPI si intreruperi. Proiectul a iesit mai bine decat ma asteptam deoarece Thereminul suna mai interesant decat ma asteptam atunci cand ii variez durata.

Download

Codul sursa

theremin.zip

README

readme_pm.docx

Jurnal

  1. 25.04 Sosirea tuturor componentelor
  2. 28.04 Implementare in tinkercad a preluarii distantei de la senzorul ultrasonic
  3. 3.05 Implementarea modificarii sunetului in functie de distanta preluata de la senzorul ultrasonic si valorile citite de la potentiometre
  4. 7.05 Implementare aprindere leduri in functie de distanta
  5. 11.05 Montare componente pe breadboard
  6. 15.05 Definitivare proiect

Bibliografie și Resurse

Inspiratie pentru alegerea proiectului: https://www.youtube.com/watch?v=lCOB6iKpX04

Biblioteca SD Arduino: https://www.arduino.cc/en/reference/SD

Documentul în format PDF: PDF

pm/prj2021/dbrigalda/theremin.txt · Last modified: 2021/05/31 12:20 by edar.grunberg
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