2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я нашел крошечный динамик, разбирая старый ПК. для переработки и подумал, что посмотрю, как это звучит, используя функцию Arduino Tone (). Я начал с одного потенциометра 10 Ом для управления высотой тона и начал издавать некоторый шум. Функция Tone () использует простую последовательность импульсов. Он включает и выключает звук на разных частотах в виде прямоугольной волны. У меня были два других потенциометра, поэтому я добавил их и использовал их для управления длительностью тона. Один для управления длиной тона, а другой для управления тихим промежутком между тонами. По сути, он использует другую прямоугольную волновую диаграмму, но с гораздо более низкой частотой. С помощью этой схемы вы можете добиться хорошего разнообразия шумов. Он также хорошо работает с пьезо-зуммером, но ему не хватает низких частот динамика.
Шаг 1. Детали, которые вам понадобятся
Ардуино Уно
Макетная плата и перемычки
1 маленький динамик или пьезозуммер
1 кнопочный переключатель
3 потенциометра 10 Ом
1 резистор 22 Ом
1 резистор 10 кОм
Шаг 2: Постройте схему
Подключите макетную плату к контакту 5V Arduino и GND. Поместите кнопочный переключатель в крайнем правом или левом углу макетной платы и подключите его к 5 В и заземлению с помощью резистора 10 кОм. Подключите провод от схемы переключателя к контакту 2 на вашем Arduino.
На другой стороне макета установите динамик / пьезоэлектрическую цепь на 5 В и заземлите с помощью резистора 220 Ом. Этот резистор регулирует ток, таким образом регулируя громкость; вы можете попробовать разные резисторы для большей или меньшей громкости.
Разместите потенциометры в центре макета, чтобы было достаточно места, чтобы можно было возиться с ручками. Каждый горшок должен быть подключен к 5 В и заземлению, а центральные контакты на каждом должны быть подключены к аналоговым контактам A0, A1 и A2.
Шаг 3: Код
Потенциометр или потенциометр - это переменный резистор, который при подключении к Arduino будет возвращать значение от 0 до 1023. Мы будем использовать функцию map (), чтобы изменить эти значения в соответствии с нашими потребностями. Функция map () принимает пять аргументов, и в нашем случае нам нужно повторно сопоставить диапазон между 220 и 2200, чтобы произвести разумный слышимый звук.
Функция выглядит примерно так:
карта (горшок, 0, 1023, 220, 2200);
Вы можете поиграть с двумя последними значениями для более высоких и более низких частот, но будьте осторожны, чтобы не расстроить вашу собаку.
Noise_Machine.ino
/ * Шумовая машина с использованием трех потенциометров, подключенных к аналоговым входам |
и пьезо или маленький динамик. Кнопка включает шум, потенциометры |
управлять высотой тона с помощью функции Arduino tone () и двух задержек |
значения, которые контролируют длину каждого тона и длину между |
каждый тон. Потенциометры выдают аналоговые значения, которые изменяются. |
используя функцию map () в больших или меньших диапазонах в соответствии с вашим |
музыкальный вкус. |
Этот код находится в открытом доступе. |
Мэтт Томас 04.05.2019 |
*/ |
constint buttonPin = 2; // Контакт кнопки 2 |
постоянный динамик = 9; // Динамик или пьезо в выводе 9 |
int buttonState = 0; // Переменные для кнопки |
int potZero; // и потенциометры |
int potOne; |
int potTwo; |
voidsetup () { |
pinMode (9, ВЫХОД); // Выходной контакт динамика / пьезо |
} |
voidloop () { |
buttonState = digitalRead (buttonPin); // Считываем состояние кнопки |
potZero = analogRead (A0); // Переменные для чтения аналоговых значений |
potOne = analogRead (A1); |
potTwo = analogRead (A2); |
int htz = map (potZero, 0, 1023, 0, 8800); // Сопоставляем аналоговые показания с |
int high = map (potOne, 0, 1023, 0, 100); // новые диапазоны номеров и создание |
int low = map (potTwo, 0, 1023, 0, 100); // новые переменные |
if (buttonState == HIGH) {// Если кнопка нажата… |
тон (динамик, Гц); // Звучать на |
задержка (высокая); // Длина тона |
noTone (динамик); // Нет звука |
задержка (низкая); // Время до следующего тона |
} еще { |
noTone (динамик); // Нет звука, если кнопка отпущена |
} |
} |
просмотреть rawNoise_Machine.ino, размещенный с ❤ на GitHub
Шаг 4: Конец
Вот и все. Поиграйте со значениями в коде, добавьте больше горшков / кнопок и посмотрите, что еще вы можете контролировать. Сообщите мне, если я совершил какие-либо ошибки, и я надеюсь, что вам понравится музыка.