Indholdsfortegnelse:

Automatiseret klaver: 5 trin
Automatiseret klaver: 5 trin

Video: Automatiseret klaver: 5 trin

Video: Automatiseret klaver: 5 trin
Video: Audioübertragung und Synchronisation zum Tyros 5 mit dem YEM 2024, November
Anonim
Automatiseret klaver
Automatiseret klaver

Jeg ville lave et klaver, der kan spille automatisk ved at lytte til min musik med det samme. Så jeg prøvede det med arduino uno, jeg havde liggende. Det kunne være meget bedre med arduino zero ved hjælp af et enkelt frekvensmålerbibliotek ii havde det ikke i øjeblikket, og jeg fortsatte med uno.

Trin 1: Teori

Klaveret spilles ved at matche sangerens frekvens til klaveret. Så vi skal prøve sangerens frekvens og afspille den i realtid. Jeg bruger en spændingsdeler fra en trimpot, da lyd er ac og arduino ikke kan håndtere negative spændinger brugte derfor spændingen fra spændingsdeleren som reference og sæt den op til 2,5v. Input er givet ved A0 pin på arduinoen. Jeg programmerede derefter arduinoen til at kontrollere, hvornår spændingen er på referenceniveau, som jeg målte og navngav den initial og derefter målt tidsintervallet mellem successiv referencespænding og derefter beregnet frekvensen. Del variabel bruges til at gemme den øjeblikkelige amplitude af audiosignalet for at eliminere den støj, der har amplitude mindre end 15 adc -værdi eller 0,0733 volt. Der sættes en grænse for frekvensen, så ekstreme værdier ikke afbryder sangen.

Trin 2: Materiale påkrævet

Materiale påkrævet
Materiale påkrævet
Materiale påkrævet
Materiale påkrævet
Materiale påkrævet
Materiale påkrævet

1) Arduino Uno eller tilsvarende

2) Passiv piezo elektrisk summer eller en højttaler med forstærkerkredsløb

3) Trimpot med høj modstand (sørg for, at strømmen, der strømmer igennem den ved 5v, skal være lille på få millamp)

4) jumperwires

5) brødbræt

6) 3,5 mm lydstik eller en mikrofon med forstærkerkredsløb (jeg brugte min mobil som forstærker, da jeg fandt mig selv for doven til at bygge en)

7) Android -telefon (for at afspille lyd)

8) arduino -kabel (for at programmere det)

Trin 3: Forbindelser

Forbindelser
Forbindelser
Forbindelser
Forbindelser

1) Monter trimpotten på brødbrættet, og tilfør den formalet og +5v fra arduino ved hjælp af jumperwires.

2) Tilslut jorden på 3,5 mm stikket til den tredje pin af trimpot for at fungere som spændingsdeler konfiguration og kanal til A0 pin af arduino.

3) Tilslut summeren til arduinos jord og signal til pin 13 på arduino.

Trin 4: Arduino -kode

Arduino kode
Arduino kode

Her er den komplette kode

Jeg har kommenteret nogle udsagn om seriel udskrivning, der bruges til test

uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t initial, val, del = 0; bool sidste, curr; void setup () {// sæt din opsætningskode her, for at køre en gang: delay (1000); /*Serial.begin(115200); forsinkelse (1000); Serial.println ("system startet");*/ initial = analogRead (A0); hvis (analogRead (A0)

void loop () {// sæt din hovedkode her for at køre gentagne gange: val = analogRead (A0); hvis (val> = initial) curr = 1; ellers curr = 0; del = (int) val- (int) initial; hvis (sidste == 0 && curr == 1) {curtime = micros (); freq = 1000000/(2*(curtime-ltime)); /*Serial.print(freq, DEC); Serial.print ("ned"); Serial.println (del);*/ if (freq> 50 && freq15) tone (13, freq, 500); forsinkelse (100); ltime = micros (); sidste = 1; }

Trin 5: Power It !

Tilslut din telefon for at afspille musik, og hvis du vil synge, kan du bruge alle værktøjer -appen, der kan downloades i play -butikken. Her er linket

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

Efter download skal du åbne mike -indstillingen og synge!

Sådan fungerer det!

Anbefalede: