Kazalo:

Samodejni klavir: 5 korakov
Samodejni klavir: 5 korakov

Video: Samodejni klavir: 5 korakov

Video: Samodejni klavir: 5 korakov
Video: Mikhail Pletnev plays Bach - Harpsichord Concerto No. 5 (Gothenburg, 2005) 2024, Julij
Anonim
Avtomatizirani klavir
Avtomatizirani klavir

Želel sem narediti klavir, ki bi lahko samodejno igral tako, da bi v trenutku poslušal mojo glasbo. Zato sem poskusil z arduinom uno, ki sem ga ležal. Lahko bi bilo veliko bolje z ničlo arduino z uporabo enostavne knjižnice frekvenčnih merilnikov ii, ki je ni imel trenutno in sem nadaljeval z uno.

1. korak: Teorija

Klavir se igra tako, da se frekvenca pevca ujema s klavirjem, zato moramo vzorčiti pevčevo frekvenco in jo predvajati v realnem času. Uporabljam delilnik napetosti iz trimpota, saj je zvok ac in arduino ne more ročaj negativnih napetosti, zato je za referenco uporabil napetost, ki jo daje delilnik napetosti, in jo nastavil na 2,5 V. Vhod je na A0 pin arduina. Nato sem programiral arduino, da preveri, kdaj je napetost na referenčni ravni, ki sem jo izmeril in jo poimenoval začetno, nato pa izmeril časovni interval med zaporedno referenčno napetostjo in nato izračunal frekvenco. Spremenljivka se uporablja za shranjevanje trenutne amplitude zvočnega signala za odpravo hrupa, ki ima amplitudo manj kot 15 adc ali 0,0733 voltov. Frekvenca je omejena, tako da ekstremne vrednosti ne prekinjajo pesmi.

2. korak: Potreben material

Potreben material
Potreben material
Potreben material
Potreben material
Potreben material
Potreben material

1) Arduino Uno ali enakovreden

2) Pasivni piezo električni zvočni signal ali zvočnik z ojačevalnim vezjem

3) Trimpot z visoko upornostjo (poskrbite, da bo tok, ki teče skozi 5V, majhen v nekaj miljamp)

4) mostične žice

5) plošča

6) 3,5 -milimetrski avdio priključek ali mikrofon z ojačevalnim vezjem (mobilni telefon sem uporabil kot ojačevalnik, saj se mi je zdelo, da sem len, da bi ga sestavil)

7) Telefon Android (za predvajanje zvoka)

8) kabel arduino (za programiranje)

3. korak: Povezave

Povezave
Povezave
Povezave
Povezave

1) Namestite trimpot na ploščo za kruh in ga ozemljite in ozemljite na +5V iz arduina z uporabo mostičnih žic.

2) Priključite ozemljitev 3,5 -milimetrskega priključka na tretji zatič trimpota, da deluje kot konfiguracija delilnika napetosti in kanal na A0 pin arduina.

3) Ozemljitev brenčalnika priključite na ozemljitev arduina in signalizirajte na pin 13 arduina.

4. korak: Arduino koda

Koda Arduino
Koda Arduino

Tu je celotna koda

Komentiral sem nekatere izjave o serijskem tisku, ki se uporabljajo za testiranje

uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t začetno, val, del = 0; bool last, curr; void setup () {// vnesite nastavitveno kodo sem, da se zažene enkrat: delay (1000); /*Serial.begin(115200); zamuda (1000); Serial.println ("sistem zagnan");*/ initial = analogRead (A0); če (analogRead (A0)

void loop () {// vnesite svojo glavno kodo sem, da se zažene večkrat: val = analogRead (A0); if (val> = začetni) curr = 1; else curr = 0; del = (int) val- (int) začetni; if (last == 0 && curr == 1) {curtime = mikros (); freq = 1000000/(2*(curtime-ltime)); /*Serial.print(freq, DEC); Serial.print ("dol"); Serial.println (del);*/ if (freq> 50 && freq15) ton (13, freq, 500); zamuda (100); ltime = mikroskopi (); zadnja = 1; }

5. korak: Vklopite ga !!

Priključite telefon za predvajanje glasbe in če želite peti, lahko uporabite aplikacijo za vsa orodja, ki jo lahko prenesete iz trgovine Play. Tukaj je povezava

play.google.com/store/apps/details?id=com.pradhyu.alltoolseveryutility&hl=sl

Po prenosu odprite možnost mike in pojte!

Evo, kako to deluje!

Priporočena: