Mündəricat:
- Addım 1: Funksional Təsvir
- Addım 2: Parça siyahısı
- Addım 3: Bağlama Şeması
- Addım 4: Arduino Mənbə Kodu
Video: Arduino Metronome: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Uşaqlıqda yeni bir musiqi aləti öyrənərkən diqqət etməli olduğunuz çox şey var. Düzgün tempdə addım atmaq onlardan biridir. Funksional cəhətdən tam və rahat bir metronom tapmamaq, uşaqlarımla yenidən qurmağa başlamaq üçün ən yaxşı bəhanə demək idi. Bu Təlimat yazılarında, funksional təsviri, veb mağazası bağlantıları və qiymətləri olan hissələr siyahısını, montaj üçün elektrik sxemini və tam Arduino mənbə kodunu tapa bilərsiniz.
Addım 1: Funksional Təsvir
Evdə və ya musiqi məktəbində rahat istifadə etmək üçün aşağıdakı funksiyaları olan bir metronom cihazının olması yaxşı olardı.
- Musiqi alətlərinin üstündəki və ya yanında olan kiçik yerlərə uyğun kompakt form faktoru,
- Batareya ilə işləyən, möhkəm və daşımaq üçün portativ,
- Uşaqlar üçün belə asanlıqla qurulur, BPM dəyəri həmişə göstərilir,
- 240 BPM -ə qədər dönən bir düymə ilə dəqiqədə tənzimlənən vuruşlar
- Həcmi idarə edən səsli nəzakət,
- Gecə qulaqlıq təcrübəsi üçün səssiz rejim,
- 8 LED -ə qədər vuruşların vizual rəyi (1/4, 2/4, 3/3, 4/4, 6/8 və s.),
- Baş vurğu ilə və ya olmadan, vizual və səsli rəylə.
Açıldıqda, metronome rejimi kiçik ekranda görünən və sürətin 10 ilə 240 arasında dönən düymə ilə tənzimlənməsinə imkan verən 60 BPM -dən başlayacaq. Neopixels səsləri mavi LED -lərdə göstərərkən səs siqnalı çalır. Düyməni basmaq vuruş tənzimləmə rejiminə keçəcək və yaşıl LEDlər müəyyən edilmiş quruluşu göstərəcək. Döner düymə vuruş quruluşunu artıracaq və ya azaldacaq (2/2, 3/3, 4/4, 6/8 və s.). 8 LED -dən yuxarı, saat yönünde daha da fırlanan, ön vurğu açılacaq və ilk LED bunu qırmızı ilə göstərəcək. Aparıcı vurğu səsli rəylərə də sahib olacaq. Saat əqrəbinin əksinə fırlanaraq söndürülə bilər. Düyməni basmaq ritm tənzimləmə rejimindən metronom rejiminə keçəcək.
Addım 2: Parça siyahısı
Bir davaya ehtiyacınız olacaq. İstənilən forma və ya ölçü almaq olar, amma bir dostumuzun əlindən çıxarılan köhnə əl ilə VGA açarının qara rəngli metal qutusu vardı. Qalan hissələr aşağıda verilmişdir.
- 9V Batareya, 1.50 USD
- Batareya bağlayıcı kabeli, USD 0, 16
- Pin başlıqları olan Arduino Nano, 2.05 USD
- Nano IO Uzatma Qalxanı, USD 1, 05
- Güc üçün mini sürüşmə açarı, 0.15 USD
- Piezo buzzer, 0 USD 86
- Adafruit Neopixel WS2812 8 bit, USD 1, 01
- OLED Ekran 128x64, USD 1, 53
- Rotary kodlayıcı, USD 0, 50
- Dupont kabelləri F/F, USD 0, 49
Komponentlərin ümumi qiyməti 10 ABŞ dollarından aşağıdır, -
Addım 3: Bağlama Şeması
Çoxlu GND və VCC əlaqələrini lehimləməklə narahat olmamaq üçün Nano IO Uzatma Kartından istifadə edin. Nano pin başlıqları və Neopixel modul bağlayıcıları üçün minimum lehim lazım olacaq. Dupont tellərinin istifadəsi, diaqramda göstərildiyi kimi, telin qalan hissəsi üçün sabit bağlantılara imkan verir. 9V batareya GND və VIN -ə qoşulur, ikincisi güc sürüşmə açarı ilə. Rotary encoder modulunun birləşdirilməsini daha asan başa düşmək üçün diaqramda ayrıca göstərilmiş vahid keçid düyməsinə malikdir. Döner hissə (CLK və DT) sırasıyla PIN2 və PIN3 -ə bağlanır, çünki bunlar kəsilmə qabiliyyətinə malik yeganə NANO pinlərdir. Rotary GND, əlbəttə ki, Nanonun GND PIN koduna bağlıdır. İnteqrasiya edilmiş keçid düyməsi PIN4 -ə bağlıdır. Piezo səs siqnalı PIN5 və GND -ə bağlıdır. Adafruit Neopixel modulu müvafiq olaraq PIN7 və VIN və GND -ni Nano 5V və GND -ə qoşur. Kiçik OLED ekran, SDA və SDL üçün PIN A4 və A5 olan I2C avtobus interfeysinə qoşulur. VCC və GND, əlbəttə ki, Nano 5V və GND -ə gedir. Bu, Dupont kabellərimizi bağlayır.
Addım 4: Arduino Mənbə Kodu
// Metronom, Aparıcı Vurğu, Vizual və Səsli Takt - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #SCREEN_WIDTH 128 təyin et #SCREEN_HEIGHT 64 təyin et #OLED_RESET -1 təyin et // Pini #sıfırla (və ya -1 Arduino sıfırlama pinini paylaşarsa) Adafruit_SSD130WID, SCREEN_SIGHT & Tel, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 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 #deffine SDT_01 6 int state = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #dein pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // Əvvəlcə LED, qalanında sönür… int tack = 4; bool leadTack = yanlış; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {piksel.begin (); pinMode (pin_buzzer, Çıxış); Timer1.initialize (1000000*60/bpm/2); Taymer1.tachAxtat (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)) {// (;;) üçün 128x64 üçün 0x3D ünvanı; // Davam etməyin, sonsuza qədər döngə edin} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {gecikmə (100); while (digitalRead (pin_switch) == LOW); gecikmə (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leadTack) tack = 8; başqa {leadTack = doğru; yapışqan = 1; }}} başqa if (curValprevVal) {bpm+= 2; əgər (bpm> 240) bpm = 240; } else if (curVal = 100) display.print (""); else display.print (""); ekran. çap (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volume = 4; if (leadTack && pos == 0) həcmi = 8; üçün (int i = 0; i
Tövsiyə:
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
Fərqli sürətlər üçün proqramlaşdırıla bilən Servo Metronome: 3 addım
Fərqli sürətlər üçün proqramlaşdırıla bilən Servo Metronome: Öz metronomunuzu düzəldin. Lazım olan tək şey Arduino Mega 2560 başlanğıc dəsti və uyğun bir kompüterdir
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
Arduino istifadə edərək RC İzlənən Robot - Addım -addım: 3 Addım
Arduino istifadə edərək RC İzlənən Robot - Addım -addım: Hey uşaqlar, BangGood -dan başqa bir sərin Robot şassisi ilə geri döndüm. Ümid edirik ki, əvvəlki layihələrimizdən keçdiniz - Spinel Crux V1 - Jestlə İdarə Edilən Robot, Spinel Crux L2 - Arduino Robot Silahlı və Badland Brawlu Robotu Seçin və Yerləşdirin
Metronome ilə zərb alətləri: 4 addım
Metronome ilə Baraban Yandırın: Bu layihə bir video oyundan bir nağara istifadə edir. Circuit Playground Express, bir metronom olaraq fəaliyyət göstərmək üçün proqramlaşdırılmışdır və LED şeritləri vurulan zərb alətlərinin səsinə reaksiya verir