Inhoudsopgave:

Geautomatiseerde piano: 5 stappen
Geautomatiseerde piano: 5 stappen

Video: Geautomatiseerde piano: 5 stappen

Video: Geautomatiseerde piano: 5 stappen
Video: 5 Heel eenvoudige Kinderliedjes voor Kinderen - Piano Tutorial 2024, Juli-
Anonim
Geautomatiseerde piano
Geautomatiseerde piano

Ik wilde een piano maken die automatisch kan spelen door onmiddellijk naar mijn muziek te luisteren. Dus probeerde ik het met arduino uno die ik had liggen. Het zou veel beter kunnen zijn met arduino nul met behulp van een eenvoudige frequentiemeterbibliotheek. op dit moment en ik ging verder met uno.

Stap 1: Theorie

De piano wordt gespeeld door de frequentie van de zanger aan de piano aan te passen. Dus we moeten de frequentie van de zanger samplen en deze in realtime afspelen. Ik gebruik een spanningsdeler uit een trimpot omdat audio ac is en Arduino niet kan omgaan met negatieve spanningen, daarom de spanning van de spanningsdeler als referentie gebruiken en deze instellen op 2,5 V. De invoer wordt geleverd op de A0-pin van de arduino. Ik heb vervolgens de arduino geprogrammeerd om te controleren wanneer de spanning zich op het referentieniveau bevindt dat ik heb gemeten en het aanvankelijk heb genoemd en vervolgens het tijdsinterval tussen opeenvolgende referentiespanning heb gemeten en vervolgens de frequentie heb berekend. variabele wordt gebruikt om de momentane amplitude van het audiosignaal op te slaan om de ruis te elimineren die een amplitude heeft van minder dan 15 adc-waarde of 0,0733 volt. Er wordt een limiet gesteld aan de frequentie zodat extreme waarden het nummer niet onderbreken.

Stap 2: Benodigd materiaal

Benodigd materiaal
Benodigd materiaal
Benodigd materiaal
Benodigd materiaal
Benodigd materiaal
Benodigd materiaal

1)Arduino Uno of gelijkwaardig

2) Passieve piëzo-elektrische zoemer of een luidspreker met versterkercircuit

3) Trimpot met hoge weerstand (zorg ervoor dat de stroom die er doorheen stroomt bij 5v klein moet zijn in enkele millamps)

4) jumperdraden

5)broodplank

6) 3,5 mm audio-aansluiting of een microfoon met versterkercircuit (ik gebruikte mijn mobiel als versterker omdat ik te lui was om er een te bouwen)

7) Android-telefoon (om geluid af te spelen)

8) arduino-kabel (om het te programmeren)

Stap 3: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen

1) Monteer de trimpot op het breadboard en voorzie deze van aarde en +5v van arduino met behulp van jumperdraden.

2) Sluit de aarde van de 3,5 mm-aansluiting aan op de derde pin van de trimpot om te werken als spanningsdelerconfiguratie en kanaal naar A0-pin van arduino.

3) Verbind de aarde van de zoemer met de aarde van arduino en signaal naar pin 13 van arduino.

Stap 4: Arduino-code

Arduino-code
Arduino-code

Hier is de volledige code

Ik heb commentaar gegeven op enkele verklaringen van seriële afdrukken die voor het testen werden gebruikt

uint64_t curtime=0, ltime=0;uint32_t freq=0; uint16_t initiaal, val, del=0; bool laatste, curr; void setup () { // plaats hier uw setup-code om één keer uit te voeren: delay (1000); /*Serial.begin(115200); vertraging (1000); Serial.println("systeem gestart");*/initial = analogRead(A0); if(analoogLees(A0)

void loop() {// plaats hier je hoofdcode, om herhaaldelijk uit te voeren: val=analogRead(A0); if(val>=initial)curr=1; anders curr=0; del=(int)val-(int)initiële; if(last==0 && curr==1){ curtime=micros(); freq=1000000/(2*(curtime-ltime)); /*Serial.print(freq, DEC); Serial.print(" naar beneden "); Serial.println(del);*/ if(freq>50&&freq15)tone(13, freq, 500); vertraging (100); ltime=micros(); laatste=1; }

Stap 5: Schakel het in !

Sluit je telefoon aan om wat muziek af te spelen en als je wilt zingen, kun je alle tools-app gebruiken die kan worden gedownload in de Play Store. Hier is de link

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

Open na het downloaden de microfoonoptie en zing!

Hier is hoe het werkt!

Aanbevolen: