Daftar Isi:
- Langkah 1: Deskripsi Fungsional
- Langkah 2: Daftar Bagian
- Langkah 3: Diagram Pengkabelan
- Langkah 4: Kode Sumber Arduino
Video: Arduino Metronom: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Ketika mempelajari alat musik baru sebagai seorang anak, ada begitu banyak hal baru untuk tetap fokus. Menjaga kecepatan dalam tempo yang tepat adalah salah satunya. Tidak menemukan metronom yang lengkap dan nyaman secara fungsional berarti alasan terbaik untuk mulai membangun lagi bersama anak-anak saya. Dalam posting Instructables ini Anda akan menemukan deskripsi fungsional, daftar suku cadang dengan tautan dan harga toko web, diagram pengkabelan untuk perakitan, dan kode sumber Arduino lengkap.
Langkah 1: Deskripsi Fungsional
Akan menyenangkan memiliki perangkat metronom dengan fungsi berikut untuk menggunakannya di rumah atau di sekolah musik dengan nyaman.
- Faktor bentuk yang ringkas agar sesuai dengan tempat kecil di atas atau di samping alat musik,
- Dioperasikan dengan baterai, kuat dan portabel untuk dibawa-bawa,
- Mudah diatur bahkan untuk anak-anak, nilai BPM selalu ditampilkan,
- Ketukan yang dapat disesuaikan per menit dengan kenop Rotary, hingga 240 BPM
- Kebijaksanaan terdengar dengan kontrol volume,
- Mode senyap untuk latihan headphone semalaman,
- Umpan balik visual ketukan (1/4, 2/4, 3/3, 4/4, 6/8, dll.) hingga 8 LED,
- Dengan atau tanpa aksen utama, dengan umpan balik visual dan suara.
Saat diaktifkan, mode metronom akan dimulai pada 60 BPM yang ditampilkan di layar kecil dan membiarkan kecepatan disetel oleh tombol putar antara 10 dan 240. Neopiksel menampilkan ketukan dalam LED biru sementara bel berbunyi. Menekan kenop akan beralih ke mode penyesuaian ketukan dan LED hijau akan menunjukkan struktur ketukan yang disetel. Kenop putar akan menambah atau mengurangi struktur ketukan (2/2, 3/3, 4/4, 6/8, dll.). Di atas 8 LED, lebih lanjut berputar searah jarum jam, aksen utama akan dihidupkan, dan LED pertama akan menunjukkan ini dengan warna merah. Aksen utama akan memiliki umpan balik yang dapat didengar juga. Itu dapat dimatikan dengan memutar berlawanan arah jarum jam. Menekan kenop akan beralih kembali dari mode penyesuaian ketukan ke mode metronom.
Langkah 2: Daftar Bagian
Anda akan membutuhkan sebuah kasus. Bentuk atau ukuran apa pun dapat dibeli, tetapi kami memiliki kotak logam hitam yang bagus dari sakelar VGA manual lama yang dibuang teman. Sisa bagian tercantum di bawah ini.
- Baterai 9V, USD 1,50
- Kabel konektor baterai, USD 0, 16
- Arduino Nano dengan pin header, USD 2,05
- Perisai Ekstensi Nano IO, USD 1, 05
- Sakelar geser mini untuk daya, USD 0,15
- Buzzer piezo, USD 0, 86
- Adafruit Neopixel WS2812 8-bit, USD 1, 01
- Layar OLED 128x64, USD 1,53
- Enkoder putar, USD 0, 50
- Kabel Dupont F/F, USD 0, 49
Total harga komponen kurang dari USD 10,-
Langkah 3: Diagram Pengkabelan
Gunakan Papan Ekstensi Nano IO agar tidak repot menyolder beberapa sambungan GND dan VCC. Penyolderan minimal akan diperlukan untuk header pin Nano dan untuk konektor modul Neopixel. Menggunakan kabel Dupont memungkinkan koneksi yang stabil untuk sisa kabel seperti yang ditunjukkan pada diagram. Baterai 9V terhubung ke GND dan VIN, yang terakhir melalui sakelar penggeser daya. Modul rotary encoder memiliki tombol sakelar terintegrasi, yang ditampilkan secara terpisah dalam diagram untuk memudahkan pemahaman tentang cara menghubungkannya. Bagian putar (CLK dan DT) masing-masing terhubung ke PIN2 dan PIN3, karena ini adalah satu-satunya pin NANO yang mampu menangani Interrupt. Rotary GND terhubung ke PIN GND Nano tentunya. Tombol sakelar terintegrasi terhubung ke PIN4. Buzzer Piezo terhubung ke PIN5 dan GND. Modul Neopixel Adafruit terhubung ke PIN7 dan VIN dan GND-nya masing-masing ke 5V dan GND Nano. Layar OLED kecil terhubung ke antarmuka bus I2C, yaitu PIN A4 dan A5 untuk SDA dan SDL. VCC dan GND tentu saja masuk ke Nano 5V dan GND. Itu menyimpulkan kabel Dupont kami.
Langkah 4: Kode Sumber Arduino
// Metronom, Aksen Terkemuka, Kebijaksanaan Visual&Audible - 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 berbagi pin reset Arduino) Tampilan Adafruit_SSD1306(SCREEN_WIDTH, SCREEN_HEIGHT, &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 state = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmPertama = 0; // LED Nyala Pertama, Matikan selebihnya… int tack = 4; bool leadingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; void setup() { piksel.begin(); pinMode(pin_buzzer, OUTPUT); Timer1.initialize(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); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Alamat 0x3D untuk 128x64 untuk(;;); // Jangan lanjutkan, loop selamanya } display.clearDisplay(); tampilan.tampilan(); } void loop() { if (digitalRead(pin_switch)==LOW) { delay(100); while(digitalRead(pin_switch)==LOW); penundaan(100); Timer1.detachInterrupt(); showGreenTacks(); while(digitalRead(pin_switch)==HIGH) { if (curVal>prevVal) { tack+=1; if (tack>8) { if (leadingTack) tack = 8; else { leadingTack = benar; paku = 1; } } } else if (curValprevVal) { bpm+=2; jika (bpm>240) bpm = 240; } else if (curVal=100) display.print(" "); lain tampilan.print(" "); display.print(bpm); tampilan.tampilan(); } void buzztick() { if (bpmFirst==0) { int volume = 4; if (leadingTack && pos==0) volume = 8; untuk (int i=0; i
Direkomendasikan:
Metronom Servo, Dapat Diprogram untuk Kecepatan Berbeda: 3 Langkah
Metronom Servo, Dapat Diprogram untuk Kecepatan Berbeda: Buat metronom Anda sendiri. Yang Anda butuhkan hanyalah starter kit Arduino Mega 2560 dan komputer yang kompatibel
Metronom 555-timer: 3 Langkah
555-timer Metronom: Metronom adalah perangkat yang menghasilkan bunyi klik atau suara lain pada interval reguler yang dapat diatur oleh pengguna, biasanya dalam ketukan per menit (BPM). Musisi menggunakan perangkat untuk berlatih bermain dengan denyut nadi biasa.(https://en.wikipedia.org/w
Metronom Berbasis Mikrokontroler: 5 Langkah
Metronom Berbasis Mikrokontroler: Metronom adalah alat pengatur waktu yang digunakan oleh musisi untuk melacak ketukan dalam lagu dan untuk mengembangkan rasa pengaturan waktu di antara pemula yang sedang mempelajari alat musik baru. Ini membantu untuk mempertahankan rasa ritme yang sangat penting dalam musik.Bui
Metronom Visual untuk Drummer: 8 Langkah
Metronom Visual untuk Drummer: Saya punya teman dan rekan kerja yang adalah drummer rock and roll. Biliknya berada di sebelah saya di tempat kerja sehingga dia melihat dan mendengar tentang semua proyek elektronik dan perangkat lunak saya. Sudah lebih dari setahun jadi aku bahkan tidak ingat bagaimana semua ini terjadi
555 Timer Metronom - Audio & Visual: 8 Langkah (dengan Gambar)
555 Timer Metronom - Audio & Visual: Anak saya baru-baru ini mulai memainkan ukulele dan saya pikir metronom akan membantu mengatur waktunya. Sebagai pembuat, saya pikir saya bisa menyiapkannya sendiri dengan cukup mudah dengan timer 555 (apa yang tidak bisa Anda buat dengan satu …) Setelah sedikit mencari di w