Мобильная версия Форум Arduino Документация Гарантийные условия 0 0
UA RU
График работы магазина:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Вс: выходной
Каталог
Напиши статью и получи скидку!

Запись аудиофайлов на микросхемы серии ISD1700

2019-08-09

Все статьи →

ПРОГРАММА ДЛЯ ЗАПИСИ АУДИОФАЙЛОВ
НА МИКРОСХЕМЫ СЕРИИ
ISD1700

В одном из недавних проектов мне потребовалось добавить озвучивание коротких текстовых сообщений. Шилды типа MP3-модуля с SD-картой показались мне избыточными, а «обучать» ARDUINO воспроизводить человеческую речь значило бы отдать практически все ресурсы микроконтроллера только на эту задачу, которая, по сути, является второстепенной. Да и памяти в нем для этих дел все равно не хватит.

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

Голосовые сообщения были заранее подготовлены в виде отдельных аудиофайлов. Оставалось решить вопрос, как эти самые файлы записать в память микросхемы. Программаторы для них не сильно распространены, да и стоят намного дороже самой микросхемы. Находились варианты этот самый программатор создать (https://laserwar.ru/sound_lasertag.html), но я в гораздо большей степени программист, чем радиолюбитель, поэтому хотелось обойтись стандартным «железом» - плата  ARDUINO подходила на роль такого программатора.

После изучения даташита («ISD1700 Design Guide») стало ясно, что микросхема имеет свой аналоговый вход, через который прямо с компьютера можно записать нужные файлы. А чтобы автоматизировать этот процесс, решил написать соответствующее программное обеспечение – ISD1700 Record Tool.

ISD1700 Record Tool позволяет записывать группу аудиофайлов в микросхемы серии  ISD1700 через контроллер ARDUINO. Программное обеспечение состоит из двух частей: скетч для контроллера ARDUINO (ISD1700.ino) и приложения для Windows (ISD1700.exe).

Скетч в ISD1700.ino написан для контроллеров ARDUINO на основе ATMega328P (проверено на контроллерах ARDUINO UNO и ARDUINO NANO), но, вероятно, может работать и на других контроллерах.

Список поддерживаемых микросхем ISD1700:

1) ISD1730;

2) ISD1740;

3) ISD1750;

4) ISD1760;

5) ISD1790;

6) ISD17120;

7) ISD17150;

8) ISD17180;

9) ISD17210;

10) ISD17240.

Для воспроизведения аудиофайлов Windows-приложение использует библиотеку BASS (http://www.un4seen.com/bass.html), которая поддерживает наиболее распространенные форматы: MP3, VAW, OGG и др.

1 Подключение

На рис. 1 показан пример подключения компонентов. В ходе разработки программы я использовал готовый модуль записи вместо отдельной микросхемы серии ISD1700. Я настойчиво рекомендую ознакомиться с даташитом на эти микросхемы перед тем, как пробовать другие варианты подключения.

Рис. 1 – Пример подключения компонентов

На рис. 2–6 показан мой вариант подключения компонентов c ARDUINO NANO.

Рис. 2 – Общий вид подключения компонентов автора

На маленькой макетной плате я расположил два 3,5мм гнезда (рис. 3) для аудиовхода (слева) и подключения наушников (справа).

 

 

Рис. 3 – Макетная плата
с 3,5мм гнездами

Рис. 4 – Модуль записи
на базе ISD1760


Я рекомендую использовать дополнительный источник питания, а не запитывать все компоненты через 5-вольтовый выход ARDUINO, т.к. я сталкивался с множеством программных ошибок без внешнего источника. Хотя это вполне могло быть следствием плохих контактов и т.п. 

 

 

Рис. 5 – Макетная плата с ARDUINO NANO и модулем питания
 

Рис. 6 – Модуль питания


2 Прошиваем ARDUINO

Подсоедините контроллер ARDUINO к вашему компьютеру с помощью USB-кабеля, откройте ISD1700.ino в среде ARDUINO и загрузите скетч как обычно (рис. 7).

Рис. 7 – Загрузка скетча в контроллер ARDUINO

3 Интерфейс приложения

Запустите ISD1700.exe. На рис. 8 показано назначение элементов управления.

Рис. 8 – Назначение элементов управления

Add files to list

Добавить файлы в список

Remove checked files from list

Удалить отмеченные файлы из списка

Start/stop playback

Начать/остановить воспроизведение

Volume

Громкость

List of audio files

Список аудиофайлов

Start/end address after record is done

Начальный и конечный адрес после завершения записи

Open “About” window

Открыть окно «О программе»

Select COM-port

Выбрать COM-порт

Detect ISD1700

Определить модель микросхемы ISD1700

Total duration / ISD1700 capacity

Суммарная длительность аудиофайлов / максимальное время записи микросхемы ISD1700

Record control

Управление записью

Copy address to clipboard

Копировать адреса в буфер обмена


4 Типовая последовательность действий

На рис. 9 показана типовая последовательность действий в Windows-приложении.

Рис. 9 – Типовая последовательность действий

Описание:

1. Откройте аудиофайлы, которые вы хотите записать на ISD1700. При необходимости отсортируйте их простым перетаскиванием или удалите ненужные файлы, предварительно отметив их. Также вы можете воспроизвести каждый файл и настроить громкость.

2. Выберите COM-порт, к которому подключен контроллер ARDUINO (рис. 10).

 

Рис. 10 – Выбор порта


3. Нажмите кнопку «Detect ISD1700» и убедитесь, что модель микросхемы появилась в информационном поле справа.

4. Убедитесь, что суммарная длительность всех аудиофайлов меньше максимального времени записи в секундах для микросхемы ISD1700; в противном случае вы не сможете начать запись.

5. Нажмите кнопку «Start record». Прогресс можно наблюдать на панели. При необходимости нажмите «Stop record», чтобы прервать запись.

6. После завершения записи вы можете скопировать адреса всех файлов в буфер обмена. Рис. 11 демонстрирует разницу между двумя вариантами копирования.

Рис. 11 – Разница между двумя вариантами копирования:
«Copy row by row» («Копировать по строкам», левая кнопка)
и «Copy column by column» («Копировать по столбцам», правая кнопка)

Использование модуля записи на базе ISD1700 позволяет воспроизвести аудиофайлы сразу после завершения процесса записи с помощью наушников и встроенных кнопок.

Архив с программой ISD1700RecordTool

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Общая оценка:

Оценка "Запись аудиофайлов на микросхемы серии ISD1700"
5 из 5
сделана на основе 5 оценок 5 клиентских отзывов.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
alex
10.01.2022 18:37:32
Если работает, то это просто отлично!
Андрей
13.02.2020 14:29:32
Когда-то слышал более лет 10 назад про такие микросхемы - а именно мне довелось подрабатывать для конторы "умный дом" - у них офис несколько Км о метро "Дарница".Не думал даже, что они сейчас есть))
S.K.
13.02.2020 13:44:37
Загонять что-либо через аналоговый вход - это конкретный моветон.
Julio
19.08.2019 21:46:09
Спасибо! На одном таком модуле сделал эхо-репитер, а второй ждёт какой-нибудь идеи... )
Watchdog
10.08.2019 13:47:17
Было интересно.
оплата картами Visa и MasterCard