Воспроизведение нот на pic

Проекты : Игрушки

Звонок-проигрыватель рингтонов

Звонок собирается на микроконтроллере PIC 12 F 675 и проигрывает заранее определенные (прошитые) мелодии. Цель статьи – научить подготавливать текст мелодии для последующей компиляции прошивки. Предполагается, что читатель имеет навыки работы в среде программирования MPLAB для PIC микроконтроллеров.

В схеме светодиод «активность» включается в момент проигрывания мелодии; для упрощения конструкции светодиод и резистор в его цепи можно не использовать. В момент воспроизведения ток потребления не более 40 мА. Схема работает до напряжения 1,6В. Кнопкой «выбор» перебираем и прослушиваем мелодии. Кнопками «пуск» и «стоп» запускаем и останавливаем последнюю выбранную мелодию.

Звонок проигрывает монофонические мелодии. Количество мелодий зависит от суммарного числа нот в мелодиях. Например, в приложенном исходнике (прошивке) получилось примерно 240 нот на 6 мелодий в памяти программы и 120 нот на 1 мелодию в ПЗУ ( EEPROM ). Таким образом, имеется следующий репертуар из 7 мелодий:

– Огней как много золотых;

– На сопках Маньчжурии;

– Бородин – Князь Игорь;

– Крылатые качели (в EEPROM ).

Вы можете сделать свой набор мелодий. Источником мелодий являются midi файлы. Скачаем для примера полонез Огинского – «Прощание с Родиной» здесь http://www.rusm >

Задача – отредактировать полифоническую (многоголосую) мелодию в монофоническую (одноголосую) без аккордов, т.к. наш звонок в один момент времени может играть только одну ноту в пределах трёх октав. Не пугайтесь, это не сложно, ломать – не строить. Для этого скачиваем и устанавливаем редактор midi файлов – «Able MIDI Editor». Запускаем Able MIDI Editor и открываем в этом редакторе файл «Полонез.mid».

В верхней части программы наблюдаем интуитивно понятные кнопки воспроизведения и редактирования, в правой части программы – кнопки управления треками инструментов, в нижней части – вся дорожка с проигрываемыми нотами, по центру – фрагмент дорожки.

Итак, отключаем ненужное, оставляем один инструмент – в данном midi файле это 2й трек. Нажмите кнопки как на рисунке ниже.

После этого на дорожке остаются ноты с основной мелодией. Нам нужен небольшой фрагмент; выделяем мышью ноты с 0 по 21 секунду. Копируем выделенное (правой кнопкой мыши Copy ). Создаем новый лист мелодии через меню File – New . Вставляем наш фрагмент Edit – Paste . Смотрим точнее длину мелодии – 20,6 сек. Изменяем настройку длины мелодии Operations – Set Piece Length на 20,6 сек.

Читайте также:  Работа с дисплеем от nokia 3310

Снова выделяем весь трек и перетягиваем мышью на одну октаву вниз, чтобы звуки были в пределах первой, второй и третьей октав, подробнее смотри http://ru.wikipedia.org/wiki/Равномерно_темперированный_строй

Положение и длина полоски означает момент начала и конца проигрывания соответствующей ноты. Пробелы между полосками – паузы. Несколько полосок в один и тот же момент времени (полоски друг над другом) это условно аккорд.

Сохраняем полученный результат File – Save as … ; в диалоговом окне сохранения выбираем тип файла «*. mid » указываем новое имя, например «Полонез-21. mid ». Ликбез редактирования midi файлов закончен.

Далее преобразуем монофонический файл мелодии в последовательность символов, кодирующих ноту и её длительность. Для этого используем программу Ringtone Editor v2.2. Из программы Ringtone Editor открываем полученный файл «Полонез-21. mid ». Должны наблюдать следующее окно.

Получаем последовательность символов, в которой указаны ноты (и длительности в скобках). Кому интересны подробности – читаем справку к Ringtone Editor в файле Editor.HLP.

E2(1/2) Dis2(1/16.) E2(1/16.) F2(1/8.) E2(1/8.) C2(1/16.) P(1/16) P(1/32) C2(1/16.) B1(1/16.) A1(1/2) C2(1/8.) E2(1/8.) E2(1/8.) A2(1/2) E2(1/8.) G2(1/4) Fis2(1/16.) F2(1/2) D2(1/8.) B2(1/4) A2(1/16.) Gis2(1/4) F2(1/16.) E2(1/4) D2(1/16.) E2(1/16.) P(1/16) P(1/32) E2(1/16.) D2(1/16.) C2(1/2) A1(1/8.) B1(1/16.) C2(1/16.) B1(1/16.) A1(1/16.) B1(1/16.) D2(1/16.) F2(1/16.) E2(1/16.) D2(1/16.) C2(1/16.) B1(1/16.) C2(1/16.) A1(1/16.) C2(1/16.) E2(1/16.) A2(1/16.) C3(1/2) A2(1/8.) B2(1/16.) C3(1/16.) B2(1/16.) A2(1/16.) B2(1/16.) D3(1/16.) F3(1/16.) E3(1/16.) D3(1/16.) C3(1/16.) B2(1/16.) A2(1/16.) Gis2(1/16.) A2(1/16.) B2(1/16.) Gis2(1/16.) B2(1/4.) A2(1/4)

Эту последовательность копируем в текстовый редактор и путём нехитрых автозамен и руками приводим к виду массива.

В самом конце добавляем паузу нулевой длительности– признак конца мелодии.

Проект с программой для микроконтроллера состоит из нескольких файлов. Управление воспроизведением мелодий находится в файле main.c в функции select(x). Массивы мелодий находятся в файле ringtones.c.

Добавляем массив с мелодией в ringtones.c ; оформление массива можно сделать по образцу имеющихся мелодий

Читайте также:  Включение трехфазного электродвигателя в однофазную сеть

const unsigned char ringtone 7 [][2] =

void select (unsigned char x)

case 1: play (ringtone1); break;

case 2: play (ringtone2); break;

case 3: play (ringtone3); break;

case 4: play (ringtone4); break;

case 5: play (ringtone7); break;

case 6: play_eeprom(); break;

и корректируем строчку по числу мелодий

num_melodi++; if (num_melodi>6) num_melodi=1;

Компилируем (HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode) V9.71a). Будем считать, что у вас успешно откомпилировалось. Предварительно прошивку можно послушать в Протеусе с выводом реального звука из ПК на колонки (наушники). Модель звонка-проигрывателя прилагается.

Пример реализации на печатной плате

Пищит вполне громко, но лучше использовать электромагнитные динамики от игрушек.

Файлы (прошивки с разными наборами мелодий):

Воспроизведение нот на pic

Источники питания электронной аппаратуры, импульсные и линейные регуляторы. Топологии AC-DC, DC-DC преобразователей (Forward, Flyback, Buck, Boost, Push-Pull, SEPIC, Cuk, Full-Bridge, Half-Bridge). Драйвера ключевых элементов, динамика, алгоритмы управления, защита. Синхронное выпрямление, коррекция коэффициента мощности (PFC)

  • Вчера в 18:29
  • Тема:Вопрос по драйверам ключей блоков питания ATX.
  • От:-=TRO=-
  • Обратная Связь, Стабилизация, Регулирование, Компенсация

    Организация обратных связей в цепях регулирования, выбор топологии, обеспечение стабильности, схемотехника, расчёт

    • 16 мая
    • Тема:Источник тока Управляемый напряжением
    • От:Шнекоход
  • Первичные и Вторичные Химические Источники Питания

    Li-ion, Li-pol, литиевые, Ni-MH, Ni-Cd, свинцово-кислотные аккумуляторы. Солевые, щелочные (алкалиновые), литиевые первичные элементы. Применение, зарядные устройства, методы и алгоритмы заряда, условия эксплуатации. Системы бесперебойного и резервного питания

    • 12 мая
    • Тема:Контроллер Li-Ion батареи BQ30Z55 не работает
    • От:rfengin
  • Высоковольтные Устройства – High-Voltage

    Высоковольтные выпрямители, умножители напряжения, делители напряжения, высоковольтная развязка, изоляция, электрическая прочность. Высоковольтная наносекундная импульсная техника

    • В воскресенье в 11:22
    • Тема:Какую топологию ВВ источника выбрать для двунапр…
    • От:iiv
  • Электрические машины, Электропривод и Управление

    Электропривод постоянного тока, асинхронный электропривод, шаговый электропривод, сервопривод. Синхронные, асинхронные, вентильные электродвигатели, генераторы

    • 28 мая
    • Тема:Помогите подобрать качественный драйвер ШД
    • От:dinam
  • Индукционный Нагрев – Induction Heating

    Технологии, теория и практика индукционного нагрева

    • 16 мая
    • Тема:Индукционный нагреватель на 100 кВт своими рукам…
    • От:dericc
  • Системы Охлаждения, Тепловой Расчет – Cooling Systems

    Охлаждение компонентов, систем, корпусов, расчёт параметров охладителей

    • 20 мая
    • Тема:Изолирующая прокладка между силовым компонентом …
    • От:vladec
  • Моделирование и Анализ Силовых Устройств – Power Supply Simulation

    Моделирование силовых устройств в популярных САПР, самостоятельных симуляторах и специализированных программах. Анализ устойчивости источников питания, непрерывные модели устройств, модели компонентов

    • 9 апреля
    • Тема:Micro-CAP 12. Цепи с одинаковым именем почему-то…
    • От:SAVC
    Читайте также:  Настройка модуля часов реального времени rtc для arduino
  • Компоненты Силовой Электроники – Parts for Power Supply Design

    Силовые полупроводниковые приборы (MOSFET, BJT, IGBT, SCR, GTO, диоды). Силовые трансформаторы, дроссели, фильтры (проектирование, экранирование, изготовление), конденсаторы, разъемы, электромеханические изделия, датчики, микросхемы для ИП. Электротехнические и изоляционные материалы.

    • 24 мая
    • Тема:Программы расчета трансформаторов и дросселей
    • От:kochkuroff
  • Интерфейсы

      Последнее сообщение

    Форумы по интерфейсам

    все интерфейсы здесь

    • 2 часа назад
    • Тема:Можно ли 1G Ethernet по бекплейну
    • От:sorok-odin
  • Поставщики компонентов для электроники

      Последнее сообщение

    Поставщики всего остального

    от транзисторов до проводов

    • Вчера в 04:18
    • Тема:Изготовление лицевой панели
    • От:destroit
  • Компоненты

    Закачка тех. документации, обмен опытом, прочие вопросы.

    • 2 июня
    • Тема:Что за диод, есть фото.
    • От:Georgy
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир

      Последнее сообщение

    Обсуждение Майнеров, их поставки и производства

    наблюдается очень большой спрос на данные устройства.

    • 21 февраля
    • Тема:Зачем нужны дорогие майнеры
    • От:Doka
  • Дополнительные разделы – Additional sections

      Последнее сообщение

    Встречи и поздравления

    Предложения встретиться, поздравления участников форума и обсуждение мест и поводов для встреч.

    • 1 июня
    • Тема:С Днём Великой Победы в Великой Войне.
    • От:evgdmi
  • Ищу работу

    ищу работу, выполню заказ, нужны клиенты – все это сюда

    • 13 часов назад
    • Тема:МОНТАЖ ПЕЧАТНЫХ ПЛАТ
    • От:radiomont
  • Предлагаю работу

    нужен постоянный работник, разовое предложение, совместные проекты, кто возьмется за работу, нужно сделать.

    • 8 часов назад
    • Тема:ТЗ на разработку электронного устройства.
    • От:ergovit
  • Kуплю

    микросхему; устройство; то, что предложишь ты 🙂

    • 9 часов назад
    • Тема:SAW фильтр на 737 МГц
    • От:3apw
  • Продам

    есть что продать за деньги, пиво, даром ?
    Реклама товаров и сайтов также здесь.

    • 16 часов назад
    • Тема:Плата многоканального АЦП E14-440 (USB) и промыш…
    • От:Linker
  • Объявления пользователей

    Тренинги, семинары, анонсы и прочие события

    • 10 часов назад
    • Тема:CSP-3000 — мощные высоковольтные источники питан…
    • От:КОМПЭЛ
  • Общение заказчиков и потребителей электронных разработок

    Обсуждение проектов, исполнителей и конкурсов

  • Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    Adblock
    detector