Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Создал: 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: Построение схемы
Сначала вставьте все кнопочные переключатели и мини-динамик на макетную плату один за другим и совместите их в одном ряду. Затем соедините контакты каждого кнопочного переключателя с землей. Во-вторых, подключите резисторы 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.