Мазмуну:
- 1 -кадам: 1 -кадам: Районду куруу
- 2 -кадам: 2 -кадам: Код жана түшүндүрмө
- 3 -кадам: 3 -кадам: Видео демонстрация
Video: Ардуино пианино баскыч баскычтары менен: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Түзгөн: Haotian Ye
Обзор
Бул бир октаваны (Do Re Mi Fa So La Si Do) ойнотууга мүмкүндүк берген сегиз баскыч баскычы бар пианино тактасы жана бул бир октава менен сиз каалаган ырларды ойнотууга аракет кыла аласыз. Бул долбоор үчүн сиз баштаардан мурун билишиңиз керек болгон маанилүү билимдер бар.
Биринчиден, биз пианинонун негизги ноталарынын жыштыктарын билишибиз керек.
Жыштыктар төмөндө келтирилген:
Чыгуу - 261 Гц
Кайра - 294 Гц
Ми - 329 Гц
Fa - 349 Гц
Ошентип - 392 Гц
Ла - 440 Гц
Si - 493 Гц
Чыгуу - 523 Гц
Экинчиден, мен сизге Линин Электрондук дүкөнүнөн сатып алууга боло турган тетиктерди колдонуу менен схеманы кантип курууну көрсөтөм. Акыры , Мен 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)
Breadboard (Продукт ID: 106861)
Jumper Wires (Продукт ID: 21801)
1 -кадам: 1 -кадам: Районду куруу
Биринчиден, бардык баскыч баскычтарын жана мини -спикерди нан тактасына бирден киргизиңиз жана аларды бир катарга дал келтириңиз. Андан кийин, ар бир баскыч баскычынын казыктарын жерге туташтырыңыз. Экинчи позитивдүү күч менен ар бир баскычты өчүргүчтөрдүн ортосундагы башка 10к резисторлорду туташтырыңыз. Жана бул тилкени Arduino тактасындагы 2-9-казыктарга туташтырыңыз. Ошондой эле, жерге туташтыргычты жана оң күчтү Arduinoдогу 3.3v пинге туташтырыңыз. Акырында, мини -спикерди 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; // Ардуинонун сигнал казыктары менен бардык баскыч баскычтарын жана динамикти байланыштырыңыз
int жыштыгы = {262, 294, 330, 349, 392, 440, 493, 523}; // массив бир октаванын бардык жыштыктарын камтыйт
жараксыз орнотуу () {
// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн:
pinMode (кара, INPUT);
pinMode (ак, INPUT);
pinMode (кызыл, INPUT);
pinMode (жашыл, INPUT);
pinMode (көк, INPUT);
pinMode (black2, INPUT);
pinMode (green2, INPUT);
pinMode (red2, INPUT);
pinMode (динамик, ЧЫГУУ);
тон (спикер, 2000);
Serial.begin (9600);
}
void loop () {
// кайра иштетүү үчүн негизги кодуңузду бул жерге коюңуз:
if (digitalRead (black) == LOW) // "DO" баскычын которгучту басканда
{тон (динамик, жыштык [0], 50);
кечиктирүү (50);
noTone (спикер);}
else if (digitalRead (ак) == LOW) // "RE" баскычын которгучту басканда
{тон (динамик, жыштык [1], 50);
кечиктирүү (50);
noTone (спикер);}
else if (digitalRead (red) == LOW) // "MI" баскычын которгучту басканда
{тон (динамик, жыштык [2], 50);
кечиктирүү (50);
noTone (спикер);}
else if (digitalRead (жашыл) == 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 (спикер);}
башка // эч нерсени баспаганда
noTone (спикер);
}
Биринчиден, биз бардык баскыч баскычтарын жана динамикти Arduinoдогу 2ден 10го чейин пин деп жарыялашыбыз керек. Ар бир которгуч бир нотаны билдирет. Андан кийин, бардык жыштыктарды ичине коюу үчүн бир массивди колдонуңуз. Кийинки, If and else билдирүүсү мен Arduinoго кайсы баскыч баскычын басканымды билдирүү үчүн колдонгон нерсем.
Акырында, Arduino тактаңызды компьютериңизге же ноутбугуңузга USB Aдан B кабелине туташтырыңыз. Кодду жүктөөдөн мурун, дагы эле Arduino программасын жүктөп алып, демейки жөндөөнү жасашыңыз керек. Тандоо Куралдар -> Такта -> Arduino/Genuino Uno; Андан кийин биз Arduino тактасына туташкан байланыш портун тандашыбыз керек. Куралдар -> Портту тандаңыз, анан кайсы порттун аты "(Arduino/Genuino Uno) деп белгиленген. Андан кийин, сиз кодду Arduino тактасына жүктөй аласыз.
Сунушталууда:
Баскыч (Баскыч); // An Arduino LCD оюну: 5 кадам (сүрөттөр менен)
Баскыч (Баскыч); // An Arduino ЖК оюну: Жакында Скауттарда мен Оюн Дизайнынын татыктуу бейджиги менен иштедим. Талаптардын бири үчүн, мен бул оюнду LED Rocker Game'ге негизделген Arduino менен кургам. Оюндун мааниси мүмкүн болгон эң көп упай топтоо. Т -дын башында
Баскыч баскычтары бар SSR тутумдук схемасы: 6 кадам (сүрөттөр менен)
Баскычтар менен SSR бекитүү микросхемасы: Мен, мисалы, столдун роутерин жасоо үчүн, жумушчу столумдун астына кээ бир электр шаймандарын кошууну пландап жатам. Куралдар астынан кандайдыр бир алынуучу табакка орнотулат, ошондуктан алар алмаштырылышы мүмкүн. Эгерде сизди көрүү кызыктырса
AVR микроконтроллери. Баскыч баскычын колдонуп LEDди өчүрүү. Баскыч баскычын чыгаруу: 4 кадам
AVR микроконтроллери. Баскыч баскычын колдонуп LEDди өчүрүү. Push Button Debouncing .: Бул бөлүмдө биз ATMega328PU үчүн үч LEDдин статусун баскычты которгучтун киргизүүсүнө ылайык алмаштыруу үчүн C программасын кантип жасоону үйрөнөбүз. Ошондой эле, биз "Switch Bounce" көйгөйүнүн чечилишин изилдедик. Адаттагыдай эле, биз
Аудио визуалдаштыруу, тийүү баскычтары жана NFC менен Bluetooth үстөл спикери: 24 кадам (сүрөттөр менен)
Аудио визуалдаштыруу, тийүү баскычтары жана NFC менен Bluetooth столунун Bluetooth спикери. Саламатсызбы! Бул көрсөтмөлөрдө мен сенсордук баскычтар жана NFC менен укмуштуудай Аудио визуалдаштыруусу бар бул Desk Bluetooth спикерин кантип жасаганымды көрсөтөм. Бир чыкылдатуу менен NFC иштетилген түзмөктөр менен оңой жупташууга болот. Физикалык баскыч жок
Баскыч интерфейси 8051 жана 7 сегменттеги баскыч сандарын көрсөтүү: 4 кадам (сүрөттөр менен)
Баскыч интерфейси 8051 жана 7 сегментте баскычтоп сандарын көрсөтүү: Бул үйрөткүчтө мен клавиатураны 8051 менен кантип интерфейстештирүү жана 7 сегменттеги дисплейде баскычтардын санын көрсөтүү жөнүндө айтып берейин