087-ATtiny2313 SD Card Talking Device.

Автор: | 09.07.2012

Устройство этой статьи открывает новое направление в блоге – работа с SD картами. Тема стара и порядочно заезженная, но применение SD карт стоит того, чтобы об этом написать еще раз.
Вообще SD карты (SDC, SD Card) имеют много достоинств и их очень просто и удобно применять в небольших встраиваемых проектах. Этому способствует ряд факторов:
— очень простой интерфейс взаимодействия с картой (реализуется посредством SPI);
— большая скорость работы (микроконтроллер способен перегонять данные с SD карты со скоростью близкой к 10 Мбит/с);
— низкое энергопотребление (буквально пару миллиампер – не больше);
— небольшие размеры;
— доступность и дешевизна.
У SD карт практически нет недостатков (окромя, разве что, процедуры их инициализации 🙂 ).

1 Введение.

Устройство, описанное в этой статье, я назвал SD Card Talking Device. Немного пафосно ;), но зато по названию понятно, что это говорящее устройство. Оно предназначено для озвучивания Ваших проектов. Если кратко, то работает оно следующим образом: на SD карту записываются пронумерованные звуковые файлы, которые устройство проигрывает по Вашей команде. Сфера применения довольно широка — системы оповещения, игрушки, роботы, умный дом и т.д. Габариты устройства довольно скромные (можно и меньше, но я сознательно выбрал микроконтроллер ATtiny2313 который подешевле и полегче достать). Основной упор я пытался делать на простоту и максимальную функциональность.
Забегая вперед, смотрим, что должно получиться в итоге:

Пригодится такое устройство? Тогда собираем!

2 Карта памяти.

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

SD карта прошла довольно длинный путь эволюции и имеет несколько вариантов ее реализации (MMC – как вариант SD карты, SD ver1, SD ver2, SDHC, SDXC). Процедура общения с картой проста и универсальна для всех типов карт, а вот запуск в работу (инициализация карты) довольно неоднозначный и запутанный процесс, с ритуальными «передергиваниями» карты, посылкой пустых «dummy» команд и прочими непонятными вещами (короче, танцы с бубнами обязательны :)). Сама спецификация на SDC протокол описывает процесс инициализации довольно пространно, оно и понятно, производителей карт тьма, у каждого свое железо, со своими особенностями… К чему я это веду? — Я попытался сделать процедуру инициализации максимально универсальной, но будьте готовы к тому, что некоторые карты «не пойдут». Поэтому если у Вас чего-то не ладится с устройством, попробуйте другую карту памяти – может причина в этом.

В данном устройстве поддерживаются SD карты размером до 2 Гб, включительно. Все что выше (SDHC и SDXC) – не поддерживается.
Для устройства нет разницы в каком форм-факторе карта (SD, MiniSD или MicroSD), но Вы должны правильно ее подключить, согласно распиновки карты.

3 Файловая система.

В устройстве работают карты, имеющие файловую систему FAT16. Эта система как нельзя лучше подходит для устройств подобных нашему, так как проста и легко реализуемая (FAT12 и FAT32, в принципе, тоже не сложно реализовать, но это нецелесообразно, в виду отсутствия каких либо достоинств по сравнению с FAT16).

Нет особых требований по форматированию карты – ее можно отформатировать в любом доступном устройстве. Стандартное форматирование Windows вполне подходит для этих целей.

Для корректной работы устройства звуковые файлы, расположенные на SD карте, должны соответствовать определенным требованиям:
а) Формат файла должен быть — несжатым WAV.
Параметры файла следующие:
— Битрейт – частота дискретизации (Frequency) — 32000 Гц;
— Количество каналов (Channels) — 1 (mono);
— Размерность (Sample size) — 8 бит.
Еще возможно такое сокращение — WAV PCM 8U

b) Файл должен быть назван особым образом. Для того чтобы устройство знало какой файл первый, второй, третий и т.д. первый символ имени файла должен быть заглавной буквой латинского алфавита (остальная часть названия, как и расширение файла — игнорируется).
Например, корректными будут следующие названия файлов:
А_Лай_собаки.wav – первый трек
B-Это второй трек.wav – второй трек
С Warning! Error!.wav – третий трек

c) Для использования дополнительных возможностей устройства, файлы могут располагаться в двух папках с именами «1» и «2». Устройство имеет переключатель для выбора активной папки, то есть одна и та-же команда запуска воспроизведения может запускать треки из папки «1» или «2», в зависимости от уровня на переключающем входе (своего рода выбор звуковой схемы – очень полезная вещь!). Если одной из папок (или сразу обеих) не существует, файлы воспроизводятся из корневого каталога.

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

d) Ввиду малого объема SRAM у ATtiny2313 невозможно создать буфер для предварительного чтения данных, поэтому данные из файла напрямую выдаются на воспроизведение. Соответственно, нет возможности (не хватает времени) выполнять поиск фрагментов файла по таблице FAT. Другими словами, файлы, записанные на карту, должны быть не фрагментированы.

На самом деле это не является большой проблемой, так как  любая операционная система всегда пытается записать файл целым куском и пока у Вас на карте есть место то любые действия с файлами (удаление, копирование, переименования) не повлияют на их целостность. Если у Вас карта очень малого объема или Вы заполнили до отказа большую карту, для того, чтобы быть уверенным в целостности файлов, просто скопируйте их на жесткий диск компа, отформатируйте карту и верните файлы назад.

4 Схема. Печатная плата.


087-SDC_Talking_Device - Схема SDС Talking Device

Схема устройства максимально проста. Фактически, кроме самого микроконтроллера и SD карты, в ней ничего нет. Для себя я сделал печатку под SMD компоненты, так как планируется применить данный девайс в ограниченном по габаритам месте. Если для Вас габариты не критичны можно собрать схему на макетке в DIP варианте. В случае макетки, сборка устройства займет у Вас, от силы, 15 минут. Допустимое напряжение питания для SD карты от 2.7 до 3.6 вольт. В этом промежутке нормально работает и микроконтроллер, поэтому нет необходимости применять какие либо согласующие компоненты. Я проверял работу всего устройства и при питании в 5 вольт – все работало нормально, но не рекомендую так делать на постоянной основе, так как разные карты могут на превышение напряжения реагировать по разному. В качестве кардхолдера для microSD я использовал адаптер, подпаявшись прямо к его контактам. Если нужны габариты поменьше лучше использовать настоящий кардхолдер для microSD.

Для прошивки микроконтроллера используется тот-же разъем, что и для SD карты, поэтому придется подумать как к нему подключить программатор (я специально сделал переходник).


087-SDC_Talking_PBC - Разводка платы под говорящее устройство

После того как плата спаяна – можно прошивать микроконтроллер.

SDC_Talking.hex - Прошивка говорящего устройства (ATtiny2313)
Fuse bits - Фьюзы для говорящего устройства (ATtiny2313)
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.

Фьюз байты Low — E4   High — DF   Ext — FF
Как правильно прошить AVR фьюзы

 

Небольшая галерея готового устройства:

Небольшой нюанс по схеме.
При установке SD карты в кардхолдер (подключении карты к источнику питания) создается скачек тока и, соответственно, просадка напряжения в схеме (похоже, в карте в это время заряжаются значительные емкости). Просадка настолько значительная, что происходит сброс микроконтроллера. Я это использую для начала процедуры инициализации карты (установка карты перезапускает микроконтроллер и первое что делает прошивка это поиск и инициализация карты). Если у Вас при установке карты не происходит сброса МК (мощный источник питания или большие сглаживающие емкости), то Вам нужно позаботиться о кнопке сброса в схеме для ручного сброса микроконтроллера (это если планируется «горячая» смена карт).

5 Работа устройства.

Как я уже писал выше, работать с устройством очень просто: копируем на SD карту правильно названые треки, вставляем карту в кардхолдер, устройство автоматически найдет карту, зажжет зеленый светодиод – все, устройство готово воспроизводить треки. Теперь нужно только выбрать-запустить трек на воспроизведение, способом, который Вам больше всего подходит.

5.1 Кнопки устройства, их действие.

Я попытался сделать устройство максимально функциональным, поэтому очень много ножек микроконтроллера задействованы под переключатели режимов работы (от этого устройство напоминает ежика :)). Если Вам какая функция не нужна – просто оставьте «висеть» ногу в «воздухе».
Действие переключателей:
— “Monster” – позволяет замедлить (в 2 раза) воспроизведения трека – создавая эффект низкого голоса. Переключатель работает «на лету» — скорость изменяется по факту переключения;
— “Helium” – ускоряет воспроизведение трека (на 1/3) – создавая эффект высокого голоса. Переключатель работает «на лету»;
— “Repeat” если этот переключатель замкнут на землю, то выбранный трек будет бесконечно (до момента размыкая переключателя) воспроизводиться. Это может быть полезным, например, если нужно создавать определенный звуковой фон – шум дождя, горение костра, журчание ручья…;
— “Select / Play” кнопка запускающая трек на воспроизведение (описание ниже);
— “Select track”–  установка номера воспроизводимого трека (описание ниже);
— “Dir1 / Dir2” – выбор звуковой схемы (описание ниже).

5.2 Запуск воспроизведения.

Запустить воспроизведение определенного трека можно тремя способами:
— послав по UART заглавную букву латинского алфавита — сразу начинается воспроизведение файла, содержащего эту букву в начале названия;
— если при помощи “Select track” выбран номер файла (двоичным кодом 0001=”A”, 0010=”В”, и т.д. 1- нога замкнута на землю, 0 – «висит» в «воздухе»), то кнопка “Select / Play” запустит соответствующий файл на воспроизведение;
— если при помощи “Select track” ничего не выбрано (0000 – ноги «висят» в «воздухе»)), то нажимая кнопку “Select / Play” определенное количество раз, запускаем соответствующий трек (1 раз=”A”, 2 раза=”В”, и т.д.).

5.3 Звуковые схемы.

Очень полезной функцией является функция выбора одной из двух звуковых схем. Это значит, что переключателем “Dir1 / Dir2” выбирается папка на карте, из которой будет воспроизводиться трек.

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

Например, Вам нужно, чтобы ваше устройство умело общаться мужским и женским голосом. Реализуется это так:
— создаем два комплекта сообщений, соответственно, в женском и мужском варианте;
— нумерацию файлов для обоих вариантов делаем одинаковую. Не забываем, что устройство «видит» только первую букву в названии файла, поэтому для себя Вы можете имена сделать более понятными, например «С_Ожидаю команду_муж.wav» и «С_Ожидаю команду_жен.wav» вполне корректны;
— комплект мужских сообщений копируем в папку «1», а женских в папку «2».
Теперь в зависимости от состояния переключателя “Dir1 / Dir2” по одной и той-же команде будут воспроизводиться треки из «мужской» или «женской» папки.

5.4 Индикация работы устройства.

Так как у тини2313 очень мало ног, и почти все задействованы на переключатели, мне пришлось пожертвовать нормальной индикацией, а взамен приделать нечто НЕ нормальное. Для индикации разных режимов работы используется всего одна нога микроконтроллера, к которой подключены два светодиода — красный и зеленый (ну или какие Вам больше нравятся). Различные режимы работы устройства отображаются определенным цветовым кодом:
мигает красный светодиод – отсутствует SD карта или ее тип не поддерживается устройством;
горит красный светодиод – SD карта поддерживается и удачно проинициализировалась, но карта отформатирована не в FAT16;
горит зеленый светодиод – SD карта удачно проинициализировалась, найдена нужная файловая система и устройство готово воспроизводить трек — ожидание команды;
мигает зеленый светодиод — устройство воспроизводит трек;
горит зеленый, кратковременно загорается красный, опять горит зеленый — не найден трек;
горит зеленый, кратковременно тухнет и вновь загорается зеленый — нажата клавиша выбора трека.

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

5.5 Отладочная информация.

Для облегчения поиска проблемных мест (в случае если устройство не хочет работать) я каждый этап инициализации в программе продублировал сообщениями по UART. После каждого успешного шага в UART отправляется соответствующий символ:
— “S” – (Start) периферия микроконтроллера проинициализирована нормально;
— “C” – (Card Init) SD карта проинициализирована нормально и поддерживается;
— “F” – (FAT Init) FAT система поддерживается;
— “1” – (No 1 Dir) нет папки «1» чтение будет осуществляться с корневой директории;
— “2” – (No 2 Dir) нет папки «2» чтение будет осуществляться с корневой директории;
— “R” – (Ready) устройство полностью готово – ожидает команды запука трека;
— Кроме того, при каждом запуске трека, в UART передается заглавная буква имени трека.

6 Треки для озвучивания Ваших устройств.

6.1 Библиотека треков.

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

Sound_FX_WAV.zip - Архив различных звуков в несжатом WAV-формате [233 MB]

Треки разбиты по категориям:
— Автомобили мотоциклы — Анатомические звуки — Быт — Город — Железная дорога — Звуки природы ветер — Звуки природы дождь — Звуки природы животные — Звуки природы лес поля джунгли — Звуки природы море реки — Звуки природы насекомые лягушки — Звуки природы птицы — Звуковые эффекты — Катера лодки — Люди — Мистика ужасы — Музыкальные эффекты — Музыкальные эффекты разное — Овации аплодисменты — Оружие баталии – Разное — Самолёты вертолёты — Спорт игры отдых — Спортивная арена – Телефон — Техника механика — Толпа — Часы — Шаги — Эротика — Юмор приколы.

Если необходимо треки править — вот та-же библиотека, но в исходном формате:
Sound_FX_MP3.zip - Архив различных звуков в MP3-формате [1 GB]

6.2 Конвертирование треков

Если в библиотеке выше ничего подходящего не нашлось, то заполучить необходимые треки можно в сети (есть много специальных сайтов для музыкантов и видео монтажа, где уже собраны большие библиотеки звуков), в инсталляциях игр (зачастую звуки игрового процесса разделены по трекам и сложены в отдельную папку). Еще можно вырезать звуковые эффекты из фильмов и музыкальных композиций. Найденые треки нужно переконвертировать в формат который поддерживает устройство. Напоминаю, формат файла должен быть — несжатым WAV.  32000 Гц, 1 канал,  8 бит (WAV PCM 8U)
Для конвертации в такой формат подойдет любой музыкальный редактор, или, если нужно просто преконвертировать трек без его правки — Weeny Free Audio Converter.

audioconverter - Weeny Free Audio Converter
Weeny Free Audio Converter бесплатный, маленький и умеет конвертировать сразу пакет файлов (что очень удобно, когда нужно переконвертировать целую библиотеку файлов).

6.3 Создание треков.

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

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

Чтобы послушать, как компьютер может озвучивать текст не обязательно устанавливать движки – это умеет делать и переводчик Google (кстати, очень не плохо). Вот, послушайте, как звучит фраза робота «Обнаружено препятствие! Ожидаю дальнейших команд.» в исполнении Гугла (в окошке с фразой нажмите пиктограмму динамика).

Большим плюсом применения переводчика от Гугла является возможность  «озвучить» фразу сразу на нескольких языках.
Как по мне, если не требуется мужской голос, голос Гугла вполне достоин озвучивать Ваши устройства.

 

Тот, кто читает эту строчку, может считать себя  упорным человеком 🙂 — статья вышла слегка раздутой, но ничего, надеюсь информация будет для Вас полезной.

Оставляю исходник на Algorithm Builder
AB_Source_SDC_Talking - Исходник говорящего устройства

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

 

На форуме уже скопилось некоторое количество модификаций:

1 Выбор трека ‘Select track’ без подтверждения ‘Play’ Есть вариант с блокировкой клавиш при проигрывании и без.

2 Поочередное проигрывание треков по ‘Play’ При нажатии клавиши Select / Play проигрывается первый файл (А—.wav), следующее нажатие проиграет второй файл (B—.wav) и так далее.

3 Озвучивание состояний линий охранной сигнализации. При нажатии на кнопку Select/Play начинается процедура опроса линий и выдачи сообщений (запуска соответствующих треков) о их состоянии. Возможен автоматический запуск.

4 …

 

Говорилка в различных проектах:

1 MechanicCDRR установил Говорилку в свою конструкцию HobbyKing (статья о конструкции)

 

2 Реализация Говорилки Evgen-82.
https://vk.com/video15686240_162865688

 

3 RC-Sound Звуковой имитатор работы двигателя и бортового вооружения на самолете от Дмитрия Чуднова (модификация).

Статья с описанием конструкции.

 

 

(Visited 53 533 times, 3 visits today)

087-ATtiny2313 SD Card Talking Device.: 651 комментарий

  1. Evgen-82

    Я у себя кстати так и сделал, на картучку поставил отдельный стабилизатор SMD L1117-33, а на плату подаю 5V.

  2. oldmaelstrom

    ну я опробовал прошивку — вроде работает, углубленно не тестил, работы навалилось. Хотелось бы немного изменить работу — пока адресные пины на земле, то играем выбранный файл 1 раз, если с пинов управление сняли, то воспроизведение останавливаем, если включен repeat, то повторяем файл пока не убрали управление с адресных пинов. Возможно ли такое?

  3. oldmaelstrom

    ну… не совсем то, утром еще раз протестирую — попробую отписать

  4. denis.dd

    Добрый день.Давно в поисках подобного устройства и свершилось.Будет использоваться в качестве манка на утку,отсюда вопрос.Отлично подойдёт модернизированная прошивка,четыре выключателя-четыре мелодии,но как назвать треки,я так понимаю:»1″=0001,»2″=0010,»4″=0100,»8″=1000,простите неселён в двоичном коде.Устройство собрано и прошито,ещё не проверил в поисках карточки.

  5. GetChiper Автор записи

    0001=1 ==> A_первый.WAV
    0010=2 ==> B_второй.WAV
    0100=4 ==> D_третий.WAV
    1000=8 ==> H_четвертый.WAV

  6. GetChiper Автор записи

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

  7. denis.dd

    Достаточно 15Вт,обычно используем MP3 плеер,небольшой акум 12В и колокол от авто сигнализации с усилком ват на 20,с плеером очень неудобно,а здесь выбрал трек и ещё зациклить можно.Есть сомнения по качеству звука но это покажут только полевые испытания.Карточку нашёл 32 метра,на ней 3 вольта написано,я систему от3,3 питаю ,как думаете не здохнит,руки чешутся подключить.

  8. GetChiper Автор записи

    Нет, не сдохнет.

  9. denis.dd

    Испытал две карточки по 32Mb (SanDisk,Renesas)формат из системы и DOSa,
    Мигает красный, потом «горит красный светодиод – SD карта поддерживается и удачно проинициализировалась, но карта отформатирована не в FAT16;»
    Подключил 2 гига –уверенный старт,как у Матроскина- «Ура заработало».

  10. Gauss

    А зачем кондер на динамике?? Просто с если его ставить, звук не идет, без него все играет (ставил и керамику и электролит, не играет с ними)

  11. GetChiper Автор записи

    Конденсатор выполняет две функции. Во-первых он там стоит в качестве токоограничевающего элемента (если его убираете, то ставьте вместо него резистор на 300 Ом, иначе рискуете пальнуть порт на низкоомном динамике). И главное ,во-вторых, он выполняет (совместно с активным сопротивлением катушки динамика) функцию интегрирующей цепочки, которая преобразовывает ШИМ в аудио сигнал.
    В принципе, можно и без конденсатора, качество звука упадет не сильно. Но попробуйте поставить большую емкость — это усилит звук.

    P.S. Только сейчас заметил, что на схеме не четко виден номинал емкости — там стоит 100 мкФ.

  12. Gauss

    Де нет, четко, а прикол оказывается в том, что на контроллере не припялась земля, всетаки флюса не надо жалеть

  13. kirillklimovich1994

    такая проблема трек воспроизводится медленно подскажите как решить

  14. SVN

    Правильно ли я понял? Максимальное количество треков из двух папок можно воспроизвести 46.

  15. GetChiper Автор записи

    kirillklimovich1994 :

    такая проблема трек воспроизводится медленно подскажите как решить

    Или фьюзы прошиты не правильно, или ножка Monster коротит на землю, или большие помехи создают наводки на ножке Monster (подтянуть к питанию резистором 10 кОм)

    SVN :

    Правильно ли я понял? Максимальное количество треков из двух папок можно воспроизвести 46.

    В латинском алфавите 26 букв.
    26 треков в одной папке + 26 треков в другой папке = 52 трека.

  16. SVN

    Всё правильно, букв 26, я ошибся. Значит, всё же понял правильно, спасибо.

  17. denis.dd

    Если у Вас есть наработки по усилителю,я очень сильно хочу поучавствовать.Предыдущяя статья по Андроиду,ну блеск,иначе не назвать,Атмега Доктор и программатор ЮСБ,уже давно собраны и в арсенале моём с Вашего сайта.

  18. GetChiper Автор записи

    Так как на динамик выдается цифровой ШИМ-сигнал, то в качестве усилителя может применяться любая ключевая схема (нужно только не забыть убрать конденсатор перед ней).
    Это значит, ставиться один транзистор и им (если запитать вольт от 12-ти) запросто можно раскачать 20-40 ватный динамик!
    Это мною уже проверено — работает!
    Как включить транзистор есть тут http://www.getchip.net/posts/062-kak-podklyuchit-k-mikrokontrolleru-nagruzku/

    Я попытался пойти дальше — применить в качестве усилителя микросхему драйвера двигателя L293D. За счет того, что эта микросхема работает как мост, она может на динамике «переворачивать» полярность сигнала. Это своего рода удвоитель напряжения — питаешь схему от 5В, а на динамике получаешь размах 10В (при этом ток остается прежний — не уменьшается).
    Были сомнения на счет того, что микросхема не сможет переключаться с частотой ШИМ, но опасения не оправдались — нормально работает. Три батарейки ААА раскачивали колонку 18Вт — влегкую! Проблема в другом — микросхема L293D выдает очень много мусора на динамик, что сводит ее практическое применение к нулю.

  19. denis.dd

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

  20. GetChiper Автор записи

    Чтобы что-то сказать определенное по карте, мне нужно знать параметры ФАТ с которой была отформатирована карта.

  21. kirillklimovich1994

    пожалуйста напишите прошивку для звонка,
    то есть на нажимая кнопку “Select / Play” треки воспроизводились по очереди(один раз нажал первый трек воспроизводится ещё раз другой трек)

  22. GetChiper Автор записи

    А в чем прикол такого звонка? Не надоедает :)?

  23. vpashko

    Ну согласитесь, мало кто подойдя к двери нажимает один раз на кнопку звонка, минимум 2-3 раза, так вот для этого звонка алгоритм нужен такой: при нажатии на кнопку ( хоть один раз хоть 100 раз)“Select / Play” воспроизводится первая мелодия, и пока она не проиграет полностью кнопка на нажатие не реагирует, после проигрыша при очередном нажатии будет воспроизводится вторая мелодия, так можно сделать???

  24. denis.dd

    GetChiper :
    Чтобы что-то сказать определенное по карте, мне нужно знать параметры ФАТ с которой была отформатирована карта.

    Подскажите пожалуйста подробней,какие параметры,как мне их снять и в каком формате Вам предоставить.Мне нужно записать 4,максимум 8 мелодий,32 метра вполне предостаточно для манка,я с двумя гигами всё испытал,мне очень нравится,пока с усилителем, но по Вашему совету обязательно проведу эксперименты с транзисторами.

  25. GetChiper Автор записи

    Например программа SIV (можно и другой не критично)
    http://rh-software.com/
    Жать кнопку Volumes. Меня интересует размер Cluster и значение Format.

  26. EVG

    GetChiper :
    Например программа SIV (можно и другой не критично)
    http://rh-software.com/
    Жать кнопку Volumes. Меня интересует размер Cluster и значение Format.

    КАРТА 32___Format: FAT16.Cluster:512 -не работает
    КАРТА 128___Format: FAT16.Cluster:2КВ -работает
    КАРТА 2GB___Format: FAT16.Cluster:32KB -работает
    КАРТА 2GB___Format: FAT16.Cluster:32KB -не работает(микроSD)
    @GetChiper

  27. denis.dd

    EVG :

    GetChiper :
    Например программа SIV (можно и другой не критично)
    http://rh-software.com/
    Жать кнопку Volumes. Меня интересует размер Cluster и значение Format.

    КАРТА 32___Format: FAT16.Cluster:512 -не работает
    КАРТА 128___Format: FAT16.Cluster:2КВ -работает
    КАРТА 2GB___Format: FAT16.Cluster:32KB -работает
    КАРТА 2GB___Format: FAT16.Cluster:32KB -не работает(микроSD)
    @GetChiper

    Спасибо за исследование,опередили.Но микро SD 2 гига у меня работает,процесс идёт- и это главное.

  28. GetChiper Автор записи

    С маленькими картами все понятно — слишком маленький кластер. Я сознательно не делал поддержку кластеров такого размера (512 байт), думал не понадобится. Но ничего страшного, проблема решится если отформатировать SD-карту с размером кластера больше 512.

    Самый простой вариант — это отформатировать SD-карту с командной строки:
    Для этого нужно:
    — открыть командную строку (Пуск/Все программы/Стандартные/Командная строка)
    — набрать строку FORMAT X: /FS:FAT /A:1024
    где X — буква SD-диска (Не форматните винт случайно! Будьте внимательны!)
    — нажать Enter и следовать инструкциям по ходу форматирования.
    После этого карта должна пойти.

    А что там по 2х гиговой микро SD? какое сообщение выдают светодиоды?

  29. EVG

    Отформатировал 32(кластер 1КВ)- не работает. Карта инициаллизируется, ни при попытке воспроизведения 1 раз мигает красный и тишина.

    на 2г карте(KINGMAX mikroSD) красный постоянно мигает сериями по 8 вспышек

  30. EVG

    Отформатировал 32 (кластер 2КВ)- не работает. Тоже самое: карта инициаллизируется, ни при попытке воспроизведения 1 раз мигает красный и тишина.

  31. denis.dd

    32Mb на 1024-постоянно мигает красный.

  32. SVN

    @GetChiper
    Жаль, что Вы выкладываете только нех файлы модов. А хотелось бы весь проект для детального изучения, где и что изменилось. Ведь хочется не только получить хорошее устройство но и чему-то при возможности научится (изучить).

  33. GetChiper Автор записи

    @EVG
    Что-то я не понял. Карта инициализируется, горит зеленый, нажимаешь запустить трек, мигает красным и вешается. Правильно?
    На KINGMAX mikroSD нет надписей SDHC или SDXC?

    @EVG
    @denis.dd
    А что говорит SIV на отформатированные в командной строке карты?

    Еще есть инструмент для форматирования флешек SD Formatter — можно попробовать его с разными настройками.
    https://www.sdcard.org/downloads/formatter_3/

  34. GetChiper Автор записи

    @SVN
    Та не проблема! Основной исходник лежит в конце статьи, а исходники модов сейчас повтыкиваю в посты форума.

  35. SVN

    Базовый исходник сразу скачал как только появилась статья и уже изучаю. Естественно мало что понятно, но всё равно интересно. За остальные исходники заранее спасибо, думаю таким образом смогу более или менее в чём-то разобраться 🙂

  36. EVG

    GetChiper :
    @EVG
    Что-то я не понял. Карта инициализируется, горит зеленый, нажимаешь запустить трек, мигает красным и вешается. Правильно?
    На KINGMAX mikroSD нет надписей SDHC или SDXC?
    @EVG
    @denis.dd
    А что говорит SIV на отформатированные в командной строке карты?
    Еще есть инструмент для форматирования флешек SD Formatter – можно попробовать его с разными настройками.
    https://www.sdcard.org/downloads/formatter_3/

    Карта на 32 инициализируется, горит зеленый, нажимаешь запустить трек, мигает 1 раз зелёный,горит 3 секунды, мигает 1 раз красный и опять горит зелёный.

    На KINGMAX mikroSD нет надписей… .

    Пробовал все эти карты форматировать различными программами и способами- результат тот-же.

  37. EVG

    А можно ли создать новую модификацию этого устройства с последовательным опросом входов Select track?
    принципиальные отличия:
    1.На входы Select track подключены датчики (дыма, протечки воды, утечки газа, шлейфы окон, открытия дверей, наличия злектропитания…и т.д.)в нормальном сост. закорочены на GND.
    2.При нажатии кнопки Select play работает следующий алгоритм:
    если все входы на земле, проигрывается трек А_(«все датчики в норме»)
    если все входы в обрыве, проигрывается трек В_(«все датчики отключены»)
    если некоторые входы в обрыве,проигрываются последовательно треки (D_,E_,F_,J_), соответствующие зтим входам Select track.
    В конце проигрывается трек С_(«проверка датчиков умного дома окончена»)

  38. SVN

    На мой взгляд, такое устройство лучше сделать отдельно а уже к этому девайсу подключить устройство для воспроизведения треков c модом SDC_Talking_Mod2-2_LED или базовой программой. У меня тоже после прочтения этой статьи появилась мысль сделать «говорящее» универсальное устройство для мамы и теперь обдумываю алгоритм этого устройства, а так же подключаемых датчиках.
    Ещё раз, выражаю благодарность Евгению за его превосходный блог в котором есть очень много разнообразных проверенных устройств. Соединив которые, в одно целое, можно вполне создать интересный многофункциональный девайс.

  39. EVG

    …такой девайс у меня уже 1,5 года работает, правда на PIC-контроллере и MP3-плеере. А в этом случае всё реально впихнуть в одну тиньку- получается компактнее, проще и дешевле раз в 5.

  40. GetChiper Автор записи

    EVG :

    А можно ли создать новую модификацию этого устройства с последовательным опросом входов Select track?….

    Я думаю, такая модификация интересна и ей найдется применение. Сделаю.

  41. SVN

    EVG :
    …такой девайс у меня уже 1,5 года работает, правда на PIC-контроллере и MP3-плеере. А в этом случае всё реально впихнуть в одну тиньку- получается компактнее, проще и дешевле раз в 5.

    В 5 раз, это Вы погорячились, но то что немного дороже, это однозначно 🙂 Конечно я не специалист, но предполагаю, что в тиньку всё засунуть не получится, а вот в атмегу, другое дело. Да и зависит всё от наворотов устройства. Конечно же у каждого на этот взгляд потребности разные 😉

  42. Chipper

    Доброго времени суток! А возможна ли модификация устройства с поддержкой wav файлов 16 bit?

  43. EVG

    Спасибо, GetChiper новая модификация отлично работает. Очень профессиональное решение алгоритма работы.

  44. EVG

    я заметил, что если сделать reset контроллеру во время воспроизведения трека, то после начинает мигать красный светодиод и карта не инициализируется, пока не дёрнешь питание. Если reset во время паузы — всё нормально. Так должно быть?

  45. GetChiper Автор записи

    EVG :

    Спасибо, GetChiper новая модификация отлично работает. Очень профессиональное решение алгоритма работы.

    Обновил модификацию, добавил много интересного…
    http://www.forum.getchip.net/viewtopic.php?f=24&t=251

    Chipper :

    Доброго времени суток! А возможна ли модификация устройства с поддержкой wav файлов 16 bit?

    В принципе, не проблема, но вот только нужно ли? Качество звучания улучшится не на много, а вот размеры файла увеличатся и придется отказаться от какойто функции …
    Давайте так, я все равно буду делать устройство с чтением многоканальных WAV-файлов (для нового эффектора), заразом сделаю и Ваш мод. Будет не быстро, так как сейчас занят другим новым устройством.

    EVG :

    я заметил, что если сделать reset контроллеру во время воспроизведения трека, то после начинает мигать красный светодиод и карта не инициализируется, пока не дёрнешь питание. Если reset во время паузы – всё нормально. Так должно быть?

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

  46. Chipper

    Спасибо за ответ! Жаль, что не скоро. Ну что ж подождем…

  47. youhim

    А как обстоят дела с энергопотреблением в выкл. состоянии? можно ли использовать в девайсе без отключения питания?

Добавить комментарий