

Мерзкое пианино
Presentation
•
Professional Development
•
11th Grade
•
Hard
Анастасия Ушакова
Used 5+ times
FREE Resource
9 Slides • 0 Questions
1
Мерзкое пианино
В этом эксперименте мы создаем маленькую клавиатуру, на которой можно сыграть несколько нот.
2
Кнопка
Тактовая кнопка — простой, всем известный механизм, замыкающий цепь пока есть давление на толкатель
3
Схема подключения
Напрашивается подключение напрямую. Но это наивный, неверный способ.
Пока кнопка нажата, выходное напряжение Vout = Vcc, но пока она отпущена, Vout ≠ 0. Кнопка и провода в этом случае работают как антенна, и Vout будет «шуметь», принимая случайные значения «из воздуха».
Пока соединения нет, необходимо дать резервный, слабый путь, делающий напряжение определённым. Для этого используют один из двух вариантов.
4
Список деталей для эксперимента
1 плата Arduino Uno
1 беспаечная макетная плата
1 пьезопищалка
3 тактовых кнопки
3 резистора номиналом 10 кОм
10 проводов «папа-папа»
Для дополнительного задания
еще 2 кнопки
еще 2 резистора номиналом 10 кОм
еще 2 провода
5
Схема на макетке
​
6
Обратите внимание
Ножки тактовой кнопки, расположенные с одной стороны, разомкнуты, когда кнопка не нажата. Ножки, расположенные друг напротив друга на противоположных сторонах макетки находятся на одной «рельсе». Воспользовавшись этим, мы можем расположить резистор с одной стороны макетки, а провод, подключаемый к порту Arduino, с другой стороны.
Для того, чтобы данный вариант программы работал, важно, чтобы кнопки были подключены к портам, находящимся рядом друг с другом, т.е. имеющим соседние номера.
7
Скетч
#define BUZZER_PIN 13 // пин с пищалкой (англ. «buzzer») #define FIRST_KEY_PIN 7 // первый пин с клавишей (англ. «key») #define KEY_COUNT 3 // общее количество клавиш void setup() { pinMode(BUZZER_PIN, OUTPUT); }
8
void loop() {
// в цикле бежим по всем номерам кнопок от 0-го по 2-й
for (int i = 0; i < KEY_COUNT; ++i)
{ // на основе номера кнопки вычисляем номер её пина
int keyPin = i + FIRST_KEY_PIN;
// считываем значение с кнопки. Возможны всего 2 варианта: // * высокий сигнал, 5 вольт, истина — кнопка отпущена // * низкий сигнал, земля, ложь — кнопка зажата
boolean keyUp = digitalRead(keyPin);
9
// проверяем условие «если не кнопка отпущена». Знак «!» // перед булевой переменной означает отрицание, т.е. «не».
if (!keyUp) {
// рассчитываем высоту ноты в герцах в зависимости от // клавиши, которую рассматриваем на данном этапе цикла. // Мы получим значение 3500, 4000 или 4500
int frequency = 3500 + i * 500;
// Заставляем пищалку пищать с нужной частотой в течение // 20 миллисекунд. Если клавиша останется зажатой, пищалка // вновь зазвучит при следующем проходе loop, а мы услышим // непрерывный звук tone(BUZZER_PIN, frequency, 20);
}
}
}
Мерзкое пианино
В этом эксперименте мы создаем маленькую клавиатуру, на которой можно сыграть несколько нот.
Show answer
Auto Play
Slide 1 / 9
SLIDE
Similar Resources on Wayground
7 questions
Перспективний план роботи з обдарованими учнями
Lesson
•
11th Grade
9 questions
Procedure Text.....
Lesson
•
11th Grade
11 questions
Momentum & Impulse Attendance Lesson
Lesson
•
11th Grade
4 questions
информатика
Lesson
•
KG
10 questions
Cisco
Lesson
•
KG
5 questions
2-урок
Lesson
•
11th Grade
6 questions
Экологические проблемы металлургии
Lesson
•
11th Grade
6 questions
29/03 Консультація-2024 з української мови
Lesson
•
11th Grade
Popular Resources on Wayground
8 questions
Spartan Way - Classroom Responsible
Quiz
•
9th - 12th Grade
15 questions
Fractions on a Number Line
Quiz
•
3rd Grade
14 questions
Boundaries & Healthy Relationships
Lesson
•
6th - 8th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
3 questions
Integrity and Your Health
Lesson
•
6th - 8th Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
9 questions
FOREST Perception
Lesson
•
KG
20 questions
Main Idea and Details
Quiz
•
5th Grade
Discover more resources for Professional Development
8 questions
Spartan Way - Classroom Responsible
Quiz
•
9th - 12th Grade
22 questions
El Imperfecto
Quiz
•
9th - 12th Grade
15 questions
ACT Reading Practice
Quiz
•
11th Grade
20 questions
Grammar
Quiz
•
9th - 12th Grade
18 questions
Mendelian Genetics
Quiz
•
10th - 12th Grade
20 questions
verbos reflexivos en español
Quiz
•
9th - 12th Grade
14 questions
Making Inferences From Samples
Quiz
•
7th - 12th Grade
25 questions
Early Cold War Quizziz
Quiz
•
11th Grade