RaspPi Клавіатура (RPBP)
Демонстрація/Пояснення
Творці/Ролі
- Andrew Darling
- Написав структуру та логіку об’єктно-орієнтованого програмування для коду.
- Riley Royall
- Зібрав схему для RPBP.
- Mehmet Yilmaz
- Написав елемент GUI та генератор нотних листів для коду.
Про
Проєкт Raspberry Pi Buzzer Piano (RPBP) був підсумковим проєктом для Python Sensor Systems (CSCI-250), бакалаврського курсу, що пропонує Colorado School of Mines, у осінньому семестрі 2019 року. Проєкт був груповим і включав Ендрю Дарлінга, Райлі Ройалла та Мехмета Йılmaz. Він був офіційно завершений наприкінці листопада 2019 року, на початку грудня 2019 року.
Наш проєкт — це Raspberry Pi Buzzer Piano (RPBP). Ідея RPBP — це музична клавіатура, що має набір з 13 клавіш, які є лише кнопками, що можуть функціонувати як клавіші піаніно. Коли клавішу натискають, один або кілька дзвінків видають звук на різних частотах залежно від натиснутої кнопки. Також буде два потенціометри: один використовується для перемикання між 3 режимами RPBP, а другий — для зміни октав(и) дзвінків. Три режими RPBP: Free-Play, Record та Play-Back. Free-Play дозволяє користувачеві грати на RPBP і просто чути, яку клавішу він натиснув. Record дозволяє користувачеві одночасно грати у режимі Free-Play, записувати це у файл npy та створювати нотний лист у форматі PDF для цього запису. Play-Back дозволяє користувачеві ввести назву записаного файлу, і схема відтворить його через дзвінки. Усі нотні листи зберігаються в одному каталозі, щоб користувач завжди міг переглянути їх за потреби. Кожна кнопка/клавіша має світлодіод, який показує, коли вона була натиснута. Цей проєкт доведено працює лише на Rasbian (Raspberry Pi OS) за умови правильного налаштування вимог, наведених нижче.
Вимоги
- LilyPond
- Python3
- Raspberry Pi B 3+
- Raspberry Pi OS (ISO)
- Налаштування LilyPond для ARM (Raspberry Pi)
- NumPy
- Bash
- Плата схеми
Інформація
- Режими:
- Free-play: Дозволяє користувачеві просто грати на RPBP.
- Record: Дозволяє користувачеві записувати те, що він грає, зберігати запис і створювати нотний лист для запису.
- Play-Back: Дозволяє користувачеві відтворювати будь‑який запис, який він завантажив або створив.
- Mute: вимикає всі дзвінки на RPBP.
- Як перемикати між режимами:
- Змініть налаштування/значення у GUI та натисніть кнопку Submit.
- Інші примітки:
- Щоб дізнатися більше про RPBP у GUI, натисніть кнопку README, і цей README відкриється.
Схема
- Ви можете переглянути зображення плати схеми, використаної в цьому проєкті, у розділі Зображення схеми.
- Pi Wedge підключений до Raspberry Pi 3 B+ за допомогою стрічкового кабелю.
- Raspberry Pi запускає код, наданий у цьому репозиторії, з драйверами, зазначеними в цьому README.
- Перепрошуємо за те, що розташування схеми таке безладне, на жаль, ми не задокументували цю частину досить добре.
Як користуватись:
- По‑перше, переконайтеся, що всі вимоги виконані, потім запустіть скрипт start.sh bash, і з’явиться GUI.
- По‑друге, виберіть потрібний режим у розділі «Modes».
- [ ці кроки призначені для тих, хто вибирає режим «Free-Play» ]
- Third_10: Натисніть кнопку Submit і починайте грати на RPBP
- [ ці кроки призначені для тих, хто вибирає режим «Record» ]
- Third_20, Введіть назву, яку хочете надати вашому записаному файлу, у полі «Record Name».
- Third_21, Натисніть кнопку Submit, і червоний світлодіод загориться.
- Third_22, Грайте на RPBP, а коли закінчите, натисніть кнопку Stop у GUI.
- Third_23, Після натискання кнопки Stop ваш запис буде збережений, а нотний лист згенеровано і відкрито у вигляді PDF для перегляду; файл буде збережено у каталозі SHEETS.
- [ ці кроки призначені для тих, хто вибирає режим «Play-Back» ]
- Third_30, Виберіть файл пісні, який хочете відтворити, у полі «Send It».
- Third_31, Натисніть кнопку Submit і починайте прослуховувати вибраний файл пісні.
- [ ці кроки призначені для тих, хто вибирає режим «Mute» ]
- Third_40, Просто натисніть кнопку Submit, і всі дзвінки будуть вимкнені, доки ви не переключитеся на інший режим.
- Четверте, після завершення роботи з RPBP, натисніть кнопку Exit, щоб закрити GUI та всю програму.
Зображення схеми


