İçindekiler:
Video: Arduino Metronom: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Çocukken yeni bir müzik aleti öğrenirken, üzerinde durulması gereken pek çok yeni şey vardır. Hızı doğru tempoda tutmak bunlardan biri. İşlevsel olarak eksiksiz ve kullanışlı bir metronom bulamamak, çocuklarımla yeniden inşa etmeye başlamak için en iyi bahane anlamına geliyordu. Bu Instructables gönderisinde, işlevsel açıklamayı, web mağazası bağlantıları ve fiyatları ile parça listesini, montaj için kablo şemasını ve eksiksiz Arduino kaynak kodunu bulacaksınız.
Adım 1: İşlevsel Açıklama
Evde veya müzik okulunda rahatlıkla kullanmak için aşağıdaki işlevlere sahip bir metronom cihazına sahip olmak güzel olurdu.
- Müzik aletlerinin üstüne veya yanına küçük yerlere sığdırmak için kompakt form faktörü,
- Pille çalışan, sağlam ve taşınabilir, taşıması kolay,
- Çocuklar için bile kolayca kurulur, BPM değeri her zaman görüntülenir,
- 240 BPM'ye kadar Döner düğme ile dakikada ayarlanabilir vuruşlar
- Ses kontrolü ile sesli dokunuş,
- Gece boyunca kulaklık alıştırması için sessiz mod,
- 8 LED'e kadar vuruşların (1/4, 2/4, 3/3, 4/4, 6/8 vb.) görsel geri bildirimi,
- Görsel ve sesli geri bildirim ile önde gelen vurgulu veya vurgusuz.
Açıldığında, metronom modu küçük ekranda gösterilen 60 BPM'de başlayacak ve hızın döner düğme ile 10 ile 240 arasında ayarlanmasına izin verecektir. Sesli uyarı çalarken Neopikseller ritmi mavi LED'lerde gösterir. Düğmeye basmak vuruş ayarlama moduna geçecektir ve yeşil LED'ler ayarlanan vuruş yapısını gösterecektir. Döner düğme vuruş yapısını artırır veya azaltır (2/2, 3/3, 4/4, 6/8, vb.). 8 LED'in üzerinde, saat yönünde daha fazla dönerek önde gelen vurgu açılacak ve ilk LED bunu kırmızı olarak gösterecektir. Önde gelen aksanın da sesli geri bildirimi olacaktır. Saat yönünün tersine çevirerek kapatılabilir. Düğmeye basıldığında vuruş ayarlama modundan metronom moduna geçilir.
Adım 2: Parça Listesi
Bir davaya ihtiyacınız olacak. Herhangi bir şekil veya boyut satın alınabilir, ancak bir arkadaşın elden çıkardığı eski bir manuel VGA anahtarının hoş bir siyah metal kasası vardı. Geri kalan parçalar aşağıda listelenmiştir.
- 9V Pil, USD 1.50
- Pil bağlantı kablosu, USD 0, 16
- Pin başlıklı Arduino Nano, 2,05 USD
- Nano IO Uzatma Kalkanı, USD 1, 05
- Güç için mini sürgülü anahtar, 0.15 USD
- Piezo zili, USD 0, 86
- Adafruit Neopixel WS2812 8-bit, USD 1, 01
- OLED Ekran 128x64, USD 1, 53
- Döner kodlayıcı, USD 0, 50
- Dupont kabloları F/F, USD 0, 49
Bileşenlerin toplam fiyatı 10 USD'den azdır, -
Adım 3: Kablo Şeması
Birden fazla GND ve VCC bağlantısını lehimlemekle uğraşmamak için Nano IO Uzatma Kartı kullanın. Nano pin başlıkları ve Neopixel modül konnektörleri için minimum lehimleme gerekecektir. Dupont kablolarının kullanılması, şemada gösterildiği gibi kabloların geri kalanı için sabit bağlantılar sağlar. 9V pil GND ve VIN'e bağlanır, ikincisi güç kaydırma anahtarı aracılığıyla. Döner kodlayıcı modülünde, bunların nasıl bağlanacağının daha kolay anlaşılması için şemada ayrıca gösterilen entegre bir anahtar düğmesi bulunur. Döner kısım (CLK ve DT) sırasıyla PIN2 ve PIN3'e bağlıdır, çünkü bunlar Kesinti işleme yeteneğine sahip tek NANO pinleridir. Döner GND, elbette Nano'nun GND PIN'ine bağlıdır. Entegre anahtar düğmesi PIN4'e bağlıdır. Piezo buzzer, PIN5 ve GND'ye bağlıdır. Adafruit Neopixel modülü PIN7'ye ve VIN'i ve GND'si sırasıyla Nano'nun 5V ve GND'sine bağlanır. Küçük OLED ekran, SDA ve SDL için PIN A4 ve A5 olan I2C veri yolu arayüzüne bağlanır. VCC ve GND elbette Nano'nun 5V ve GND'sine gider. Bu, Dupont kablolamamızı sonlandırıyor.
Adım 4: Arduino Kaynak Kodu
// Metronom, Öncü Vurgu, Görsel ve Sesli İncelik - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Pin numarasını sıfırlayın (veya Arduino sıfırlama pinini paylaşıyorsanız -1) Adafruit_SSD1306 ekranı(EKRAN_GENİŞLİK, EKRAN_HEIGHT, &Tel, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define PARLAKLIK 32 Adafruit_NeoPixel piksel = 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 durum = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED Başta Açık, Gerisi Kapalı… int tack = 4; bool liderTack = false; int konum = 0; int eğriVal = 0; int öncekiDeğer = 0; geçersiz kurulum() { piksel.begin(); pinMode(pin_buzzer, OUTPUT); Timer1.initialize(1000000*60/bpm/2); Timer1.attachInterrupt(vızıltı); pinMode(CLK, INPUT_PULLUP); pinMode(DT, INPUT_PULLUP); pinMode(pin_switch, INPUT_PULLUP); ataşeKesme(dijitalPinToInterrupt(CLK), rotaryCLK, CHANGE); ataşeKesme(dijitalPinToInterrupt(DT), rotaryDT, CHANGE); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 128x64 için 0x3D adresi for(;;); // Devam etmeyin, sonsuza kadar döngü yapın } display.clearDisplay(); display.display(); } void loop() { if (digitalRead(pin_switch)==LOW) { delay(100); while(digitalRead(pin_switch)==DÜŞÜK); gecikme(100); Timer1.detachInterrupt(); showGreenTacks(); while(digitalRead(pin_switch)==HIGH) { if (curVal>prevVal) { tack+=1; if (tack>8) { if (leadingTack) tack = 8; else { liderTack = true; tack = 1; } } } else if (curValprevVal) { bpm+=2; eğer (bpm>240) bpm = 240; } else if (curVal=100) display.print(" "); yoksa display.print(" "); display.print(bpm); display.display(); } void buzztick() { if (bpmFirst==0) { int hacim = 4; if (leadingTack && pos==0) hacim = 8; for (int i=0; ben
Önerilen:
Farklı Hızlar için Programlanabilen Servo Metronom: 3 Adım
Farklı Hızlar için Programlanabilir Servo Metronom: Kendi metronomunuzu yapın. Tek ihtiyacınız olan Arduino Mega 2560 başlangıç kiti ve uyumlu bir bilgisayar
555-zamanlayıcı Metronom: 3 Adım
555-zamanlayıcı Metronom: Bir metronom, kullanıcı tarafından tipik olarak dakikadaki vuruş sayısı (BPM) olarak ayarlanabilen düzenli aralıklarla sesli bir tıklama veya başka bir ses üreten bir cihazdır. Müzisyenler cihazı düzenli bir nabızla çalma alıştırması yapmak için kullanır.(https://en.wikipedia.org/w
Mikro-kontrolör Tabanlı Metronom: 5 Adım
Mikro-kontrolör Tabanlı Metronom: Bir metronom, müzisyenler tarafından şarkılardaki vuruşları takip etmek ve yeni bir enstrüman öğrenen yeni başlayanlar arasında bir zamanlama duygusu geliştirmek için kullanılan bir zamanlama cihazıdır. Müzikte çok önemli olan ritim duygusunun korunmasına yardımcı olur. Bu metronom
Davulcular için Görsel Metronom: 8 Adım
Davulcular için Görsel Metronom: Rock and roll davulcusu bir arkadaşım ve iş arkadaşım var. Onun odası işte benimkinin yanında ve bu yüzden tüm elektronik ve yazılım projelerimi görüyor ve duyuyor. Bir yıldan fazla oldu, bu yüzden tüm bunların nasıl olduğunu bile hatırlayamıyorum ama
555 Zamanlayıcı Metronom - Sesli ve Görsel: 8 Adım (Resimlerle)
555 Zamanlayıcı Metronom - Ses ve Görüntü: Oğlum kısa süre önce ukulele çalmaya başladı ve bir metronomun zamanlamasına yardımcı olacağını düşündüm. Bir yapımcı olarak, bir 555 zamanlayıcı ile kendimi oldukça kolay bir şekilde hazırlayabileceğimi düşündüm (biriyle ne yapamazsın…) W üzerinde biraz arama yaptıktan sonra