Πίνακας περιεχομένων:

Αυτόματο πιάνο: 5 βήματα
Αυτόματο πιάνο: 5 βήματα

Βίντεο: Αυτόματο πιάνο: 5 βήματα

Βίντεο: Αυτόματο πιάνο: 5 βήματα
Βίντεο: Άγια νύχτα. Εύκολο σόλο πιάνο. Μαθήματα πιάνου 2024, Νοέμβριος
Anonim
Αυτόματο πιάνο
Αυτόματο πιάνο

Wantedθελα να φτιάξω ένα πιάνο που μπορεί να παίζει αυτόματα ακούγοντας τη μουσική μου αμέσως. Έτσι το δοκίμασα με arduino uno που είχα ξαπλώσει. Θα μπορούσε να είναι πολύ καλύτερα με το arduino zero χρησιμοποιώντας απλή βιβλιοθήκη μετρητών συχνοτήτων ii δεν το είχα αυτή τη στιγμή και συνέχισα με το uno.

Βήμα 1: Θεωρία

Το πιάνο παίζεται με την αντιστοίχιση της συχνότητας του τραγουδιστή με το πιάνο. Οπότε πρέπει να δοκιμάσουμε τη συχνότητα του τραγουδιστή και να την αναπαράγουμε σε πραγματικό χρόνο. Χρησιμοποιώ ένα διαχωριστή τάσης από ένα trimpot, επειδή ο ήχος είναι ac και το arduino δεν μπορεί χειριστείτε αρνητικές τάσεις επομένως χρησιμοποίησε την τάση που παρέχεται από το διαχωριστή τάσης ως αναφορά και την ρυθμίστε στα 2,5v. Η είσοδος παρέχεται στον ακροδέκτη A0 του arduino. Στη συνέχεια, προγραμματίζω το arduino να ελέγχει πότε η τάση είναι στο επίπεδο αναφοράς, το οποίο μέτρησα και το ονόμασα αρχικό και στη συνέχεια μέτρησα το χρονικό διάστημα μεταξύ της διαδοχικής τάσης αναφοράς και έπειτα υπολόγισα τη συχνότητα. η μεταβλητή χρησιμοποιείται για την αποθήκευση του στιγμιαίου εύρους του ηχητικού σήματος για την εξάλειψη του θορύβου που έχει πλάτος μικρότερο από 15 adc τιμή ή 0,0733 βολτ. Ένα όριο τίθεται στη συχνότητα, έτσι ώστε οι ακραίες τιμές να μην διακόπτουν το τραγούδι.

Βήμα 2: Απαιτείται υλικό

Υλικό που απαιτείται
Υλικό που απαιτείται
Υλικό που απαιτείται
Υλικό που απαιτείται
Υλικό που απαιτείται
Υλικό που απαιτείται

1) Arduino Uno ή ισοδύναμο

2) Παθητικός πιεζοηλεκτρικός βομβητής ή ηχείο με κύκλωμα ενισχυτή

3) Τρίποτ υψηλής αντίστασης (βεβαιωθείτε ότι το ρεύμα που ρέει μέσα από αυτό στα 5v πρέπει να είναι μικρό σε λίγους λαμπτήρες)

4) καλώδια βραχυκυκλωτήρων

5) σανίδα ψωμιού

6) Υποδοχή ήχου 3,5 mm ή μικρόφωνο με κύκλωμα ενισχυτή (χρησιμοποίησα το κινητό μου ως ενισχυτή καθώς βρέθηκα πολύ τεμπέλης για να φτιάξω ένα)

7) τηλέφωνο Android (για αναπαραγωγή ήχου)

8) καλώδιο arduino (Για να το προγραμματίσετε)

Βήμα 3: Συνδέσεις

Συνδέσεις
Συνδέσεις
Συνδέσεις
Συνδέσεις

1) Τοποθετήστε το trimpot στη σανίδα ψωμιού και τροφοδοτήστε το με γείωση και +5v από το arduino χρησιμοποιώντας καλώδια με άλτες.

2) Συνδέστε τη γείωση της υποδοχής 3,5 mm στον τρίτο πείρο του trimpot για να λειτουργήσει ως διαμόρφωση του διαχωριστή τάσης και το κανάλι στο pin A0 του arduino.

3) Συνδέστε τη γείωση του βομβητή στη γείωση του arduino και δώστε σήμα στην καρφίτσα 13 του arduino.

Βήμα 4: Κωδικός Arduino

Κωδικός Arduino
Κωδικός Arduino

Εδώ είναι ο πλήρης κωδικός

Έχω σχολιάσει μερικές δηλώσεις σειριακής εκτύπωσης που χρησιμοποιούνται για δοκιμές

uint64_t curtime = 0, ltime = 0; uint32_t freq = 0; uint16_t αρχικό, val, del = 0; bool last, curr? void setup () {// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά: καθυστέρηση (1000); /*Serial.begin(115200); καθυστέρηση (1000)? Serial.println ("το σύστημα ξεκίνησε");*/ initial = analogRead (A0); εάν (analogRead (A0)

void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα: val = analogRead (A0); εάν (val> = αρχική) curr = 1; else curr = 0; del = (int) val- (int) αρχικό? if (last == 0 && curr == 1) {curtime = micros (); συχνότητα = 1000000/(2*(περ. ώρα-ώρα)); /*Serial.print(freq, DEC); Serial.print ("κάτω"); Serial.println (del);*/ if (freq> 50 && freq15) τόνος (13, freq, 500); καθυστέρηση (100)? ltime = micros (); τελευταίο = 1; }

Βήμα 5: Δύναμη !

Συνδέστε το τηλέφωνό σας για να παίξετε μουσική και αν θέλετε να τραγουδήσετε, μπορείτε να χρησιμοποιήσετε όλα τα εργαλεία που μπορείτε να κατεβάσετε στο play store. Εδώ είναι ο σύνδεσμος

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

Μετά τη λήψη, ανοίξτε την επιλογή mike και τραγουδήστε!

Εδώ είναι πώς λειτουργεί!

Συνιστάται: