Theremin

Introducere

La modul general, theremin-ul este un instrument electronic actionat prin apropierea mainilor de doua tije metalice. Functioneaza pe principiul campului electric dintre tije si mainile artistului care formeaza un condensator. Traditional vorbind, theremin-ul urca si coboara in pitch in maniera continua, neavand posibilitatea sa reproduca game muzicale decat prin intermediul unei actionari precise. Acestea fiind spuse, de la varianta initiala patentata in 1928, au aparut diverse alte implementari, dintre care de interes este cea a firmei de sintetizatoare Moog: https://www.thomann.de/ro/moog_theremini.htm?glp=1&gclid=Cj0KCQjwgLOiBhC7ARIsAIeetVDaKhzZaq6mZ4_InQ-u-zvjAsvgWeDArAeIOMtrJnRAeyeYFO5b75waAhu8EALw_wcB

Acest theremin este capabil sa ia game muzicale dupa cum este selectat de utilizator, astfel incat, pana si cel mai afon utilizator va suna delicios :)

In acest sens, m-am gandit sa construiesc si eu un theremin capabil de a selecta intre diverse moduri de cantat, insa bazandu-mi implementarea pe senzori ultrasonici in locul antenelor, acesta fiind si elementul de noutate fata de implementarile (mediocre, daca imi este permis) de pe net. De asemenea, este mai ieftin cu vreo 2000 de lei fata de thereminul din link :D

Descriere generală

Utilizez 2 Arduino-uri pentru a imi usura viata, avand in vedere ca unul se ocupa cu volumul per total. Primul Arduino se ocupa de functionalitatea de reglare a volumului mapata la distanta dintre mana si senzorul ultrasonic corespunator. Al doilea Arduino se ocupa cu sinteza sunetelor si meniul afisat la inceput.

Hardware Design

Lista piese:

  • 2 x Arduino Uno
  • 2 x senzor ultrasonic
  • LCD 4*16
  • encoder module
  • Sparkfun Musical Instrument Shield
  • MCP4131 (potentiometru digital)
  • potentiometru 10K linear (logaritmic ar fi fost mai bine dar csf)
  • output jack
  • power jack
  • SPDT power switch
  • PCB

Software Design

Folosesc API-urile de la fiecare modul (encoder, LCD, senzor ultrasonic, Sparkfun). Cu functia map, distribui distanta dintre maini si senzor la 1-2 octave si respectiv la volum 0-100%. Fiecare scara si mod muzical am ales sa le reprezint prin array-uri de 0 si 1, unde 0 este un semiton, iar 1 este un ton. De exemplu, gama majora (ttsttts) devine 1101110. Fiecare nota este calculata pe baza formulei Freq = note x 2^(N/12), N fiind al catelea semiton vrem sa il calculam.

Meniul initial ne permite sa alegem intre tonalitatea dorita (do, re, mi, la#, sib etc.) si gama dorita (ionian, phrygian, harmonic minor, hungarian minor etc.)

Rezultate Obţinute

Proiectul a iesit asa cum mi-am dorit si suna bine :D Cum n-as putea reproduce asta in imagini, pls take my word for it :))

Obs. singura treaba putin enervanta este ca butonul encoder nu prezinta filet, ceea ce nu imi permite sa il fixez cum trebuie de cutia PVC

Concluzii

O initiativa cool, mi-as fi dorit sa fi avut mai multe astfel de proiecte in facultate!

Download

Descarca sursele:

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/prj2023/ncaroi/theremin.txt · Last modified: 2023/05/29 21:20 by stefan.magirescu
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