Satura rādītājs:

Automātiskās klavieres: 5 soļi
Automātiskās klavieres: 5 soļi

Video: Automātiskās klavieres: 5 soļi

Video: Automātiskās klavieres: 5 soļi
Video: The PETRICHOR Collection | 5 original pieces \\ Relaxing Piano [20min] 2024, Novembris
Anonim
Automatizētas klavieres
Automatizētas klavieres

Es gribēju izveidot klavieres, kas var atskaņot automātiski, uzreiz klausoties manu mūziku. Tāpēc es to izmēģināju ar arduino uno, kas man bija apkārt. Tas varētu būt daudz labāk ar arduino nulli, izmantojot vienkāršu frekvenču mērītāju bibliotēku ii šobrīd es turpināju ar uno.

1. solis: teorija

Klavieres spēlē, saskaņojot dziedātāja frekvenci ar klavierēm. Tāpēc mums ir jāizvēlas dziedātāja frekvence un jāatskaņo reālā laikā. Es izmantoju sprieguma dalītāju no trimpota, jo audio ir ac un arduino nevar apstrādājiet negatīvos spriegumus, tāpēc kā atsauci izmantojiet sprieguma dalītāja nodrošināto spriegumu un iestatiet to uz 2,5 V. Ievads tiek nodrošināts arduino A0 tapā. Pēc tam es programmēju arduino, lai pārbaudītu, vai spriegums ir atsauces līmenī, ko es izmērīju, un nosaucu to par sākotnējo, un pēc tam izmērīju laika intervālu starp secīgo atskaites spriegumu un pēc tam aprēķināja frekvenci. mainīgais tiek izmantots audio signāla momentānās amplitūdas saglabāšanai, lai novērstu troksni, kura amplitūda ir mazāka par 15 adc vai 0,0733 volti. Biežumam ir noteikts ierobežojums, lai galējās vērtības nepārtrauc dziesmu.

2. darbība. Nepieciešamais materiāls

Nepieciešams materiāls
Nepieciešams materiāls
Nepieciešams materiāls
Nepieciešams materiāls
Nepieciešams materiāls
Nepieciešams materiāls

1) Arduino Uno vai līdzvērtīgs

2) Pasīvs pjezo elektriskais skaņas signāls vai skaļrunis ar pastiprinātāja ķēdi

3) Augstas pretestības trimpots (pārliecinieties, ka strāvai, kas plūst caur to pie 5 V, vajadzētu būt mazai dažās milimpās)

4) džemperu vadi

5) rīvdēlis

6) 3,5 mm audio ligzda vai mikrofons ar pastiprinātāja ķēdi (es izmantoju savu mobilo kā pastiprinātāju, jo uzskatīju, ka esmu pārāk slinks, lai to izveidotu)

7) Android tālrunis (lai atskaņotu skaņu)

8) arduino kabelis (lai to ieprogrammētu)

3. darbība. Savienojumi

Savienojumi
Savienojumi
Savienojumi
Savienojumi

1) Uzstādiet trimpot uz maizes dēļa un piegādājiet to zemē un +5V no arduino, izmantojot džemperu vadus.

2) Savienojiet 3,5 mm ligzdas zemējumu ar trimpota trešo tapu, lai tā darbotos kā sprieguma dalītāja konfigurācija un kanāls ar arduino A0 kontaktu.

3) Pievienojiet skaņas signāla zemi arduino zemei un signalizējiet arduino 13. tapai.

4. solis: Arduino kods

Arduino kods
Arduino kods

Šeit ir pilns kods

Esmu komentējis dažus testēšanai izmantotos sērijveida drukas paziņojumus

uint64_t aizkaves laiks = 0, ltime = 0; uint32_t biežums = 0; uint16_t sākotnējais, val, del = 0; bool last, curr; void setup () {// ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: delay (1000); /*Serial.begin(115200); kavēšanās (1000); Serial.println ("sistēma sākta");*/ sākotnējais = analogRead (A0); ja (analogRead (A0)

void loop () {// ielieciet šeit savu galveno kodu, lai palaistu atkārtoti: val = analogRead (A0); ja (val> = sākotnējais) curr = 1; cits curr = 0; del = (int) val- (int) sākotnējais; ja (pēdējais == 0 && curr == 1) {aizkadrs = micros (); biežums = 1000000/(2*(īslaicīgs laiks)); /*Serial.print(freq, DEC); Serial.print ("uz leju"); Serial.println (del);*/ if (freq> 50 && freq15) tonis (13, freq, 500); kavēšanās (100); lime = micros (); pēdējais = 1; }

5. solis: ieslēdziet to !

Pievienojiet tālruni, lai atskaņotu mūziku, un, ja vēlaties dziedāt, varat izmantot visu rīku lietotni, kuru var lejupielādēt Play veikalā. Šeit ir saite

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

Pēc lejupielādes atveriet mike opciju un dziediet!

Lūk, kā tas darbojas!

Ieteicams: