Главная » Микроконтроллеры
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Пианино на микроконтроллере PIC18F4550

В данном проекте представлен пример простого аудио устройства с использованием PIC-микроконтроллера. При использовании только портов ввода/вывода, мы разработали простое пианино/синтезатор в 8-битном стиле. Для программирования 8-битного микроконтроллера PIC18F4550 используется PicPgm.

Мы решили использовать микроконтроллер PIC18F4550 исходя из размера памяти программ (32 КБ).

Для начала каждому порту необходимо присвоить следующие функции:

pins-i-o-cc3b3pia.png

Зеленые выводы на рисунке определены как входы, красные выводы как выходы.

Далее выводы определены, как указано ниже в программном коде:

entradas-saidas.png

Входы с b1 по b11 являются нажимными кнопками в схеме, в то время как вход режима – это переключатель, который отвечает за выбор рабочего режима работы. Выходы с l1 по l11 отвечают за подключение светодиодов. Каждый светодиод располагается вверху над соответствующей нажимной кнопкой и загорается, когда проигрывается соответствующая музыкальная нота. Аудио выход – это вывод контроллера, который подключается к динамику.

Принципиальная схема была разработана с помощью программного обеспечения с открытым исходным кодом KiCad:

mc216_sch.png

Затем был изготовлен макет печатной платы:

pcb.png

Также было создано 3-х мерное изображение готовой печатной платы:

dsc02104.png

Для изготовления устройства использовалась двухсторонняя печатная плата. Схема была напечатана на журнальной бумаге с помощью лазерного принтера, далее перенесена на печатную плату методом ЛУТ. Сначала необходимо перенести на одну сторону, далее засверлить несколько отверстий для выравнивания макета с другой стороной:

dsc02086.jpg

dsc02085.jpg

После этого печатная плата была опущена в раствор хлорного железа для вытравливания:

dsc02091.jpg

dsc02092.jpg

Остатки тонера необходимо удалить с помощью губки под потоком теплой воды:

dsc02096.jpg

dsc02095.jpg

Далее мы просверлили все необходимые отверстия и установили компоненты на свое место. Мы использовали компоненты из старых электронных устройств. Нажимные кнопки - из старого видеомагнитофона, светодиоды - из модема, а динамик - из старого будильника.

Готовая печатная плата имеет следующий вид:

dsc02157.jpg

dsc02158.jpg

Описание работы устройства:

dsc02102-cc3b3pia.jpg

В режиме Playing (Проигрывание), когда выбран mode=0 (режим=0), нажимные кнопки с b1 по b11 соответствуют клавишам “ пианино”:

b1 – A (440 Гц)
b2 – B (494 Гц)
b3 – C2 (261×2 Гц)
b4 – D2 (293×2 Гц)
b5 – E2 (329×2 Гц)
b6 – F2 (349×2 Гц
b7 – G2 (392×2 Гц)
b8 – A2 (440×2 Гц)
b9 – B2 (494×2 Гц)
b10 – C4 (261×4 Гц)
b11 – D4 (293×4 Гц)

Мы использовали вторую октаву в качестве основной гаммы и далее добавили еще две музыкальные ноты вверх и вниз. Также можно воспроизвести черные клавиши пианино (диезы и бемоли), нажимая две смежные кнопки.

При нажатии каждой кнопки прямоугольный сигнал соответствующей частоты передается в динамик.

Например, когда нажата кнопка b1, проигрывается нота A. Поэтому для создания звука, прямоугольный сигнал частотой 440 Гц подается на аудио выход. Мы знаем, что период сигнала составляет приблизительно 1/440 = 2272 микросекунд. Поэтому аудио выход имеет высокий уровень в первую половину времени (1136 микросекунд) и далее низкий уровень во вторую половину.

if (b1)
{
 audio=1;
 delay_us(1136);
 audio=0;
 delay_us(1136);
}

Также, кроме воспроизведения звука ноты A, зажигается соответствующий светодиод l1.

В режиме Memory (Память) каждая кнопка ассоциируется с конкретным музыкальным фрагментом, который воспроизводится при нажатии этой кнопки.

Каждый музыкальный фрагмент в памяти составляется из двух массивов, один для частот или музыкальных нот, и другой для временных интервалов. Данные массивы впоследствии считываются функцией Sound_Play(x,y) из используемого компилятора (микроC).

И наконец, кнопка b0  - это сброс всей схемы.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК PIC 8-бит
PIC18F4550
1 Поиск в FivelВ блокнот
C1 Электролитический конденсатор220 мкФ1 Поиск в FivelВ блокнот
R1-R5, R7-R14 Резистор
9 кОм
13 Поиск в FivelВ блокнот
R6, R15 Резистор
220 Ом
2 Поиск в FivelВ блокнот
D1 СветодиодКрасный1 Поиск в FivelВ блокнот
D2-D12 СветодиодЗеленый11 Поиск в FivelВ блокнот
SW1-SW12 Кнопка тактоваяTACT-64N-F12 Или другая подобнаяПоиск в FivelВ блокнот
SW13 Переключатель1 Поиск в FivelВ блокнот
SP1 Динамик1 Поиск в FivelВ блокнот
Power IN P1 Разьем питания1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 3
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.5 Проголосовало: 3 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
LC-измеритель LC100-A Сатфайндер
вверх