Taula de continguts:

Piano automatitzat: 5 passos
Piano automatitzat: 5 passos

Vídeo: Piano automatitzat: 5 passos

Vídeo: Piano automatitzat: 5 passos
Vídeo: 3 Easy Songs for Beginners (learn in 5 minutes...) 2024, Desembre
Anonim
Piano automatitzat
Piano automatitzat

Volia fer un piano que es pogués tocar automàticament escoltant la meva música de manera instantània. Així que vaig provar-ho amb arduino uno que tenia al voltant. Podria ser molt millor amb arduino zero utilitzant una simple biblioteca de comptadors de freqüència ii que no el tenia de moment i vaig continuar amb uno.

Pas 1: teoria

El piano es toca fent coincidir la freqüència del cantant amb el piano, de manera que hem de provar la freqüència del cantant i reproduir-la en temps real. Utilitzo un divisor de tensió d’un trimpot ja que l’àudio és ac i l’arduino no pot manejar voltatges negatius, per tant, utilitzava la tensió proporcionada pel divisor de tensió com a referència i el configurava a 2,5 v. L’entrada es proporciona al pin A0 de l’arduino. Després he programat l’arduino per comprovar si la tensió està al nivell de referència que he mesurat i l’he anomenat inicial i després he mesurat l’interval de temps entre la tensió de referència successiva i després he calculat la freqüència. La variable s'utilitza per emmagatzemar l'amplitud instantània del senyal d'àudio per eliminar el soroll que té una amplitud inferior al valor de 15 adc o 0,0733 volts. Es posa un límit a la freqüència perquè els valors extrems no interrompin la cançó.

Pas 2: Material necessari

Material requerit
Material requerit
Material requerit
Material requerit
Material requerit
Material requerit

1) Arduino Uno o equivalent

2) Zumbador piezoelèctric passiu o un altaveu amb circuit amplificador

3) Trimpot d'alta resistència (assegureu-vos que el corrent que hi circula a 5v ha de ser petit en pocs millamps)

4) cables de pont

5) taulell de pa

6) Connector d'àudio de 3,5 mm o un micròfon amb circuit d'amplificador (he utilitzat el meu mòbil com a amplificador perquè em semblava massa mandrós per crear-ne un)

7) Telèfon Android (per reproduir so)

8) cable arduino (per programar-lo)

Pas 3: connexions

Connexions
Connexions
Connexions
Connexions

1) Munteu el trimpot a la placa de pa i subministreu-lo a terra i a + 5 v de l'arduino mitjançant cables de pont.

2) Connecteu la terra del jack de 3,5 mm al tercer pin del trimpot per funcionar com a configuració de divisor de tensió i canalitzeu al pin A0 d'arduino.

3) Connecteu la terra del brunzidor a la terra de l'arduino i senyalitzeu-la al pin 13 de l'arduino.

Pas 4: Codi Arduino

Codi Arduino
Codi Arduino

Aquí teniu el codi complet

He comentat algunes afirmacions de la impressió en sèrie que s’utilitzen per fer proves

uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t inicial, val, del = 0; bool darrer, curr; void setup () {// poseu aquí el vostre codi de configuració per executar-lo una vegada: delay (1000); /*Serial.begin(115200); retard (1000); Serial.println ("sistema iniciat"); * / initial = analogRead (A0); if (analogRead (A0)

void loop () {// poseu aquí el vostre codi principal per executar-lo repetidament: val = analogRead (A0); si (val> = inicial) curr = 1; else curr = 0; del = (int) val- (int) inicial; if (last == 0 && curr == 1) {curtime = micros (); freq = 1000000 / (2 * (curtime-ltime)); /*Serial.print(freq, DEC); Serial.print ("avall"); Serial.println (del); * / if (freq> 50 && freq15) to (13, freq, 500); retard (100); ltime = micros (); darrer = 1; }

Pas 5: enceneu-lo !

Connecteu el vostre telèfon per reproduir música i, si voleu cantar, podeu utilitzar totes les aplicacions d’eines que es poden descarregar a Play Store. Aquí teniu l’enllaç

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

Després de descarregar-la, obre l’opció Mike i canta.

Aquí és com funciona!

Recomanat: