Друзья, напоминаем, что самовывозом забрать заказ можно после подтверждения менеджером.
(098) 067-12-26 Киевстар (098) 067-12-26   Киевстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
График работы магазина:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Вс: выходной
г. Киев, ул. Васильковская, 30
ст.м. "Васильковская"
Каталог

Школа робототехники intRobots

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

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

Сборка электронных часов

Коротенькая статья с картинками - инструкция по сборке электронных часов, которые можно приобрести на страницах нашего магазина. Переведена с английского (и может, не совсем качественно)

Підключення енкодера до Ардуіно

Контролер (датчик) положення обертового об`єкта або по-іншому енкодер - це електромеханічний пристрій, за допомогою якого можна визначити положення обертається осі (вала). У звичайному інкрементальному енкодері, який ми будемо розглядати, цей сигнал

Клон Arduino или отладочная плата Atmega в корпусе DIP28

Сделанное собственными руками всегда тешит самолюбие и реализация «идеи, подкупающей своей новизной», «вызывает чувство глубокого удовлетворения» (из анекдотов, куда без них)...

Самодельный лабораторный блок питания

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

Запись аудиофайлов на микросхемы серии 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
сделана на основе 1 оценки 1 клиентских отзыва.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Watchdog
10.08.2019 13:47:17
Было интересно.
оплата картами Visa и MasterCard