- Платы Ардуино
- Обучение Ардуино
- Мой блог
- Уроки
- Урок № 1 "Пишем свой первый скетч"
- Урок № 2 "Подключение фоторезистора"
- Урок № 3 "Подключение пищалки(BUZZER)
- Урок № 7 "Модуль часов RTC DS3231"
- Урок № 8 - "Шаговый двигатель 28BYJ-48"
- Урок № 10 - "ИК пульт на Ардуино"
- Урок № 11- "Сканер отпечатка пальца"
- Урок № 12- "Датчик наклона SW-200D"
- Урок № 13- "Гирлянда светодиодная WS2812b"
- Книги
- Мой YOUTUBE
Изменение звука от освещённости Ардуино используя tone
Изменение звука от освещённости Ардуино используя tone()
Генерация тембра на пьезоизлучателе(пищалке) в зависимости от значения аналогового входа.
Этот пример демонстрирует использование команды tone() для генерации тембра звука, который в свою очередь зависит от значений аналогового входа. С использованием фоторезистора ваша плата Arduino может создавать звуки, меняя тембр в зависимости от уровня освещенности.
Нам понадобятся:
- Плата Arduino
- Пьезоизлучатель(пищалка), динамик 8 Ом
- Фоторезистор
- Резистор 4.7 кОм
- Резистор 100 Ом
- Провода
- Макетная плата
Подключение:
Подключите один вывод пищалки к цифровому пину 9 через резистор 100 Ом, а другой вывод к земле.
Подключите фоторезистор к питанию +5V и соедините его с аналоговым входом А0 с добавлением резистора 4.7 кОм к земле.
Схема:
Код:
/*
Проигрывает звук, который изменяется в зависимости от изменяющегося аналогового входа(от освещение)
схема:
- Звуковой излучатель 8 Ом на цифровом пине 9
- Фоторезистор на аналоговом входе А0
- Резистор 4.7 кОм на аналоговом входе А0
*/
void setup() {
// инициализация последовательного порта (только для отладки):
Serial.begin(9600);
}
void loop() {
// считывание значения сенсора:
int sensorReading = analogRead(A0);
// вывод на экран значения сенсора для определения его диапазона
Serial.println(sensorReading);
// отображение диапазона аналогового входа (в данном случае, 400 - 1000 от фоторезистора)
// на выходной диапазон высоты тона (120 - 1500Гц)
// измените минимальные и максимальные входные числа внизу в зависимости от диапазона
// Диапазон датчика :
int thisPitch = map(sensorReading, 400, 1000, 120, 1500);
// проигрывание тона:
tone(9, thisPitch, 10);
delay(1); // задержка между чтениями для стабильности
}
Код для этого примера очень прост.
Просто считывайте значение с фоторезистора и используйте его для управления тембром на пищалке.
Изменения тембра будут происходить в зависимости от уровня освещенности, измеряемого фоторезистором.
Более светлые условия могут создавать яркий и четкий звук, тогда как более темные условия придадут звуку более низкий и глухой тембр.
Вы можете экспериментировать с диапазонами и настройками для получения различных звуков при изменении яркости.
5 интересных примеров использования:
Музыкальный световой терменвокс: Используйте изменение тембра в зависимости от освещенности для создания своего собственного светового терменвокса, регулируя звук светом.
Интерактивный звуковой инструмент: Создайте интерактивный инструмент, который реагирует на изменения освещенности. Пользователи могут исследовать звук, прикрывая и открывая фоторезистор.
Звуковой индикатор световых условий: Превратите ваш проект в звуковой индикатор уровня освещенности вокруг. Легкость мелодии будет указывать на текущие световые условия.
Учебный проект для изучения тембра: Используйте этот проект в образовательных целях для исследования концепции тембра и его изменений.
Интерактивная инсталляция: Создайте интерактивную звуковую инсталляцию, реагирующую на окружающую среду. Тембр может меняться в зависимости от изменений в освещенности.
Дополнительные материалы по теме
Музыкальная клавиатура на Ардуино
Динамики ардуино. Подключение динамиков к Arduino
Аналоговый вход, аналоговый выход, вывод в последовательный монитор порта
"Подключение фоторезистора к плате Ардуино" Урок № 2
Фоторезистор 5506
Подключение пищалки (BUZZER) к плате Ардуино
Звуки Ардуино из разных динамиков.
Музыкальная шкатулка. Ардуино
VU METR Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.