![Метроном Arduino: 4 шага Метроном Arduino: 4 шага](https://i.howwhatproduce.com/images/011/image-30806-j.webp)
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05
![Image Image](https://i.howwhatproduce.com/images/011/image-30806-2-j.webp)
![](https://i.ytimg.com/vi/lj-VNMmd9zY/hqdefault.jpg)
Когда ты учишься играть на новом музыкальном инструменте в детстве, есть так много новых вещей, на которых нужно сосредоточиться. Сохранение правильного темпа - одна из них. Отсутствие функционально законченного и удобного метронома было лучшим предлогом для того, чтобы снова начать строить вместе с моими детьми. В этом посте с инструкциями вы найдете функциональное описание, список деталей со ссылками на интернет-магазины и ценами, схему подключения для сборки и полный исходный код Arduino.
Шаг 1. Функциональное описание
![Список деталей Список деталей](https://i.howwhatproduce.com/images/011/image-30806-3-j.webp)
Было бы неплохо иметь метроном со следующими функциями, чтобы удобно пользоваться им дома или в музыкальной школе.
- Компактный форм-фактор для небольших мест сверху или рядом с музыкальными инструментами,
- Работает от батареи, прочный и портативный, чтобы носить его с собой,
- Легко настраивается даже для детей, всегда отображается значение BPM,
- Регулируемое количество ударов в минуту с помощью поворотной ручки, до 240 ударов в минуту
- Звуковой такт с регулятором громкости,
- Бесшумный режим для ночной тренировки в наушниках,
- Визуальная обратная связь ударов (1/4, 2/4, 3/3, 4/4, 6/8 и т. Д.) До 8 светодиодов,
- С ведущим акцентом или без него, с визуальной и звуковой обратной связью.
При включении режим метронома запускается со скоростью 60 ударов в минуту, отображаемой на маленьком дисплее, и позволяет регулировать темп с помощью поворотной ручки в диапазоне от 10 до 240. Неопиксели показывают ритм синими светодиодами, пока горит зуммер. Нажатие на ручку переключит режим настройки ударов, и зеленые светодиоды укажут на установленную структуру ударов. Поворотная ручка будет увеличивать или уменьшать структуру ударов (2/2, 3/3, 4/4, 6/8 и т. Д.). Над 8 светодиодами, при дальнейшем вращении по часовой стрелке, будет включен начальный акцент, и первый светодиод укажет это красным. Ведущий акцент также будет иметь звуковую обратную связь. Его можно выключить, повернув против часовой стрелки. Нажатие на ручку переключит обратно из режима настройки ударов в режим метронома.
Шаг 2: Список деталей
Вам понадобится чехол. Можно купить любую форму и размер, но у нас был красивый черный металлический корпус старого ручного переключателя VGA, который выбрал друг. Остальные части перечислены ниже.
- Аккумулятор 9 В, 1,50 доллара США.
- Кабель для подключения аккумулятора, 0, 16 долларов США
- Arduino Nano с разъемами для контактов, 2,05 доллара США.
- Nano IO Extension Shield, 1,05 доллара США.
- Мини-ползунковый переключатель питания, 0,15 доллара США.
- Пьезозуммер, 0,86 долларов США
- Adafruit Neopixel WS2812 8-бит, 1 доллар США
- OLED-дисплей 128x64, доллар США 1, 53
- Круговой энкодер, 50 долларов США
- Кабели Dupont F / F, 49 долларов США
Общая стоимость компонентов менее 10 долларов США, -
Шаг 3: Схема подключения
![Схема подключения Схема подключения](https://i.howwhatproduce.com/images/011/image-30806-4-j.webp)
Используйте плату расширения Nano IO Extension Board, чтобы не беспокоиться о пайке нескольких соединений GND и VCC. Минимальная пайка потребуется для разъемов Nano pin и разъемов модуля Neopixel. Использование проводов Dupont обеспечивает стабильные соединения для остальной проводки, как показано на схеме. Батарея 9V подключается к GND и VIN, последний - через ползунковый переключатель питания. Модуль поворотного энкодера имеет встроенную кнопку переключателя, которая показана отдельно на схеме для облегчения понимания того, как их подключить. Поворотная часть (CLK и DT) подключена к PIN2 и PIN3 соответственно, потому что это единственные контакты NANO, способные обрабатывать прерывания. Поворотный GND, конечно же, подключен к контакту GND Nano. Встроенная кнопка переключателя подключена к PIN4. Пьезозуммер подключается к контакту 5 и заземлению. Модуль Adafruit Neopixel подключен к PIN7, а его VIN и GND к 5V и GND Nano соответственно. Маленький OLED-дисплей подключен к интерфейсу шины I2C, который имеет PIN A4 и A5 для SDA и SDL. VCC и GND, конечно же, идут на 5V и GND Nano. На этом мы завершаем проводку Dupont.
Шаг 4: Исходный код Arduino
![Исходный код Arduino Исходный код Arduino](https://i.howwhatproduce.com/images/011/image-30806-5-j.webp)
// Метроном, ведущий акцент, визуальный и звуковой такт - 2019 Питер Чургай
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Сброс пин # (или -1, если общий пин сброса Arduino) Adafruit_SSD1306 display (SCREEN_WIDHE) & Провод, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel Pixel = 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; booladingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; пустая настройка () {пикселей.begin (); pinMode (pin_buzzer, ВЫХОД); Timer1.initialize (1000000 * 60 / уд / мин / 2); Timer1.attachInterrupt (звонок); pinMode (CLK, INPUT_PULLUP); pinMode (DT, INPUT_PULLUP); pinMode (pin_switch, INPUT_PULLUP); attachInterrupt (digitalPinToInterrupt (CLK), rotaryCLK, CHANGE); attachInterrupt (digitalPinToInterrupt (DT), rotaryDT, ИЗМЕНИТЬ); if (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Адрес 0x3D для 128x64 for (;;); // Не продолжать, цикл бесконечно} display.clearDisplay (); display.display (); } void loop () {if (digitalRead (pin_switch) == LOW) {задержка (100); while (digitalRead (pin_switch) == LOW); задержка (100); Timer1.detachInterrupt (); showGreenTacks (); в то время как (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack + = 1; if (tack> 8) {if (leadingTack) tack = 8; иначе {leadTack = true; липкость = 1; }}} иначе, если (curValprevVal) {bpm + = 2; если (уд / мин> 240) уд / мин = 240; } иначе, если (curVal = 100) display.print (""); иначе display.print (""); display.print (уд / мин); display.display (); } void buzztick () {если (bpmFirst == 0) {int volume = 4; if (LeadingTack && pos == 0) volume = 8; для (int i = 0; i
Рекомендуемые:
Метроном с таймером 555: 3 шага
![Метроном с таймером 555: 3 шага Метроном с таймером 555: 3 шага](https://i.howwhatproduce.com/images/007/image-18468-j.webp)
Метроном с таймером 555: Метроном - это устройство, которое издает слышимый щелчок или другой звук с регулярным интервалом, который может быть установлен пользователем, обычно в ударах в минуту (BPM). Музыканты используют это устройство, чтобы отработать ритм игры. (Https://en.wikipedia.org/w
Метроном на базе микроконтроллера: 5 шагов
![Метроном на базе микроконтроллера: 5 шагов Метроном на базе микроконтроллера: 5 шагов](https://i.howwhatproduce.com/images/009/image-24823-j.webp)
Метроном на основе микроконтроллера: метроном - это устройство отсчета времени, используемое музыкантами для отслеживания ударов в песнях и развития чувства времени у новичков, которые изучают новый инструмент. Он помогает поддерживать чувство ритма, которое имеет решающее значение в музыке. Этот метроном
Визуальный метроном для барабанщиков: 8 шагов
![Визуальный метроном для барабанщиков: 8 шагов Визуальный метроном для барабанщиков: 8 шагов](https://i.howwhatproduce.com/images/003/image-6495-j.webp)
Визуальный метроном для барабанщиков: у меня есть друг и коллега, барабанщик в стиле рок-н-ролл. Его кабинет находится рядом с моим на работе, поэтому он видит и слышит обо всех моих проектах в области электроники и программного обеспечения. Прошло больше года, поэтому я даже не могу вспомнить, как все это случилось, но
CPE 133 Метроном: 3 ступени
![CPE 133 Метроном: 3 ступени CPE 133 Метроном: 3 ступени](https://i.howwhatproduce.com/images/001/image-105-49-j.webp)
CPE 133 Metronome: Для нашего последнего проекта в Cal Poly мы создали устройство для поддержания темпа, называемое метрономом, мы выбрали этот проект из-за интереса к музыке и цифровому дизайну. Мы использовали предыдущие лабораторные работы в CPE 133, чтобы помочь разработать наш код, и онлайн-учебные пособия, чтобы помочь в
Сделайте композицию MP3 «Метроном» в формате Chi Running: 6 шагов (с изображениями)
![Сделайте композицию MP3 «Метроном» в формате Chi Running: 6 шагов (с изображениями) Сделайте композицию MP3 «Метроном» в формате Chi Running: 6 шагов (с изображениями)](https://i.howwhatproduce.com/images/001/image-952-185-j.webp)
Сделайте MP3-трек «Метроном» для бега с использованием ци. Прямо перед тем, как я начал бегать в Vibram Five Fingers в прошлом году, я также прочитал о методе «бег с ци», разработанном Дэнни Дрейером, чтобы я мог регулировать свой стиль бега. Я быстро понял, что мне бы пригодился еще один механизм - метроном, но