
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36


Създадено от: Haotian Ye
Общ преглед
Това е пиано дъска с осем превключвателя с бутони, която ви позволява да свирите една октава (Do Re Mi Fa So La Si Do) и с тази една октава можете да опитате да свирите някои песни, които харесвате. За този проект има някои важни знания, които трябва да знаете, преди да започнете.
Първо, трябва да знаем честотите на основните ноти на пиано.
Честотите са изброени по -долу:
Do - 261Hz
Re - 294Hz
Mi - 329Hz
Fa - 349Hz
Така че - 392Hz
La - 440Hz
Si - 493Hz
Do - 523Hz
Второ, ще ви покажа как да изградите веригата, като използвате частите, които могат да бъдат закупени от електронния магазин на Lee. Накрая , ще представя и обясня кода, който трябва да бъде качен на дъската на Arduino.
Части, които ще ви трябват:
Arduino Uno R3 (ID на продукта: 10997)
USB A към B кабел M/M (ID на продукта: 29861)
10K резистор * 8 (ID на продукта: 91516)
Различни цветове на Tack Switch * 8 (ID на продукта: 3124, 31242, 31243, 31245, 31246)
Мини високоговорител (ID на продукта: 41680)
Платформа (ID на продукта: 106861)
Джъмперни проводници (ID на продукта: 21801)
Стъпка 1: Стъпка 1: Изграждане на веригата




Първо поставете всички превключватели с бутони и мини високоговорителя в чертежа един по един и ги съпоставете на един ред. След това свържете щифтовете на всеки бутон за превключване към земята. Второ свържете 10k резистора между положителната мощност и другите щифтове на всеки бутон. И свържете тази колона към щифтове 2-9 на Arduino Board. Също така, свържете земята към заземяващия щифт и положителната мощност към 3.3v щифт на Arduino. Накрая свържете мини високоговорителя към щифта 10 на Arduino.
Стъпка 2: Стъпка 2: Код и обяснение
Кодът по -долу е това, което написах
const int черно = 2;
const int бяло = 3;
const int червено = 4;
const int зелено = 5;
const int синьо = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Свържете всички превключватели с бутони и високоговорител със сигналните щифтове на arduino
int честота = {262, 294, 330, 349, 392, 440, 493, 523}; // масивът съдържа всички честоти от една октава
void setup () {
// поставете кода за настройка тук, за да стартирате веднъж:
pinMode (черен, INPUT);
pinMode (бял, INPUT);
pinMode (червен, INPUT);
pinMode (зелен, INPUT);
pinMode (син, INPUT);
pinMode (black2, INPUT);
pinMode (green2, INPUT);
pinMode (red2, INPUT);
pinMode (високоговорител, OUTPUT);
тон (оратор, 2000);
Serial.begin (9600);
}
void loop () {
// поставете основния си код тук, за да се изпълнява многократно:
if (digitalRead (черен) == LOW) // когато натиснете превключвателя "DO"
{тон (високоговорител, честота [0], 50);
забавяне (50);
noTone (говорител);}
иначе if (digitalRead (бяло) == 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.
Препоръчано:
Универсална USB клавиатура с RGB превключватели: 6 стъпки

Универсална USB клавиатура с RGB превключватели: В тази инструкция ще ви покажа как да създадете своя собствена USB клавиатура, която да се държи точно като обикновена компютърна клавиатура. Можете да зададете произволна комбинация от клавиши или последователност от клавиши, които да бъдат натиснати, докато натискате само един бутон. Можете да го използвате
Как да си направим интелигентни ролетни щори със смарт превключватели SONOFF?: 14 стъпки

Как да си направим интелигентни ролетни щори с интелигентни превключватели SONOFF?: Използвайте режима за блокиране в интелигентните превключватели SONOFF, за да превърнете обикновените си ролетни щори/щори в интелигентни Дали повечето от вас ще се съгласят, че това е задача, която дърпате ролетите/щорите сутрин и да го сваля вечер? Както и да е, аз съм
Направи си сам волан и педали за компютър от картон! (Обратна връзка, превключватели на гребла, дисплей) за състезателни симулатори и игри: 9 стъпки

Направи си сам волан и педали за компютър от картон! (Обратна връзка, превключватели на гребла, дисплей) за състезателни симулатори и игри: Здравейте всички! В тези скучни времена всички се разхождаме и търсим какво да правим. Състезанията в реалния живот са отменени и са заменени със симулатори. Реших да създам евтин симулатор, който работи безупречно
НАЧАЛО АВТОМАТИЗАЦИЯ В ДОМА - Сменете традиционните светлинни превключватели: 5 стъпки

DIY HOME AUTOMATION - Заменете традиционните светлинни превключватели: Включете или изключете LIGHTS с помощта на сензори за докосване Характеристики: Капацитивните сензори за докосване се използват за включване на светлините вместо традиционните механични превключватели. PIR сензори за автоматични светлини
Превключватели Arduino и Thumbwheel: 9 стъпки

Превключватели Arduino и Thumbwheel: В тази статия ние разглеждаме използването на превключватели с бутало/колело с нашите системи Arduino. Ето някои примери, получени от PMD Way