Съдържание:
- Стъпка 1: Функционално описание
- Стъпка 2: Списък на частите
- Стъпка 3: Схема на свързване
- Стъпка 4: Изходният код на Arduino
Видео: Ардуино метроном: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Когато изучавате нов музикален инструмент като дете, има толкова много нови неща, върху които да се съсредоточите. Поддържането на правилното темпо е един от тях. Не намирането на функционално завършен и удобен метроном означаваше най -доброто извинение да започна да строя отново с децата си. В тази публикация с Instructables ще намерите функционалното описание, списък с части с връзки и цени в уеб магазина, електрическа схема за сглобяване и пълен изходен код на Arduino.
Стъпка 1: Функционално описание
Би било хубаво да имате метрономно устройство със следните функции, за да го използвате удобно у дома или в музикалното училище.
- Компактен форм -фактор за поставяне на малки места отгоре или до музикални инструменти,
- Работи с батерии, здрав и преносим за пренасяне,
- Лесно се настройва дори за деца, стойността на BPM винаги се показва,
- Регулируеми удари в минута с въртящо се копче, до 240 BPM
- Звуков такт с контрол на силата на звука,
- Безшумен режим за практикуване на слушалки през нощта,
- Визуална обратна връзка на бийтове (1/4, 2/4, 3/3, 4/4, 6/8 и т.н.) до 8 светодиода,
- Със или без водещ акцент, с визуална и звукова обратна връзка.
Включването, режимът на метроном ще започне от 60 BPM, показвани на малкия дисплей и позволявайки на темпото да се регулира от въртящото се копче между 10 и 240. Неопикселите показват ритъма в сини светодиоди, докато зумерът тиктака. Натискането на копчето ще превключи в режим на регулиране на ритъма и зелените светодиоди ще покажат зададената структура на ритъма. Ротационното копче ще увеличи или намали структурата на ритъма (2/2, 3/3, 4/4, 6/8 и т.н.). Над 8 светодиода, които се въртят по посока на часовниковата стрелка, водещият акцент ще бъде включен, а първият светодиод ще покаже това в червено. Водещият акцент ще има и звукова обратна връзка. Може да се изключи чрез завъртане обратно на часовниковата стрелка. Натискането на копчето ще превключи от режим на регулиране на ритъма към режим на метроном.
Стъпка 2: Списък на частите
Ще ви трябва калъф. Всяка форма или размер могат да бъдат закупени, но имахме хубав черен метален корпус на стар ръчен VGA превключвател, изхвърлен от приятел. Останалите части са изброени по -долу.
- 9V батерия, 1,50 USD
- Кабел за свързване на батерията, USD 0, 16
- Arduino Nano с щифтове, 2,05 щ.д.
- Нано IO разширителен щит, 1, 05 USD
- Мини плъзгащ се превключвател за захранване, 0,15 USD
- Пиезо зумер, 0, 86 щ.д.
- Adafruit Neopixel WS2812 8-битов, USD 1, 01
- OLED дисплей 128x64, USD 1, 53
- Ротационен енкодер, USD 0, 50
- Кабели Dupont F/F, USD 0, 49
Общата цена на компонентите е под 10 USD, -
Стъпка 3: Схема на свързване
Използвайте платката за разширение Nano IO, за да не се притеснявате от запояване на множество GND и VCC връзки. Минимално запояване ще бъде необходимо за заглавките на Nano pin и за конекторите на модула Neopixel. Използването на кабели Dupont позволява стабилни връзки за останалата част от окабеляването, както е показано на диаграмата. 9V батерията е свързана към GND и VIN, последната чрез превключвателя на захранването. Модулът на въртящ се енкодер има вграден бутон за превключване, който е показан отделно на диаграмата за по -лесно разбиране как да ги свържете. Ротационната част (CLK и DT) е свързана съответно с PIN2 и PIN3, тъй като това са единствените NINO щифтове, способни да обработват прекъсвания. Ротационният GND е свързан, разбира се, с GND PIN на Nano. Вграденият бутон за превключване е свързан към PIN4. Пиезо зумерът е свързан към PIN5 и GND. Модулът Adafruit Neopixel е свързан към PIN7 и неговия VIN и GND съответно към 5V и GND на Nano. Малък OLED дисплей е свързан към интерфейса на I2C шината, който е PIN A4 и A5 за SDA и SDL. VCC и GND отиват при 5V на Nano и GND, разбира се. Това завършва нашето окабеляване на Dupont.
Стъпка 4: Изходният код на Arduino
// Метроном, водещ акцент, визуален и звуков такт - 2019 Питър Цургай
#include #include #include #include #include "TimerOne.h" #deteine SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Нулиране на щифт #(или -1, ако споделяте щифт за нулиране на Arduino) Adafruit_SSD1306 дисплей (SCREEN_W, SCREEN_WID & Wire, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel пиксели = 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 bpmFirst = 0; // Светодиодът свети първо, изключен в останалата част … int tack = 4; bool leadTack = false; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); Timer1.inicialize (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)) {// Адрес 0x3D за 128x64 за (;;); // Не продължавайте, цикъл завинаги} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {delay (100); while (digitalRead (pin_switch) == LOW); забавяне (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leadTack) tack = 8; else {водещТак = вярно; такт = 1; }}} иначе ако (curValprevVal) {bpm+= 2; ако (bpm> 240) bpm = 240; } else if (curVal = 100) display.print (""); else display.print (""); display.print (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int том = 4; if (leadTack && pos == 0) том = 8; за (int i = 0; i
Препоръчано:
Серво метроном, програмируем за различни скорости: 3 стъпки
Серво метроном, програмируем за различни скорости: Направете свой собствен метроном. Всичко, от което се нуждаете, е стартовият комплект Arduino Mega 2560 и съвместим компютър
555-таймерен метроном: 3 стъпки
555-таймерен метроном: Метрономът е устройство, което произвежда звуково щракване или друг звук на редовен интервал, който може да бъде зададен от потребителя, обикновено в удари в минута (BPM). Музикантите използват устройството, за да практикуват свирене на обикновен пулс. (Https://en.wikipedia.org/w
Метроном, базиран на микроконтролер: 5 стъпки
Метроном, базиран на микроконтролер: Метрономът е устройство за синхронизиране, използвано от музикантите за проследяване на бийтове в песните и за развиване на усещане за време при начинаещи, които изучават нов инструмент. Той помага да се поддържа чувството за ритъм, което е от решаващо значение за музиката. Този метроном
Визуален метроном за барабанисти: 8 стъпки
Визуален метроном за барабанисти: Имам приятел и колега, който е барабанист на рокендрола. Кабината му е до моята по време на работа и затова той вижда и чува за всичките ми проекти по електроника и софтуер. Измина повече от година, така че дори не мога да си спомня как се случи всичко това
555 Таймер метроном - аудио и визуално: 8 стъпки (със снимки)
555 Timer Metronome - Audio & Visual: Синът ми наскоро започна да свири на укулеле и мислех, че метроном ще му помогне с времето. Като производител, реших, че мога да си направя такъв доста лесно с таймер 555 (какво не можеш да направиш с такъв …) След малко търсене на w