Πίνακας περιεχομένων:
- Βήμα 1: Λειτουργική περιγραφή
- Βήμα 2: Λίστα μερών
- Βήμα 3: Διάγραμμα καλωδίωσης
- Βήμα 4: Πηγαίος κώδικας Arduino
Βίντεο: Arduino Metronome: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Όταν μαθαίνετε ένα νέο μουσικό όργανο ως παιδί, υπάρχουν τόσα πολλά νέα πράγματα στα οποία πρέπει να εστιάσετε. Η διατήρηση του ρυθμού στο σωστό τέμπο είναι ένα από αυτά. Η μη εύρεση ενός λειτουργικά πλήρους και βολικού μετρονόμου σήμαινε την καλύτερη δικαιολογία για να ξεκινήσω να χτίζω ξανά με τα παιδιά μου. Σε αυτήν την ανάρτηση Instructables θα βρείτε τη λειτουργική περιγραφή, τη λίστα εξαρτημάτων με συνδέσμους και τιμές στο κατάστημα, το διάγραμμα καλωδίωσης για τη συναρμολόγηση και τον πλήρη πηγαίο κώδικα Arduino.
Βήμα 1: Λειτουργική περιγραφή
Θα ήταν ωραίο να έχετε μια συσκευή μετρονόμου με τις ακόλουθες λειτουργίες για να τη χρησιμοποιείτε στο σπίτι ή στο μουσικό σχολείο βολικά.
- Συμπαγής συντελεστής μορφής για να ταιριάζει σε μικρά μέρη πάνω ή δίπλα σε μουσικά όργανα,
- Λειτουργεί με μπαταρία, στιβαρό και φορητό για μεταφορά,
- Εύκολη ρύθμιση ακόμη και για παιδιά, η τιμή BPM εμφανίζεται πάντα,
- Ρυθμιζόμενοι ρυθμοί ανά λεπτό με περιστροφικό κουμπί, έως 240 BPM
- Ακουστικό τακτ με έλεγχο έντασης,
- Αθόρυβη λειτουργία για ολονύκτια εξάσκηση ακουστικών,
- Οπτική ανατροφοδότηση των παλμών (1/4, 2/4, 3/3, 4/4, 6/8 κ.λπ.) έως 8 LED,
- Με ή χωρίς κύρια προφορά, με οπτική και ηχητική ανατροφοδότηση.
Ενεργοποιώντας, η λειτουργία μετρονόμου θα ξεκινήσει στα 60 BPM που εμφανίζεται στη μικρή οθόνη και αφήνει τον ρυθμό να ρυθμιστεί από το περιστροφικό κουμπί μεταξύ 10 και 240. Τα νεοπίξελ δείχνουν τον ρυθμό με μπλε LED ενώ ο βομβητής χτυπά. Πατώντας το κουμπί θα μεταβείτε στη λειτουργία ρύθμισης του ρυθμού και οι πράσινες λυχνίες LED θα δείξουν τη ρυθμισμένη δομή του ρυθμού. Το περιστροφικό κουμπί αυξάνει ή μειώνει τη δομή του χτυπήματος (2/2, 3/3, 4/4, 6/8 κ.λπ.). Πάνω από 8 LED, που περιστρέφονται δεξιόστροφα, η κύρια προφορά θα ενεργοποιηθεί και η πρώτη λυχνία LED θα το δείξει με κόκκινο χρώμα. Η κύρια προφορά θα έχει επίσης ηχητική ανατροφοδότηση. Μπορεί να απενεργοποιηθεί περιστρέφοντας αριστερόστροφα. Πατώντας το κουμπί θα μεταβείτε πίσω από τη λειτουργία ρύθμισης ρυθμού στη λειτουργία μετρονόμου.
Βήμα 2: Λίστα μερών
Θα χρειαστείτε θήκη. Μπορείτε να αγοράσετε οποιοδήποτε σχήμα ή μέγεθος, αλλά είχαμε μια ωραία μαύρη μεταλλική θήκη ενός παλιού χειροκίνητου διακόπτη VGA που απορρίφθηκε από έναν φίλο. Τα υπόλοιπα μέρη παρατίθενται παρακάτω.
- Μπαταρία 9V, 1,50 USD
- Καλώδιο σύνδεσης μπαταρίας, 0 USD, 16 USD
- Arduino Nano με κεφαλίδες pin, 2,05 USD
- Nano IO Extension Shield, 1 USD, 05
- Μίνι διακόπτης τροφοδοσίας, 0,15 USD
- Piezo buzzer, 0 USD, 86
- Adafruit Neopixel WS2812 8-bit, 1 USD, 01
- Οθόνη OLED 128x64, USD 1, 53
- Περιστροφικός κωδικοποιητής, 0, 50 USD
- Καλώδια Dupont F/F, USD 0, 49
Η συνολική τιμή των εξαρτημάτων είναι μικρότερη από 10 USD, -
Βήμα 3: Διάγραμμα καλωδίωσης
Χρησιμοποιήστε τον πίνακα επέκτασης Nano IO για να μην ενοχλείτε με τη συγκόλληση πολλαπλών συνδέσεων GND και VCC. Θα χρειαστεί ελάχιστη συγκόλληση για τις κεφαλίδες Nano pin και για τους συνδετήρες μονάδας Neopixel. Η χρήση καλωδίων Dupont επιτρέπει σταθερές συνδέσεις για την υπόλοιπη καλωδίωση όπως φαίνεται στο διάγραμμα. Η μπαταρία 9V συνδέεται με GND και VIN, η τελευταία μέσω του διακόπτη ρυθμιστικού τροφοδοσίας. Η μονάδα περιστροφικού κωδικοποιητή διαθέτει ένα ενσωματωμένο κουμπί διακόπτη, το οποίο εμφανίζεται ξεχωριστά στο διάγραμμα για ευκολότερη κατανόηση του τρόπου σύνδεσής τους. Το περιστροφικό μέρος (CLK και DT) είναι συνδεδεμένο με PIN2 και PIN3 αντίστοιχα, επειδή είναι οι μόνοι ακροδέκτες NANO που μπορούν να διακόψουν τον χειρισμό. Το Rotary GND συνδέεται φυσικά με το PIN του GND του Nano. Το ενσωματωμένο κουμπί διακόπτη είναι συνδεδεμένο στο PIN4. Ο βομβητής Piezo είναι συνδεδεμένος με PIN5 και GND. Η μονάδα Adafruit Neopixel συνδέεται με το PIN7 και το VIN και GND του με τα 5V και GND του Nano αντίστοιχα. Μικρή οθόνη OLED είναι συνδεδεμένη στη διεπαφή διαύλου I2C, η οποία είναι PIN A4 και A5 για SDA και SDL. Το VCC και το GND πηγαίνουν στο 5V του Nano και φυσικά στο GND. Αυτό ολοκληρώνει την καλωδίωση του Dupont.
Βήμα 4: Πηγαίος κώδικας Arduino
// Metronome, Leading Accent, Visual & Audible Tact - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin #(or -1 if sharing Arduino reset reset) Adafruit_SSD1306 display, SCREEN_ & Wire, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, pin_neopixel, NEO_GRB + NEO_KHZ800); #define IDLE_11 0 #define SCLK_01 1 #define SCLK_00 2 #define SCLK_10 3 #define SDT_10 4 #define SDT_00 5 #define SDT_01 6 int state = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED αναμμένο στην αρχή, σβηστό στα υπόλοιπα… int tack = 4; bool leaderTack = false; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Χρονόμετρο 1. αρχικοποιήστε (1000000*60/bpm/2). Timer1.attachInterrupt (buzztick); pinMode (CLK, INPUT_PULLUP); pinMode (DT, INPUT_PULLUP); pinMode (pin_switch, INPUT_PULLUP); attachInterrupt (digitalPinToInterrupt (CLK), rotaryCLK, CHANGE); attachInterrupt (digitalPinToInterrupt (DT), rotaryDT, CHANGE); εάν (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Διεύθυνση 0x3D για 128x64 για (;;); // Μην προχωρήσετε, κάντε βρόχο για πάντα} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {καθυστέρηση (100); while (digitalRead (pin_switch) == LOW); καθυστέρηση (100)? Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leaderTack) tack = 8; else {leaderTack = true; προσφορά = 1; }}} else if (curValprevVal) {bpm+= 2; εάν (bpm> 240) bpm = 240? } else if (curVal = 100) display.print (""); else display.print (""); display.print (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int τόμος = 4; εάν (LeadTack && pos == 0) τόμος = 8; για (int i = 0; i
Συνιστάται:
Servo Metronome, προγραμματιζόμενος για διαφορετικές ταχύτητες: 3 βήματα
Servo Metronome, προγραμματιζόμενος για διαφορετικές ταχύτητες: Φτιάξτε το δικό σας μετρονόμο. Το μόνο που χρειάζεστε είναι το κιτ εκκίνησης Arduino Mega 2560 και ένας συμβατός υπολογιστής
Visual Metronome για ντράμερ: 8 βήματα
Visual Metronome for Drummers: Έχω έναν φίλο και κολλητό που είναι ροκ εν ρολ ντράμερ. Ο θάλαμος του είναι δίπλα στον δικό μου στη δουλειά και έτσι βλέπει και ακούει για όλα τα έργα ηλεκτρονικών και λογισμικού μου. Πέρασε πάνω από ένας χρόνος, οπότε δεν θυμάμαι καν πώς συνέβη όλο αυτό
555 Timron Metronome - Audio & Visual: 8 Steps (with Pictures)
555 Timon Metronome - Audio & Visual: Ο γιος μου άρχισε πρόσφατα να παίζει ukulele και σκέφτηκα ότι ένας μετρονόμος θα βοηθούσε στο timing του. Ως κατασκευαστής, σκέφτηκα ότι θα μπορούσα να χτυπήσω ένα πολύ εύκολα με ένα χρονόμετρο 555 (τι δεν μπορείτε να φτιάξετε με ένα…) Μετά από μια μικρή αναζήτηση στο
Light Up Drums With Metronome: 4 Βήματα
Light Up Drums With Metronome: Αυτό το έργο χρησιμοποιεί τύμπανο από βιντεοπαιχνίδι. Το Circuit Playground Express έχει προγραμματιστεί να λειτουργεί ως μετρονόμος και οι λωρίδες LED αντιδρούν στον ήχο των τυμπάνων που χτυπούν
Φτιάξτε ένα κομμάτι MP3 τρέχοντας "Metronome" MP3: 6 βήματα (με εικόνες)
Make a Chi Running "Metronome" MP3 Track: Ακριβώς πριν ξεκινήσω να τρέχω στο Vibram Five Fingers πέρυσι, διάβασα επίσης τη μέθοδο Chi Running που αναπτύχθηκε από τον Danny Dreyer, ώστε να μπορώ να προσαρμόσω το στυλ τρεξίματός μου. Γρήγορα συνειδητοποίησα ότι ένα ακόμη εργαλείο, ένας μετρονόμος, θα ήταν χρήσιμο, αλλά