Мазмұны:

Ардуино фортепиано батырмалы қосқыштары бар: 3 қадам
Ардуино фортепиано батырмалы қосқыштары бар: 3 қадам

Бейне: Ардуино фортепиано батырмалы қосқыштары бар: 3 қадам

Бейне: Ардуино фортепиано батырмалы қосқыштары бар: 3 қадам
Бейне: ОГУРЕЧНОЕ ПИАНИНО | огуркофон? | электроогурцы? | собрал на arduino 2024, Қараша
Anonim
Ардуино фортепиано батырмалы түймелері бар
Ардуино фортепиано батырмалы түймелері бар
Ардуино фортепиано батырмалы түймелері бар
Ардуино фортепиано батырмалы түймелері бар

Авторы: 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 -қадам: Схеманы құру

1 -қадам: Схеманы құру
1 -қадам: Схеманы құру
1 -қадам: Схеманы құру
1 -қадам: Схеманы құру
1 -қадам: Схеманы құру
1 -қадам: Схеманы құру
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 тақтасына жүктей аласыз.

Ұсынылған: