Spisu treści:
- Krok 1: Opis funkcjonalny
- Krok 2: Lista części
- Krok 3: Schemat połączeń
- Krok 4: Kod źródłowy Arduino
Wideo: Metronom Arduino: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Ucząc się nowego instrumentu muzycznego jako dziecko, jest tak wiele nowych rzeczy, na których należy się skupić. Jednym z nich jest utrzymywanie odpowiedniego tempa. Nie znalezienie funkcjonalnie kompletnego i wygodnego metronomu oznaczało najlepszą wymówkę, aby ponownie zacząć budować z moimi dziećmi. W tym poście Instructables znajdziesz opis funkcjonalny, listę części z linkami do sklepu internetowego i cenami, schemat połączeń do montażu oraz kompletny kod źródłowy Arduino.
Krok 1: Opis funkcjonalny
Byłoby miło mieć urządzenie metronomu z następującymi funkcjami, aby wygodnie używać go w domu lub w szkole muzycznej.
- Kompaktowa obudowa, aby zmieścić małe miejsca na górze lub obok instrumentów muzycznych,
- Zasilany bateryjnie, wytrzymały i przenośny do noszenia,
- Łatwa konfiguracja nawet dla dzieci, wartość BPM zawsze wyświetlana,
- Regulowane uderzenia na minutę za pomocą pokrętła, do 240 BPM
- słyszalny takt z regulacją głośności,
- Tryb cichy do nocnych ćwiczeń na słuchawkach,
- Wizualna informacja zwrotna o bitach (1/4, 2/4, 3/3, 4/4, 6/8 itd.) do 8 diod LED,
- Z wiodącym akcentem lub bez, z wizualnym i dźwiękowym sprzężeniem zwrotnym.
Włączenie trybu metronomu rozpocznie się od 60 BPM, pokazując się na małym wyświetlaczu i pozwalając na dostrojenie tempa za pomocą pokrętła od 10 do 240. Neopiksele pokazują rytm na niebieskich diodach LED, podczas gdy brzęczyk tyka. Naciśnięcie pokrętła spowoduje przejście do trybu regulacji rytmu, a zielone diody LED wskażą ustawioną strukturę rytmu. Pokrętło zwiększa lub zmniejsza strukturę bitu (2/2, 3/3, 4/4, 6/8 itd.). Powyżej 8 diod, dalej obracając się zgodnie z ruchem wskazówek zegara, wiodący akcent zostanie włączony, a pierwsza dioda wskaże to na czerwono. Główny akcent będzie miał również słyszalne sprzężenie zwrotne. Można go wyłączyć, obracając przeciwnie do ruchu wskazówek zegara. Naciśnięcie pokrętła spowoduje powrót z trybu regulacji rytmu do trybu metronomu.
Krok 2: Lista części
Będziesz potrzebować etui. Można kupić dowolny kształt i rozmiar, ale mieliśmy ładną czarną metalową obudowę starego ręcznego przełącznika VGA, który został wyrzucony znajomemu. Pozostałe części są wymienione poniżej.
- Bateria 9 V, 1,50 USD
- Kabel do podłączenia akumulatora, 0, 16 USD
- Arduino Nano z pinami, 2,05 USD
- Osłona przedłużająca Nano IO, 1, 05 USD
- Mini przełącznik suwakowy do zasilania, 0,15 USD
- Brzęczyk piezo, 0, 86 USD
- Adafruit Neopixel WS2812 8-bitowy, 1 USD, 01
- Wyświetlacz OLED 128x64, 1, 53
- Enkoder obrotowy, 0,50 USD
- Kable Dupont F/F, 0, 49
Całkowita cena komponentów to mniej niż 10 USD, -
Krok 3: Schemat połączeń
Użyj karty rozszerzeń Nano IO, aby nie zawracać sobie głowy lutowaniem wielu połączeń GND i VCC. Wymagane będzie minimalne lutowanie dla nagłówków Nano pin i dla złącz modułu Neopixel. Korzystanie z przewodów Dupont umożliwia stabilne połączenie reszty okablowania, jak pokazano na schemacie. Bateria 9V jest podłączona do GND i VIN, ten ostatni przez suwak zasilania. Moduł enkodera obrotowego ma zintegrowany przycisk przełącznika, który jest pokazany osobno na schemacie, aby ułatwić zrozumienie sposobu ich podłączenia. Część obrotowa (CLK i DT) jest podłączona odpowiednio do PIN2 i PIN3, ponieważ są to jedyne piny NANO zdolne do obsługi przerwań. Obrotowy GND jest oczywiście podłączony do GND PIN Nano. Zintegrowany przycisk przełącznika jest podłączony do PIN4. Brzęczyk piezo jest podłączony do PIN5 i GND. Moduł Adafruit Neopixel jest podłączony do PIN7, a jego VIN i GND do odpowiednio 5V i GND Nano. Mały wyświetlacz OLED jest podłączony do interfejsu magistrali I2C, czyli PIN A4 i A5 dla SDA i SDL. VCC i GND idzie oczywiście do 5V i GND Nano. To kończy nasze okablowanie Dupont.
Krok 4: Kod źródłowy Arduino
// Metronom, główny akcent, takt wizualny i dźwiękowy - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin # (lub -1 jeśli udostępniasz pin resetowania Arduino) Wyświetlacz Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN &Przewód, OLED_RESET); #define pin_neopixel 7 #define LICZBA PIKSELI 8 #define JASNOŚĆ 32 Adafruit_NeoPixel piksele = 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 bpmPierwsza = 0; // dioda LED włączona na początku, wyłączona na pozostałym… int tack = 4; bool prowadzącyTack = false; int poz = 0; int curVal = 0; int prevVal = 0; void setup() { piksele.początek(); pinMode(pin_buzzer, WYJŚCIE); 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), rotacyjnyCLK, CHANGE); attachInterrupt(digitalPinToInterrupt(DT), rotacyjnyDT,CHANGE); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Adres 0x3D dla 128x64 for(;;); // Nie kontynuuj, pętla w nieskończoność } display.clearDisplay(); display.display(); } void loop() { if (digitalRead(pin_switch)==LOW) { delay (100); while(digitalRead(pin_switch)==NISKI); opóźnienie (100); Timer1.detachInterrupt(); pokażGreenTacks(); while(digitalRead(pin_switch)==HIGH) { if (curVal>prevVal) { tack+=1; if (hals>8) { if (przód hals) hals = 8; else { WiodącyTack = prawda; przyczepność = 1; } } } else if (curValprevVal) { bpm+=2; jeśli (bpm>240) bpm = 240; } else if (curVal=100) display.print(" "); else display.print(" "); display.print(bpm); display.display(); } void buzztick() { if (bpmFirst==0) { int volume = 4; if (leadingTack && pos==0) objętość = 8; dla (int i=0; i
Zalecana:
Metronom serwomechanizmu, programowalny dla różnych prędkości: 3 kroki
Metronom serwomechanizmu, programowalny dla różnych prędkości: Stwórz swój własny metronom. Wszystko czego potrzebujesz to zestaw startowy Arduino Mega 2560 i kompatybilny komputer
Metronom z 555 zegarami: 3 kroki
555-timer Metronom: Metronom to urządzenie, które generuje słyszalne kliknięcie lub inny dźwięk w regularnych odstępach czasu, które mogą być ustawione przez użytkownika, zwykle w uderzeniach na minutę (BPM). Muzycy używają urządzenia, aby ćwiczyć grę na równym poziomie.(https://en.wikipedia.org/w
Metronom oparty na mikrokontrolerze: 5 kroków
Metronom oparty na mikrokontrolerze: Metronom to urządzenie do pomiaru czasu używane przez muzyków do śledzenia uderzeń w utworach i rozwijania wyczucia czasu wśród początkujących, którzy uczą się nowego instrumentu. Pomaga zachować poczucie rytmu, co jest kluczowe w muzyce.Ten metronom buduje
Wizualny metronom dla perkusistów: 8 kroków
Visual Metronom for Drummers: Mam przyjaciela i współpracownika, który jest perkusistą rock and rolla. Jego boks jest obok mojego w pracy, więc widzi i słyszy o wszystkich moich projektach elektroniki i oprogramowania. Minął ponad rok, więc nawet nie pamiętam, jak to wszystko się wydarzyło, ale
Metronom CPE 133: 3 kroki
CPE 133 Metronome: Do naszego ostatniego projektu w Cal Poly stworzyliśmy urządzenie do utrzymywania tempa zwane metronomem, wybraliśmy ten projekt ze względu na zainteresowanie muzyką i cyfrowym projektem. Wykorzystaliśmy wcześniejsze laboratoria w CPE 133, aby pomóc zaprojektować nasz kod i samouczki online, aby pomóc w ko