Мазмұны:
- 1 -қадам: 1 -қадам: Схеманы құру
- 2 -қадам: 2 -қадам: Код және түсініктеме
- 3 -қадам: 3 -қадам: Бейне демонстрация
Бейне: Ардуино фортепиано батырмалы қосқыштары бар: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Авторы: Haotian Ye
Шолу
Бұл бір октаваны (Do Re Mi Fa So La Si Do) ойнауға мүмкіндік беретін сегіз түймелі қосқышы бар фортепиано тақтасы және осының көмегімен сіз өзіңізге ұнайтын әндерді орындауға тырысуға болады. Бұл жобаны бастамас бұрын білу қажет кейбір маңызды білім бар.
Біріншіден, біз фортепианоның негізгі ноталарының жиілігін білуіміз керек.
Жиіліктер төменде келтірілген:
Жиілігі - 261 Гц
Қайта - 294 Гц
Ми - 329 Гц
Fa - 349 Гц
Сондықтан - 392 Гц
Жылу жиілігі - 440 Гц
Си - 493 Гц
Жиілігі - 523 Гц
Екіншіден, мен сізге Ли электронды дүкенінен сатып алуға болатын бөлшектерді қолдану арқылы тізбекті қалай салу керектігін көрсетемін. Соңында , мен Arduino тақтасына жүктеу қажет кодты ұсынамын және түсіндіремін.
Сізге қажет бөлшектер:
Arduino Uno R3 (өнім идентификаторы: 10997)
USB A - B кабелі M/M (Өнім идентификаторы: 29861)
10K резисторы * 8 (өнім идентификаторы: 91516)
Түрлендіргіштің түрлі түстері * 8 (Өнім идентификаторы: 3124, 31242, 31243, 31245, 31246)
Шағын динамик (өнім идентификаторы: 41680)
Нан тақтасы (өнім идентификаторы: 106861)
Өткізгіш сымдар (өнім идентификаторы: 21801)
1 -қадам: 1 -қадам: Схеманы құру
Алдымен, батырманың барлық қосқыштары мен шағын динамикті тақтаға бір -бірлеп салыңыз және оларды бір қатарға сәйкестендіріңіз. Содан кейін әр түйме қосқышының түйреуіштерін жерге жалғаңыз. Екінші оң қуат пен әр түйме қосқышының басқа түйреуіштері арасындағы 10к резисторды қосыңыз. Бұл бағанды Arduino тақтасындағы 2-9 түйреуіштерге қосыңыз. Сонымен қатар, жерге тұйықтау шнуры мен оң қуатты Arduino -дағы 3,3 вольтке қосыңыз. Соңында, шағын динамикті Arduino -дегі 10 -істікке қосыңыз.
2 -қадам: 2 -қадам: Код және түсініктеме
Төмендегі код - менің жазғаным
const int black = 2;
const int white = 3;
const int red = 4;
const int green = 5;
const int blue = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int динамигі = 10; // Барлық түймешіктер мен динамикті arduino сигналының түйреуіштерімен байланыстырыңыз
int жиілігі = {262, 294, 330, 349, 392, 440, 493, 523}; // массив бір октаваның барлық жиіліктерін қамтиды
жарамсыз орнату () {
// бір рет іске қосу үшін орнату кодын осында қойыңыз:
pinMode (қара, INPUT);
pinMode (ақ, INPUT);
pinMode (қызыл, INPUT);
pinMode (жасыл, INPUT);
pinMode (көк, INPUT);
pinMode (қара2, КІРІС);
pinMode (жасыл2, КІРІС);
pinMode (қызыл2, КІРІС);
pinMode (динамик, OUTPUT);
тон (динамик, 2000);
Serial.begin (9600);
}
void loop () {
// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз:
егер (digitalRead (қара) == ТӨМЕН) // «ДО» батырмасын қосқышты басқанда
{тон (динамик, жиілік [0], 50);
кешіктіру (50);
noTone (динамик);}
else if (digitalRead (ақ) == LOW) // «RE» батырмасын ауыстырғышты басқанда
{тон (динамик, жиілік [1], 50);
кешіктіру (50);
noTone (динамик);}
else if (digitalRead (қызыл) == LOW) // «MI» батырмасын ауыстырғышты басқанда
{тон (динамик, жиілік [2], 50);
кешіктіру (50);
noTone (динамик);}
else if (digitalRead (жасыл) == ТӨМЕН) // «FA» батырмасын ауыстырғышты басқанда
{тон (динамик, жиілік [3], 50);
кешіктіру (50);
noTone (динамик);}
else if (digitalRead (көк) == ТӨМЕН) // «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 (динамик);}
басқа // ештеңені баспаған кезде
noTone (динамик);
}
Біріншіден, біз барлық түйме қосқыштары мен динамикті Arduino -да 2 -ден 10 -ға дейінгі түйреуіш ретінде жариялауымыз керек. Әрбір қосқыш бір нотаны білдіреді. Содан кейін, барлық жиіліктерді ішіне қою үшін бір массивті пайдаланыңыз. Әрі қарай, If and else мәлімдемесі - мен Arduino -ға мен басатын батырманың қосқышы туралы хабарлау үшін қолданамын.
Ақырында, Arduino тақтасын компьютерге немесе ноутбукке USB кабелімен қосыңыз. Кодты жүктемес бұрын, сіз әлі де Arduino бағдарламалық жасақтамасын жүктеп алып, әдепкі параметрлерді орнатуыңыз керек. Tools -> Board -> Arduino/Genuino Uno таңдаңыз; Содан кейін біз Arduino тақтасына қосылған байланыс портын таңдауымыз керек. Құралдар -> Портты таңдаңыз, содан кейін порттың қайсысы «(Arduino/Genuino Uno) деп белгіленеді. Содан кейін сіз кодты Arduino тақтасына жүктей аласыз.
Ұсынылған:
RGB қосқыштары бар әмбебап USB пернетақтасы: 6 қадам
RGB қосқыштары бар әмбебап USB пернетақтасы: Бұл нұсқаулықта мен сізге қарапайым компьютерлік пернетақта сияқты әрекет ететін USB пернетақтасын қалай жасау керектігін көрсетемін. Сіз тек бір батырманы басу арқылы басылатын кез келген пернелер тіркесімін немесе пернелер тізбегін тағайындай аласыз
Ардуино - Пьезо үш түймелі фортепиано: 4 қадам
Ардуино - Пьезо үш түймелі фортепиано: үш түймелі фортепиано - бұл жаңадан бастаушыларға арналған, тәжірибесі бар Arduino. Мен пьезо -зумермен бірінші рет ойнап жүргенде, байқаусызда оны жасауға тырыстым. Өте қатты болды! Әр түрлі жағдайларды анықтауға тырысқанда
Ардуино фортепиано - Пентотрон: 5 қадам
Ардуино фортепиано - Пентотрон: Сәлеметсіз бе! Бұл менің бірінші нұсқаулық, мен оны жақсы болу үшін бар күшімді саламын. Мен ана тілінде сөйлейтін адам емеспін, сондықтан кез келген қатені сақтап қойыңыз. Бұл нұсқаулық сізге өзіңіздің «фортепиано» ардуиносын қалай жасау керектігін көрсетеді. Ол тек пента ойнайды
Жеке қосқыштары бар IKEA қуат зарядтау қорабы: 6 қадам (суреттермен)
Жеке коммутаторлары бар IKEA зарядтау қорабы: Сонымен, мен келесі күні IKEA қорапшасы арқылы оңай электр станциясын қалай жасау керектігін көрдім: IKEA зарядтау қорабы-кабельдік бұзылулар жоқ! ұқсас нәрсе, сондықтан мен барып, сол қораптардың бірін IKEA -дан сатып алдым, бірақ ол менің орнымда тұрды
ATtiny2313: 9 қадамдары бар оқу қосқыштары
ATtiny2313 көмегімен оқу қосқыштары: ATtiny2313 және ұқсас AVR құрылғыларының шығысымен айналысатын бірнеше нұсқаулықтар болды. Мысалы, https://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/, https://www.instructables.com/id/Drive-a-St