Оглавление:
Видео: Фортепиано Arduino: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Это «Фортепиано» может играть октаву настоящего пианино. Нажатие кнопок соответствует нажатию клавиши на пианино. Звук будет передаваться через пьезо-динамик.
Шаг 1: материалы
1. Arduino Uno
2. USB-провод
3. 3 макета
4. 8 кнопок
5. 8 резисторов 100 Ом
6. "Пьезо" динамик
7. Множество мужских проводов (около 20)
8. Паяльник.
Шаг 2: Создайте установку
Создайте 8 кнопок, каждая из которых входит в 8 разных контактов в Arduino, добавляя резистор к каждой и соединяя их с землей (используя мужские провода).
Подключите динамик к обозначенному контакту Arduino, а другую сторону - к земле. Придется припаять провода к динамику, чтобы он не выпал. Убедитесь, что два припаянных к динамику провода не касаются друг друга.
Шаг 3: Создание кода
#define NOTE_B0 31 # define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_GS1 52 #define NOTE_A NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_define_A2 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_define_A3 220 #define NOTE_A3 220 NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_define # 46_A4 #d efine NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 8806 # 9_325 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 #define NOTE_A6 #define NOTE_AS6 2065_define #define NOTE_AS6 2065_define #define NOTE_AS6 2065_define #define NOTE_AS6 2065_define #define NOTE_AS6 2065_define #define NOTE_AS6 # 1976 #define define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_Dine # 3918_define # 3918_define NOTE_Dine 4699 #define NOTE_DS8 4978
Эти "# определения" должны сказать говорящему, какая частота делает заметку
const int C = 2; const int D = 3; const int E = 4; const int F = 5; const int G = 6; const int A = 7; const int B = 8; const int C2 = 9; const int piezoPin = 10; int cState = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aState = 0; int bState = 0; int c2State = 0;
Назначьте контакты Arduino кнопкам. "cState, dState, eState и т. д.;" - это переменные, которые сохраняют, нажата ли кнопка. 0 означает, что он не нажат, 1 означает, что он нажат.
void setup () {// поместите сюда ваш установочный код, чтобы запустить его один раз: pinMode (10, OUTPUT); Serial.begin (9600); }
void loop () {// поместите сюда ваш основной код для повторного запуска: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2State = digitalRead (C2);
Состояние кнопки (нажата она или нет) сохраняется в "cState, dState, eState, и т. Д."
0 означает, что он не нажат, 1 означает, что он нажат.
если (cState == 1) {тон (пьезопин, 131); } еще {noTone (пьезопин);} если (dState == 1) {тон (пьезопин, 147); } else {noTone (piezoPin);} если (eState == 1) {тон (пьезопин, 165); } еще {noTone (пьезопин);} если (fState == 1) {тон (пьезопин, 175); } еще {noTone (пьезопин);} если (gState == 1) {тон (пьезопин, 196); } else {noTone (piezoPin);} если (aState == 1) {тон (пьезопин, 220); } еще {noTone (пьезопин);} если (bState == 1) {тон (пьезопин, 247); } else {noTone (пьезопин);} если (c2State == 1) {тон (пьезопин, 262); } else {noTone (piezoPin);}}
Если кнопка нажата, сервопривод должен воспроизвести определенную частоту (ноту). Функция
{noTone (piezoPin);} сообщает им, что если кнопка не нажата, ничего не воспроизводится. Поэтому всякий раз, когда кнопка нажата, она будет играть назначенную ноту.
Рекомендуемые:
Звуки фортепиано с использованием Arduino на TinkerCad: 4 шага
Звуки фортепиано с использованием Arduino на TinkerCad: в этом руководстве вы узнаете, как использовать зуммер (или пьезодинамик) с Arduino. Зуммеры можно найти в устройствах сигнализации, компьютерах, таймерах и для подтверждения ввода пользователя, такого как щелчок мышью или нажатие клавиши. Вы также узнаете, как использовать тон () и
Клавиатура фортепиано: 3 шага
Пианино с клавиатурой: в этом уроке будет показано, как создать базовое фортепиано с 8 нотами, используя клавиатуру 4x4 и пассивный зуммер. В этом проекте клавиши с 1 по 8 будут воспроизводить ноты на пианино, а кнопки A-D будут воспроизводить предустановленные мелодии
Фортепиано Arduino с кнопочными переключателями: 3 шага
Пианино Arduino с кнопочными переключателями: Создано: Haotian Ye Обзор: Это пианино с восемью кнопочными переключателями, которое позволяет вам играть в одну октаву (Do Re Mi Fa So La Si Do), и с этой одной октавой вы можете попробовать играть некоторые песни тебе нравятся. Для этого проекта есть чертенок
Arduino - пьезо-трехкнопочное фортепиано: 4 шага
Arduino - пьезо-трехкнопочное пианино: трехкнопочное пианино - это проект для новичков, имеющих некоторый опыт использования Arduino. Я был непреднамеренно захвачен попыткой создать это, когда впервые играл с пьезозуммером. Это было ТАК громко! Пытаясь выяснить
Простое электронное фортепиано: 3 шага (с изображениями)
Простое электронное пианино: электроника может очень легко создавать звуки, используя всего несколько частей. Вот как сделать простое пианино, используя таймер 555. Я спроектировал и протестировал эту схему с помощью Tinkercad, а затем собрал настоящую вещь. Вот все, что вам понадобится: 1 x