Sisukord:

Automatiseeritud klaver: 5 sammu
Automatiseeritud klaver: 5 sammu

Video: Automatiseeritud klaver: 5 sammu

Video: Automatiseeritud klaver: 5 sammu
Video: Alina Bercu performs Beethoven's Piano Concerto No. 5 in E flat major op. 73 (full) 2024, November
Anonim
Automatiseeritud klaver
Automatiseeritud klaver

Ma tahtsin teha klaveri, mis saab automaatselt mängida, kuulates mu muusikat koheselt. Nii et ma proovisin seda arduino unoga, mis mul oli. See võiks olla palju parem arduino nulliga, kasutades lihtsat sagedusmõõtmete kogu II seda ei olnud hetkel ja jätkasin unoga.

1. samm: teooria

Klaverit mängitakse, sobitades laulja sageduse klaveriga. Seega peame proovima laulja sagedust ja taasesitama seda reaalajas. Ma kasutan trimpotist pingejaoturit, kuna heli on vahelduv ja arduino ei saa negatiivsete pingete käsitsemiseks kasutasite seega võrdlusallikana pingejaguri antud pinget ja seadistasime selle väärtusele 2,5 V. Sisend on arduino A0 tihvtil. Seejärel programmeerisin arduino kontrollima, millal pinge on võrdlustasemel, mille ma mõõtsin, ja nimetasin selle esialgseks ning seejärel mõõtsin ajavahemikku järjestikuse võrdluspinge vahel ja seejärel arvutasin välja sageduse. muutujat kasutatakse helisignaali hetkelise amplituudi salvestamiseks, et kõrvaldada müra, mille amplituud on väiksem kui 15 adc väärtust või 0,0733 volti. Sagedusele on seatud piirang, et äärmuslikud väärtused laulu ei katkestaks.

Samm: nõutav materjal

Vajalik materjal
Vajalik materjal
Vajalik materjal
Vajalik materjal
Vajalik materjal
Vajalik materjal

1) Arduino Uno või samaväärne

2) Passiivne piesoelektriline sumin või võimendiahelaga kõlar

3) suure takistusega trimpot (veenduge, et 5 v juures läbi selle voolav vool peaks mõne millimpsis olema väike)

4) hüppaja juhtmed

5) leivalaud

6) 3,5 mm helipistik või võimendiahelaga mikrofon (kasutasin võimendina oma mobiiltelefoni, kuna leidsin, et olen selle ehitamiseks liiga laisk)

7) Android -telefon (heli esitamiseks)

8) arduino kaabel (selle programmeerimiseks)

Samm: ühendused

Ühendused
Ühendused
Ühendused
Ühendused

1) Paigaldage trimpot leivalauale ja ühendage see maandatud ja +5v arduinoga, kasutades hüppajajuhtmeid.

2) Ühendage 3,5 mm pesa maandus trimpoti kolmanda tihvtiga, et töötada pingejaguri konfiguratsioonina ja kanaliks arduino A0 kontaktiga.

3) Ühendage sumisti maandus arduino maandusega ja andke signaal arduino tihvtile 13.

Samm: Arduino kood

Arduino kood
Arduino kood

Siin on täielik kood

Olen kommenteerinud mõningaid testimiseks kasutatud seeriaprintide avaldusi

uint64_t lühendaja = 0, ltime = 0; uint32_t sagedus = 0; uint16_t esialgne, val, del = 0; bool last, curr; void setup () {// pange oma seadistuskood siia, et seda korra käivitada: delay (1000); /*Serial.begin(115200); viivitus (1000); Serial.println ("süsteem käivitati");*/ esialgne = analogRead (A0); if (analogRead (A0)

void loop () {// pange siia oma põhikood, et seda korduvalt käitada: val = analogRead (A0); kui (val> = esialgne) curr = 1; muidu curr = 0; del = (int) val- (int) esialgne; if (viimane == 0 && curr == 1) {curtime = micros (); sagedus = 1000000/(2*(lühendatud aeg)); /*Seriaalne trükk (sagedus, DEC); Serial.print ("alla"); Serial.println (del);*/ if (sagedus> 50 && freq15) toon (13, sagedus, 500); viivitus (100); lime = micros (); viimane = 1; }

Samm: lülitage see sisse !

Muusika esitamiseks ühendage telefon ja kui soovite laulda, saate kasutada kõiki tööriistu, mida saab Play poest alla laadida. Siin on link

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

Pärast allalaadimist avage mike võimalus ja laulage!

Siin on, kuidas see toimib!

Soovitan: