Isi kandungan:
- Langkah 1: Penerangan Berfungsi
- Langkah 2: Senarai Bahagian
- Langkah 3: Diagram Pendawaian
- Langkah 4: Kod Sumber Arduino
Video: Metronome Arduino: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Semasa belajar alat muzik baru semasa kecil, terdapat banyak perkara baru yang mesti diberi perhatian. Mengikuti tempo yang betul adalah salah satu daripadanya. Tidak menjumpai metronom yang berfungsi dan lengkap bermaksud alasan terbaik untuk mula membina semula dengan anak-anak saya. Dalam catatan Instructables ini, anda akan menemui penerangan fungsional, senarai bahagian dengan pautan dan harga kedai web, rajah pendawaian untuk pemasangan, dan kod sumber Arduino yang lengkap.
Langkah 1: Penerangan Berfungsi
Alangkah baiknya mempunyai alat metronom dengan fungsi berikut untuk menggunakannya di rumah atau di sekolah muzik dengan mudah.
- Faktor bentuk padat agar sesuai dengan tempat kecil di atas atau di sebelah alat muzik,
- Bateri dikendalikan, kuat dan mudah dibawa,
- Siapkan dengan mudah walaupun untuk anak-anak, nilai BPM selalu dipaparkan,
- Denyutan boleh laras per minit dengan tombol Rotary, hingga 240 BPM
- Taktik yang boleh didengar dengan kawalan kelantangan,
- Mod senyap untuk latihan fon kepala semalaman,
- Maklum balas visual rentak (1/4, 2/4, 3/3, 4/4, 6/8, dll.) Hingga 8 LED,
- Dengan atau tanpa aksen utama, dengan maklum balas visual dan didengar.
Dihidupkan, mod metronome akan bermula pada 60 BPM yang ditunjukkan pada paparan kecil dan membiarkan laju ditala oleh tombol putar antara 10 dan 240. Neopixels menunjukkan rentak dalam LED biru sementara buzzer berdetak. Menekan tombol akan beralih ke mod penyesuaian rentak dan LED hijau akan menunjukkan struktur rentak yang ditetapkan. Tombol putar akan menambah atau menurunkan struktur rentak (2/2, 3/3, 4/4, 6/8, dll.). Di atas 8 LED, berputar lebih jauh mengikut arah jam, aksen utama akan dihidupkan, dan LED pertama akan menunjukkan ini dengan warna merah. Aksen terkemuka juga mempunyai maklum balas yang dapat didengar. Ia boleh dimatikan dengan memutar lawan arah jam. Menekan tombol akan beralih dari mod penyesuaian rentak ke mod metronome.
Langkah 2: Senarai Bahagian
Anda akan memerlukan kes. Sebarang bentuk atau ukuran boleh dibeli, tetapi kami mempunyai kotak logam hitam yang bagus dari suis VGA manual lama yang dilucutkan rakan. Bahagian selebihnya disenaraikan di bawah.
- Bateri 9V, USD 1.50
- Kabel penyambung bateri, USD 0,16
- Arduino Nano dengan header pin, USD 2.05
- Nano IO Extension Shield, USD 1, 05
- Suis slaid mini untuk kuasa, USD 0.15
- Piezo buzzer, USD 0, 86
- Adafruit Neopixel WS2812 8-bit, USD 1, 01
- Paparan OLED 128x64, USD 1, 53
- Pengekod putar, USD 0, 50
- Kabel Dupont F / F, USD 0, 49
Jumlah harga komponen kurang dari USD 10, -
Langkah 3: Diagram Pendawaian
Gunakan Papan Sambungan Nano IO agar tidak terganggu dengan pematerian banyak sambungan GND dan VCC. Pematerian minimum diperlukan untuk header pin Nano dan untuk penyambung modul Neopixel. Menggunakan wayar Dupont membolehkan sambungan stabil untuk sisa pendawaian seperti yang ditunjukkan pada rajah. Bateri 9V disambungkan ke GND dan VIN, yang terakhir melalui suis slaid kuasa. Modul pengekod putar mempunyai butang suis bersepadu, yang ditunjukkan secara berasingan dalam rajah untuk pemahaman yang lebih mudah tentang cara menghubungkannya. Bahagian putar (CLK dan DT) masing-masing dihubungkan ke PIN2 dan PIN3, kerana ini adalah satu-satunya pin NANO yang mampu Mengendalikan gangguan. Rotary GND disambungkan ke PIN GND Nano sudah tentu. Butang suis bersepadu disambungkan ke PIN4. Piezo buzzer disambungkan ke PIN5 dan GND. Modul Adafruit Neopixel disambungkan ke PIN7 dan VIN dan GND masing-masing ke Nano's 5V dan GND. Paparan OLED kecil disambungkan ke antara muka bas I2C, iaitu PIN A4 dan A5 untuk SDA dan SDL. VCC dan GND tentu saja menuju Nano's 5V dan GND. Itu menyimpulkan pendawaian Dupont kami.
Langkah 4: Kod Sumber Arduino
// Metronome, Aksen Terkemuka, Taktik Visual & Terdengar - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin # (atau -1 jika berkongsi pin reset Arduino) Paparan Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_WIDTH, SCREEN_WIDTH, SCREEN_WIDTH & Kawat, 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 keadaan = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED Hidup pada Mula, Mati di selebihnya … int taktik = 4; bool terkemukaTack = salah; int pos = 0; int curVal = 0; int prevVal = 0; batal persediaan () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Pemasa1. inisialisasi (1000000 * 60 / bpm / 2); Pemasa1.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); jika (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Alamat 0x3D untuk 128x64 untuk (;;); // Jangan teruskan, gelung selamanya} display.clearDisplay (); paparan.display (); } gelung kosong () {if (digitalRead (pin_switch) == RENDAH) {kelewatan (100); sementara (digitalRead (pin_switch) == RENDAH); kelewatan (100); Pemasa1.detachInterrupt (); tunjukkanGreenTacks (); while (digitalRead (pin_switch) == TINGGI) {if (curVal> prevVal) {tack + = 1; if (tack> 8) {if (LeadTack) taktik = 8; lain {terkemukaTack = benar; tengkok = 1; }}} lain jika (curValprevVal) {bpm + = 2; jika (bpm> 240) bpm = 240; } lain jika (curVal = 100) display.print (""); display.print yang lain (""); display.print (bpm); paparan.display (); } batal buzztick () {if (bpmFirst == 0) {int volume = 4; jika (LeadTack && pos == 0) isipadu = 8; untuk (int i = 0; i
Disyorkan:
Servo Metronome, Boleh Diprogramkan untuk Kelajuan yang berbeza: 3 Langkah
Servo Metronome, Boleh Diprogram untuk Kelajuan Berbeza: Buat metronome anda sendiri. Yang anda perlukan hanyalah kit starter Arduino Mega 2560 dan komputer yang serasi
Metronome pemasa 555: 3 Langkah
Metronome 555-timer: Metronome adalah peranti yang menghasilkan klik atau suara lain yang dapat didengar pada selang waktu biasa yang dapat ditetapkan oleh pengguna, biasanya dalam denyutan per minit (BPM). Pemuzik menggunakan peranti ini untuk berlatih bermain dengan nadi biasa. (Https://en.wikipedia.org/w
Metronome Berasaskan Pengawal Mikro: 5 Langkah
Metronome Berasaskan Pengawal Mikro: Metronome adalah alat pemasa yang digunakan oleh pemuzik untuk mengesan rentak dalam lagu dan mengembangkan rasa masa di kalangan pemula yang mempelajari instrumen baru. Ini membantu mengekalkan rasa irama yang sangat penting dalam muzik. Metronome ini
Metronome Visual untuk Drummer: 8 Langkah
Metronome Visual untuk Drummer: Saya mempunyai rakan dan rakan sekerja yang merupakan pemain dram rock and roll. Biliknya berada di sebelah saya di tempat kerja dan oleh itu dia melihat dan mendengar semua projek elektronik dan perisian saya. Sudah lebih dari satu tahun, jadi saya tidak ingat bagaimana semua ini berlaku
Metronome Pemasa 555 - Audio & Visual: 8 Langkah (dengan Gambar)
555 Metronom Timer - Audio & Visual: Anak saya baru-baru ini mula memainkan ukulele dan saya fikir metronom akan membantu masa. Sebagai pembuat, saya fikir saya dapat membuat sendiri dengan mudah dengan pemasa 555 (apa yang tidak boleh anda buat dengan satu …) Setelah sedikit mencari di w