Innehållsförteckning:

Automatiserat piano: 5 steg
Automatiserat piano: 5 steg

Video: Automatiserat piano: 5 steg

Video: Automatiserat piano: 5 steg
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Juli
Anonim
Automatiserat piano
Automatiserat piano

Jag ville göra ett piano som kan spela automatiskt genom att lyssna på min musik omedelbart. Så jag försökte med arduino uno jag hade liggande. Det kunde vara mycket bättre med arduino zero med hjälp av ett enkelt frekvensmätarbibliotek ii hade inte det för tillfället och jag fortsatte med uno.

Steg 1: Teori

Pianot spelas genom att matcha sångarens frekvens med pianot. Så vi måste prova sångarens frekvens och spela upp det i realtid. Jag använder en spänningsdelare från en trimpot eftersom ljudet är ac och arduino kan inte hantera negativa spänningar använde därför spänningen från spänningsdelaren som referens och ställ in den på 2,5v. Ingången tillhandahålls vid A0 -stift på arduinoen. Jag programmerade sedan arduino för att kontrollera när spänningen är på referensnivå som jag mätte och namngav den initial och sedan mätt tidsintervallet mellan på varandra följande referensspänning och sedan beräknat frekvensen. Del variabel används för att lagra den momentana amplituden för ljudsignalen för att eliminera bruset som har amplituden mindre än 15 adc -värde eller 0,0733 volt. En gräns sätts för frekvensen så att extrema värden inte avbryter låten.

Steg 2: Material krävs

Material krävs
Material krävs
Material krävs
Material krävs
Material krävs
Material krävs

1) Arduino Uno eller motsvarande

2) Passiv piezo elektrisk summer eller en högtalare med förstärkarkrets

3) Trimpot med hög motstånd (se till att strömmen som flyter genom den vid 5v ska vara liten på några millamp)

4) bygelkablar

5) brödbräda

6) 3,5 mm ljuduttag eller en mikrofon med förstärkarkrets (jag använde min mobil som förstärkare eftersom jag tyckte att jag var för lat för att bygga en)

7) Android -telefon (för att spela ljud)

8) arduino -kabel (för att programmera den)

Steg 3: Anslutningar

Anslutningar
Anslutningar
Anslutningar
Anslutningar

1) Montera trimpot på brödbrädet och mata det och +5v från arduino med hjälp av bygeltrådar.

2) Anslut marken på 3,5 mm -uttaget till trimpotens tredje stift för att fungera som spänningsdelarkonfiguration och kanal till A0 -stift på arduino.

3) Anslut summern till arduinos mark och signalera till pin 13 på arduino.

Steg 4: Arduino -kod

Arduino -kod
Arduino -kod

Här är hela koden

Jag har kommenterat några uttalanden om serietryck som används för testning

uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t initial, val, del = 0; bool sist, curr; void setup () {// lägg din installationskod här, för att köra en gång: delay (1000); /*Serial.begin(115200); fördröjning (1000); Serial.println ("system startat");*/ initial = analogRead (A0); if (analogRead (A0)

void loop () {// lägg din huvudkod här för att köra upprepade gånger: val = analogRead (A0); om (val> = initial) curr = 1; annars curr = 0; del = (int) val- (int) initial; if (last == 0 && curr == 1) {curtime = micros (); freq = 1000000/(2*(curtime-ltime)); /*Serial.print(freq, DEC); Serial.print ("ner"); Serial.println (del);*/ if (freq> 50 && freq15) ton (13, freq, 500); fördröjning (100); ltime = micros (); sista = 1; }

Steg 5: Power It !!

Anslut din telefon för att spela lite musik och om du vill sjunga kan du använda alla verktygsappar som kan laddas ner i play store. Här är länken

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

Efter nedladdning, öppna mike -alternativet och sjung!

Så här fungerar det!

Rekommenderad: