Изменение звука от освещённости Ардуино используя 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 Музыка в цвете
Мелодии для Ардуино на пищалке. Пример и код.