Оглавление:

Фортепиано Arduino с кнопочными переключателями: 3 шага
Фортепиано Arduino с кнопочными переключателями: 3 шага

Видео: Фортепиано Arduino с кнопочными переключателями: 3 шага

Видео: Фортепиано Arduino с кнопочными переключателями: 3 шага
Видео: Уроки Arduino. Расширенное управление кнопкой 2024, Ноябрь
Anonim
Пианино Arduino с кнопочными переключателями
Пианино Arduino с кнопочными переключателями
Пианино Arduino с кнопочными переключателями
Пианино Arduino с кнопочными переключателями

Создал: Haotian Ye

Обзор

Это доска для фортепиано с восемью кнопочными переключателями, которая позволяет вам играть в одну октаву (Do Re Mi Fa So La Si Do), и с этой одной октавой вы можете попробовать сыграть некоторые песни, которые вам нравятся. Для этого проекта есть некоторые важные знания, которые вам нужно знать, прежде чем начинать.

Во-первых, нам нужно знать частоты основных нот фортепиано.

Частоты перечислены ниже:

До - 261 Гц

Re - 294 Гц

Mi - 329 Гц

Fa - 349 Гц

Итак - 392 Гц

La - 440 Гц

Si - 493 Гц

До - 523 Гц

Во-вторых, я покажу вам, как построить схему, используя детали, которые можно купить в электронном магазине Ли. Наконец, я представлю и объясню код, который необходимо загрузить на плату Arduino.

Детали, которые вам понадобятся:

Arduino Uno R3 (ID продукта: 10997)

Кабель USB A - B M / M (ID продукта: 29861)

Резистор 10 кОм * 8 (ID продукта: 91516)

Различные цвета переключателя прихватки * 8 (ID продукта: 3124, 31242, 31243, 31245, 31246)

Мини-динамик (ID продукта: 41680)

Макетная плата (ID продукта: 106861)

Провода перемычки (ID продукта: 21801)

Шаг 1: Шаг 1: Построение схемы

Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы
Шаг 1: построение схемы

Сначала вставьте все кнопочные переключатели и мини-динамик на макетную плату один за другим и совместите их в одном ряду. Затем соедините контакты каждого кнопочного переключателя с землей. Во-вторых, подключите резисторы 10 кОм между положительной мощностью и другими контактами каждого кнопочного переключателя. И подключите эту колонку к контактам 2-9 на плате Arduino. Кроме того, подключите заземление к контакту заземления, а положительное питание - к контакту 3,3 В на Arduino. Наконец, подключите мини-динамик к контакту 10 на Arduino.

Шаг 2: Шаг 2: Код и объяснение

Код ниже - это то, что я написал

const int черный = 2;

const int white = 3;

const int красный = 4;

const int зеленый = 5;

const int blue = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Связываем все кнопочные переключатели и динамик с сигнальными контактами Arduino

int frequency = {262, 294, 330, 349, 392, 440, 493, 523}; // массив содержит все частоты одной октавы

void setup () {

// поместите сюда свой установочный код, чтобы запустить его один раз:

pinMode (черный, ВХОД);

pinMode (белый, ВХОД);

pinMode (красный, ВХОД);

pinMode (зеленый, ВХОД);

pinMode (синий, ВХОД);

pinMode (черный2, ВХОД);

pinMode (зеленый2, ВХОД);

pinMode (красный2, ВХОД);

pinMode (динамик, ВЫХОД);

тон (спикер, 2000 г.);

Serial.begin (9600);

}

void loop () {

// поместите сюда свой основной код, чтобы запускать его повторно:

if (digitalRead (black) == LOW) // при нажатии кнопочного переключателя "DO"

{тон (динамик, частота [0], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (white) == LOW) // при нажатии кнопочного переключателя "RE"

{тон (динамик, частота [1], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (red) == LOW) // при нажатии кнопочного переключателя "MI"

{тон (динамик, частота [2], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (green) == LOW) // при нажатии кнопочного переключателя "FA"

{тон (динамик, частота [3], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (blue) == LOW) // когда вы нажимаете кнопку "SO"

{тон (динамик, частота [4], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (black2) == LOW) // при нажатии кнопочного переключателя "LA"

{тон (динамик, частота [5], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (green2) == LOW) // при нажатии кнопочного переключателя "SI"

{тон (динамик, частота [6], 50);

задержка (50);

noTone (динамик);}

else if (digitalRead (red2) == LOW) // когда вы нажимаете кнопку "DO"

{тон (динамик, частота [7], 50);

задержка (50);

noTone (динамик);}

else // когда ничего не нажимаешь

noTone (динамик);

}

Во-первых, мы должны объявить все кнопочные переключатели и динамик как контакты от 2 до 10 на Arduino. Каждый переключатель соответствует одной ноте. Затем используйте один массив, чтобы поместить внутрь все частоты. Далее, оператор If и else - это то, что я использую, чтобы сообщить Arduino, какой кнопочный переключатель я нажимаю.

Наконец, подключите плату Arduino к компьютеру или ноутбуку с помощью кабеля USB A - B. Перед загрузкой кода вам все равно необходимо загрузить программное обеспечение Arduino и выполнить некоторые настройки по умолчанию. Выберите Инструменты -> Плата -> Arduino / Genuino Uno; Затем нам нужно выбрать порт связи, подключенный к плате Arduino. Выберите «Инструменты» -> «Порт», затем выберите любое имя порта «(Arduino / Genuino Uno)». Затем вы можете загрузить код на плату Arduino.

Рекомендуемые: