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
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.
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.)
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