Оглавление:
- Шаг 1. Что нам нужно для этого проекта (требования)
- Шаг 2: Теория преобразования АЦП в ШИМ
- Шаг 3: Схема
- Шаг 4: Заключительный тест
Видео: Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Привет ребята, Это вторая часть моего другого инструктажа (что было очень сложно). По сути, в этом проекте я использовал АЦП и ТАЙМЕРЫ на моем Arduino для преобразования аудиосигнала в сигнал ШИМ.
Это намного проще, чем моя предыдущая инструкция. Вот ссылка на мою первую инструкцию, если вы хотите ее увидеть. ссылка
Чтобы понять теорию аудиосигнала, битрейта, битовой глубины, частоты дискретизации, вы можете прочитать теорию в моем последнем руководстве по Instructable. Ссылка выше.
Шаг 1. Что нам нужно для этого проекта (требования)
1. Плата Arduino (мы можем использовать любую плату (328, 2560), то есть Mega, Uno, Mini и т. Д., Но с определенными разными контактами)
2. ПК с Arduino Studio.
3. Макетная или монтажная плата.
4. Подключение проводов
5. TC4420 (драйвер Mosfet или что-то в этом роде)
6. Силовой МОП-транзистор (канал N или P, подключите его соответственно) (я использовал канал N)
7. Динамик или обратноходовой трансформатор (да, вы правильно прочитали !!)
8. Подходящий источник питания (0-12 В) (я использовал свой собственный блок питания ATX)
9. Радиатор (утилизировал со своего старого ПК).
10. Усилитель (обычный музыкальный усилитель) или схема усилителя.
Шаг 2: Теория преобразования АЦП в ШИМ
Итак, в этом проекте я использовал встроенный АЦП Arduino для выборки данных аудиосигнала.
АЦП (аналого-цифровой преобразователь), как следует из названия, АЦП преобразует аналоговый сигнал в цифровые отсчеты. И для Arduino с максимальной 10-битной глубиной. Но для этого проекта мы будем использовать 8-битную выборку.
При использовании АЦП Arduino мы должны помнить о напряжении ADC_reference.
Arduino Uno предлагает 1,1 В, 5 В (внутренняя ссылка, которая может быть установлена в коде) или внешняя ссылка (которую мы должны применять извне к выводу AREF).
По моему опыту, для получения хорошего результата от АЦП в качестве опорного напряжения следует использовать минимум 2,0 В. Поскольку 1.1V не подошел, по крайней мере, для меня. (Личный опыт)
* ВАЖНО * * ВАЖНО ** ВАЖНО ** ВАЖНО ** ВАЖНО *
Нам нужно использовать усиленный аудиосигнал от усилителя или схемы усилителя с пиковым напряжением (макс. Напряжение) 5 В
Потому что я установил внутреннее опорное напряжение 5 В для нашего проекта. И я использую усиленный сигнал с помощью обычного усилителя (музыкального усилителя), который в основном доступен в нашем доме, или вы можете построить его для себя.
Итак, теперь основная часть. Частота дискретизации, то есть сколько выборок принимает наш АЦП в секунду, чем выше скорость преобразования, тем лучше будет выходной результат, более похожая будет выходная волна по сравнению с входной.
Итак, в этом проекте мы будем использовать частоту дискретизации 33,33 кГц, установив тактовую частоту АЦП на 500 кГц. Чтобы понять, как это так, мы должны увидеть страницу синхронизации АЦП в таблице данных микросхемы Atmega (328p).
Мы видим, что нам нужно 13,5 тактов АЦП, чтобы выполнить одну выборку с автоматической выборкой. При частоте 500 кГц это означает, что 1/500 кГц = 2 мкс для одного цикла АЦП, что означает, что для завершения выборки при использовании автоматической выборки требуется 13,5 * 2 мкс = 27 мкс. Отдавая микроконтроллеру на 3 мкс больше (на всякий случай), создавая в общей сложности 30 мкс для одного образца.
Таким образом, 1 образец при 30 мкс означает 1/30 мкс = 33,33 тыс. Отсчетов / с.
Чтобы установить частоту дискретизации, которая зависит от TIMER0 Arduino, поскольку триггер автоматической выборки АЦП зависит от этого в нашем случае, как вы также можете видеть в коде и таблице данных, мы установили значение OCR0A = 60 (почему так ???)
Потому что по формуле, приведенной в даташите.
частота (или здесь Sample Rate) = Тактовая частота Arduino / Prescaler * Значение OCR0A (в нашем случае)
Частота или частота дискретизации, которую мы хотим = 33,33 кГц
Тактовая частота = 16 МГц
Значение предделителя = 8 (в нашем случае)
Значение OCR0A = мы хотим найти ??
что просто дает OCR0A = 60, также в нашем коде Arduino.
TIMER1 используется для несущей звукового сигнала, и я не буду вдаваться в подробности этого.
Итак, это была краткая теория концепции АЦП для ШИМ с Arduino.
Шаг 3: Схема
Подключите все компоненты, как показано на схеме. Итак, у вас есть два варианта: -
1. Подключите динамик (подключенный к 5 В)
2. Подключите обратноходовой трансформатор (подключен к напряжению 12 В).
Я пробовал оба. И оба работают очень хорошо.
* ВАЖНО * * ВАЖНО ** ВАЖНО ** ВАЖНО ** ВАЖНО * Нам необходимо использовать усиленный аудиосигнал от усилителя или схемы усилителя с пиковым напряжением (макс. Напряжение) 5 В
Отказ от ответственности: -
* Я рекомендую использовать обратноходовой трансформатор с осторожностью, так как это может быть опасно, поскольку производит высокое напряжение. И я не буду нести ответственности за любой ущерб. *
Шаг 4: Заключительный тест
Так что загрузите данный код в свой Arduino и подключите усиленный сигнал к контакту A0.
И не забудьте подключить все контакты заземления к общей земле.
И просто наслаждайтесь музыкой.
Рекомендуемые:
ШИМ с ESP32 - Диммирование светодиода с ШИМ на ESP 32 с Arduino IDE: 6 шагов
ШИМ с ESP32 | Диммирование светодиода с помощью ШИМ на ESP 32 с помощью Arduino IDE: в этой инструкции мы увидим, как сгенерировать сигналы ШИМ с ESP32 с помощью Arduino IDE & ШИМ в основном используется для генерации аналогового выхода из любого микроконтроллера, и этот аналоговый выход может быть любым в диапазоне от 0 В до 3,3 В (в случае esp32) & из
Говорящий Ардуино - Воспроизведение MP3 с помощью Arduino без какого-либо модуля - Воспроизведение файла Mp3 из Arduino с использованием PCM: 6 шагов
Говорящий Ардуино | Воспроизведение MP3 с помощью Arduino без какого-либо модуля | Воспроизведение файла Mp3 из Arduino с использованием PCM: в этой инструкции мы узнаем, как воспроизводить файл MP3 с помощью Arduino без использования какого-либо аудиомодуля, здесь мы будем использовать библиотеку PCM для Arduino, которая воспроизводит 16-битный PCM с частотой 8 кГц, поэтому давайте сделаем это
Воспроизведение песен (MP3) с помощью Arduino с использованием ШИМ на динамике или обратном преобразователе: 6 шагов (с изображениями)
Воспроизведение песен (MP3) с помощью Arduino с использованием ШИМ на динамике или обратном преобразователе: Здравствуйте, ребята, это моя первая инструкция, я надеюсь, вам понравится !! По сути, в этом проекте я использовал последовательную связь между моим Arduino и моим ноутбуком, для передачи музыкальных данных с моего ноутбука на Arduino. И используя ТАЙМЕРЫ Arduino t
Воспроизведение песен с помощью шагового двигателя !!: 11 шагов (с изображениями)
Воспроизведение песен с помощью шагового двигателя !!: этот проект посвящен разработке простого динамического интерфейса, который позволит взаимодействовать с шаговым двигателем двумя различными способами. Первый интерфейс будет управлять направлением и скоростью шагового двигателя с помощью простой графический интерфейс, который
Воспроизведение видео в обратном направлении с помощью Quicktime Player: 5 шагов
Воспроизведение видео в обратном направлении с помощью Quicktime Player: это самый замечательный трюк века. Это руководство показывает вам простой способ воспроизводить видео в обратном направлении, не загружая изворотливые программы (если у вас нет Quicktime, вам это понадобится). Изображение не имеет ничего общего с делаю с проектом, но мне нужно