Устройство этой статьи открывает новое направление в блоге – работа с 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.zip (9867 Загрузок)
Схема устройства максимально проста. Фактически, кроме самого микроконтроллера и SD карты, в ней ничего нет. Для себя я сделал печатку под SMD компоненты, так как планируется применить данный девайс в ограниченном по габаритам месте. Если для Вас габариты не критичны можно собрать схему на макетке в DIP варианте. В случае макетки, сборка устройства займет у Вас, от силы, 15 минут. Допустимое напряжение питания для SD карты от 2.7 до 3.6 вольт. В этом промежутке нормально работает и микроконтроллер, поэтому нет необходимости применять какие либо согласующие компоненты. Я проверял работу всего устройства и при питании в 5 вольт – все работало нормально, но не рекомендую так делать на постоянной основе, так как разные карты могут на превышение напряжения реагировать по разному. В качестве кардхолдера для microSD я использовал адаптер, подпаявшись прямо к его контактам. Если нужны габариты поменьше лучше использовать настоящий кардхолдер для microSD.
Для прошивки микроконтроллера используется тот-же разъем, что и для SD карты, поэтому придется подумать как к нему подключить программатор (я специально сделал переходник).
[Загрузка не найдена]
После того как плата спаяна – можно прошивать микроконтроллер.
SDC_Talking.zip (9884 Загрузки)
fuse.png (11796 Загрузок)
Для 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 Библиотека треков.
Предлагаю Вам довольно обширную подборку треков, в формате готовом для воспроизведения устройством (не забудьте добавлять нужные буквы к именам файлов).
fo37jwbbp (9638 Загрузок)Треки разбиты по категориям:
— Автомобили мотоциклы — Анатомические звуки — Быт — Город — Железная дорога — Звуки природы ветер — Звуки природы дождь — Звуки природы животные — Звуки природы лес поля джунгли — Звуки природы море реки — Звуки природы насекомые лягушки — Звуки природы птицы — Звуковые эффекты — Катера лодки — Люди — Мистика ужасы — Музыкальные эффекты — Музыкальные эффекты разное — Овации аплодисменты — Оружие баталии – Разное — Самолёты вертолёты — Спорт игры отдых — Спортивная арена – Телефон — Техника механика — Толпа — Часы — Шаги — Эротика — Юмор приколы.
Если необходимо треки править — вот та-же библиотека, но в исходном формате:
9oo8mdaci (5048 Загрузок)
6.2 Конвертирование треков
Если в библиотеке выше ничего подходящего не нашлось, то заполучить необходимые треки можно в сети (есть много специальных сайтов для музыкантов и видео монтажа, где уже собраны большие библиотеки звуков), в инсталляциях игр (зачастую звуки игрового процесса разделены по трекам и сложены в отдельную папку). Еще можно вырезать звуковые эффекты из фильмов и музыкальных композиций. Найденые треки нужно переконвертировать в формат который поддерживает устройство. Напоминаю, формат файла должен быть — несжатым WAV. 32000 Гц, 1 канал, 8 бит (WAV PCM 8U)
Для конвертации в такой формат подойдет любой музыкальный редактор, или, если нужно просто преконвертировать трек без его правки — Weeny Free Audio Converter.
audioconverter1.zip (5632 Загрузки)
Weeny Free Audio Converter бесплатный, маленький и умеет конвертировать сразу пакет файлов (что очень удобно, когда нужно переконвертировать целую библиотеку файлов).
6.3 Создание треков.
Все немного сложнее, когда требуются конкретные уникальные сообщения, а Ваши надиктовки в микрофон не выдерживают никакой критики. Здесь бы пригодился человек с поставленным голосом, но где его взять? В этом случае нас спасут голосовые движки, предназначенные для чтения текста «в голос» на компьютере. Таких движков не очень много (запускайте в поисковик фразу «голосовые движки»), но есть из чего выбрать.
Справедливости ради нужно отметить, что речь, воспроизводимая движками, немного специфична, но для электронного устройства это будет простительно.
Чтобы послушать, как компьютер может озвучивать текст не обязательно устанавливать движки – это умеет делать и переводчик Google (кстати, очень не плохо). Вот, послушайте, как звучит фраза робота «Обнаружено препятствие! Ожидаю дальнейших команд.» в исполнении Гугла (в окошке с фразой нажмите пиктограмму динамика).
Большим плюсом применения переводчика от Гугла является возможность «озвучить» фразу сразу на нескольких языках.
Как по мне, если не требуется мужской голос, голос Гугла вполне достоин озвучивать Ваши устройства.
Тот, кто читает эту строчку, может считать себя упорным человеком 🙂 — статья вышла слегка раздутой, но ничего, надеюсь информация будет для Вас полезной.
Оставляю исходник на Algorithm Builder
AB_Source_SDC_Talking.zip (8157 Загрузок)
Не забываем, что на форуме есть специальный раздел для модификаций устройств, где можно посмотреть, показать_свои или попросить_изменить варианты этого устройства.
На форуме уже скопилось некоторое количество модификаций:
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 Звуковой имитатор работы двигателя и бортового вооружения на самолете от Дмитрия Чуднова (модификация).
Статья с описанием конструкции.
Добрый день.
Подскажите пожалуйста, можно ли как-то Ваше устройство сделать так, чтобы при каждой подаче питания просто воспроизводился звуковой файл размером 50-70 кВ? Ну, может быть, можно и оставлять МК в спящем режиме, и просто каким-то выводом «будить» звук. Суть — проигрывание звука заводящегося мотоцикла для игрушечного байка.
С ув.,
Андрей
В будущем планирую сделать расширенный вариант для меги328
День добрый. Можно ли использовать контроллер АтМега8 вместо Тини 2313 ?
Спасибо за ответы, но я все равно до конца не догоняю, как это работает. За качество звука не переживаю, по видео видно, что оно хорошее. Я хочу понять как это работает, ведь в конце концов именно для этого я этим и занимаюсь, иначе проще купить готовый плеер тогда.
«Мембрана будет перемещаться по какому то усредненному значению» — а как она тогда достигнет нужного положения, в котором будет уже совершать эти незначительные колебания? Я так понимаю что во время логической единицы динамик успевает пройти большее расстояние (так как больше ток), чем в обратную сторону при обратном токе конденсатора. В противном случае мембрана бы все время колебалась около положения покоя.
Частота ШИМ Довольно высокая, мембрана физически не сможет так быстро колебаться. Мембрана будет перемещаться по какому то усредненному значению.
Если Вы переживаете за качество звука — то оно, конечно, будет невысоким, но достаточным для комфортного озвучивания каких-то поделок.
8-ми битный звук даже на компьютерной звуковухе звучит хрипло — так что тут не стоит строить иллюзий 🙂
Я согласен, что это нормальный режим работы динамика, но меня смущает то, правильный ли сигнал создаст динамик. Ведь у нас не аналоговый сигнал, а сигнал ШИМ. То есть допустим идет код 11111111, аналоговый сигнал должен быть максимальным (пусть например это будет +5 вольт), и на динамик должны прийти эти +5 вольт и отклонить его только вперед. В нашем же случае динамик под действием сигнала ШИМ будет отклоняться вперед/назад и это будет уже совсем другой сигнал
Все правильно рассуждаете. По сути — это дифференцирующая цепочка. На динамике создаются знакопеременные пульсации тока — это его нормальная работа (в отличии от напрямую поданного ШИМ).
А по подробней можешь рассказать как это работает? Насколько я понимаю, выход ШИМ у нас выдает только либо полное напряжение питания (1), либо замыкает ножку на землю (0). Конденсатор включен последовательно с динамиком. Это значит, что во время логической единицы конденсатор будет у нас заряжаться, а во время логического нуля — разряжаться, причем создавая ток обратного направления.
Меня сильно это смущает, ведь постоянный обратный ток разряда должен вызывать большие искажения (обратный ток ведь течет через динамик).
Привет!
Конденсатор и сопротивление динамика образуют своеобразный фильтр. Кроме того конденсатор выполнят защитную функцию.
Можно применить и классическую интегрирующую цепочку — звук станет лучше, но потребуется дополнительный усилитель после цепочки.
Привет GetChiper, насколько я понимаю, в этой схеме ЦАП сделан на Широтно-Импульсном Модуляторе, но мне не понятно, как это может работать с последовательно включенным конденсатором.
Объясните пожалуйста, почему конденсатор подключен последовательно с динамиком? Как он будет разряжаться? получается будет обратный ток через динамик (и через ногу микроконтроллера) , а это значит будут огромные искажения?
Я смотрел другие схемы ЦАП на ШИМ, но там конденсатор включен параллельно, и работает как сглаживающий фильтр…
Буду вам очень благодарен если объясните
Привет!
Уже не помню делался ли такой вариант устройства…
Поищи в модификациях может чего и подойдет
http://www.forum.getchip.net/search.php?keywords=087&terms=all&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
А вообще, вариант когда нажал кнопку и проигрался полностью семпл — тоже неплохо. Например звук клаксона будет звучать неестественно если его обрывать не проиграв полностью.
Здраствуйте GetChiper!
Есть идея сделать сигнал на велосипед но возможо ли сделатьтак чтоб зук воспроизводился только при нажатой кнопке play, а после отпускания останавливался? Заранее спасибо!
Здравствуйте!
На основе этого устройства можно сконструировать не только игрушку, но и аудио плеер для людей престарелого возраста. То есть такой девайс без излишеств, с которым максимально легко обращаться. По этому вопросу создавал тему здесь. Был бы очень благодарен за показ как можно собрать данное изделие.
Привет!
Скорей всего флешка при сбросе себя ведет не так как та что работает (и возможно инициализируется не правильно). Нужно попробовать как-то поэксперинентировать с цепями сброса МК (может установить небольшой конденсатор на ногу сброса (чтобы увеличить время сброса).
Добрый день!
Собрал устройство (в качестве дверного звонка). Все работает без проблем! Решил в качестве постоянной флешки использовать древнюю SD на 32 мегабайта… и начались проблемы… Если все собрать и включить — мигаете красный светодиод. Хоть 100 раз включи-выключи, не помогает. Но если флешку убрать, включить, а после (когда будет мигать красный) вставить флешку, то сразу загорается зеленый и все отлично работает, мелодии воспроизводятся. Но стоит выключить, и история повторяется… Увы, другой ненужной флешки у меня нет…
Что можете посоветовать?
На форуме есть много модификаций этого устройство — для начала можно там глянуть варианты…
http://www.forum.getchip.net/search.php?keywords=Mod%23087&terms=all&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
А в этом топике
http://www.forum.getchip.net/viewtopic.php?f=24&t=664&start=20
Вообще делали с VOVER000 ему говорящую сигнализацию
Здравствуйте Get Chiper. Захотел поставить данную говорилку в машину но столкнулся с некоторыми проблемами: «допустим» не пристегнут ремень безопасности и через ключ будет запущен соответствующий аудио файл. Файл будет воспроизводится по кругу до тех пор пока ключ не будет отключён. Пока воспроизводится один файл невозможно запустить другой.
Так как в авто нет возможности запускать файлы по UART то запускаться они будут только путём подачи минуса на соответствующую ножку МК.
Вопрос :
Возможно ли переделать первоначальную прошивку так, что бы при подаче минуса на соотвествующий выход МК воспроизводился аудиофайл только один раз и больше не повторялся и не обязательно было отключать запускающий минус от ножки МК. Так же что бы была возможность не ждать окончания воспроизведения файла для запуска нового файла (что бы новая задача перебивала текущий).
Если не перестегнут ремень безопасности то через ключ ведь постоянно будет висеть минус на одной из ножек МК, а допустим загорелась лампочка уровня тормозной жидкости и файл не запустится по причине того, что от ремня безопасности уже висит один минус на ножке МК и файл от тормозной жидкости не запустится.
Вообщем я надеюсь на то, что я смог донести до вас то, что я имел в виду своим набором слов. Что бы запуск файла был единожды и при этом минус оставался на ножке МК. Для того что бы ещё раз запустить этот же файл, необходимо было отключить минус и заново его подключить. Что бы при новой задаче воспроизведения ДРУГОГО файла текущий файл (если он на этот момент не закончен) прерывался и воспроизводился последний из заданных.
Если такое переделать сложно, то может быть Вы учтёте в новом проекте ? Я читал, что вы собираетесь перенести на более мощный МК.
И ещё такой вопрос : Файлы у вас запускаются (физически) путём подачи минуса на определённую ножку МК, а возможно ли сделать так, что бы выбор папок был не через переключатель как у вас, а на пример что бы если на ножку подаётся минус, то файл воспроизводился с папки 1 под именем А, а если на эту же ножку будет подаваться не минус а плюс, то будет воспроизводится файл А, но уже с папки 2.
Это было бы удобно для озвучивания каких либо процессов.
Я в программировании полный ноль и профессия моя далека от этого, по этому я с надеждой буду глядеть в вашу сторону.
Надеюсь я написал так как хотел донести до вас.
Фон небольшой есть, но во время воспроизведения звуков его почти незаметно. Заметней когда трек тихий или когда пауза между фразами, например.
А можно узнать почему у вас на видео при воспроизведении треков нет ни каких шумов (фона) ?
Или это просто на видео так ? У меня при проигрывании трека какой то фон вместе с треком воспроизводится….
Да, можно — там уже все что нужно есть.
Кроме того там стоит преобразователь и можно смело запитывать карту от 5 вольт.
А возможно ли использование вот такого
Адаптера для ардуино
http://s.aliexpress.com/zaMF7bqm
Вопрос в том, что на адаптере уже использованы какие то резисторы.
Там уже использована стабилизация на 3,3 вольта для питания флешкарты.
Добрый день!
Судя по описанному — присутствует паразитная засветка индикаторных светодиодов — ее нужно устранить. Способ описан в статье «последовательно с зеленым светодиодом обычный диод – это уменьшит ток через светодиоды и паразитная засветка исчезнет.»
Если, все таки, мигает именно красный — тогда это проблема с SD-картой. Все таки попробуйте найти еще одну карту для пробы (у меня довольно много разных карт работают без проблем — так что шанс что вторая карта заработает очень велик).
По поводу переделки — SD-карта выбрана по причине простого интерфейса общения с ней. Любой другой флешноситель просто не сможет быть обслужен небольшими средствами микроконтроллера.
Доброго времени суток.
Посмотрел видео с вашим устройством и очень оно мне приглянулось. Собрал все необходимые детали и собрал устройство. Прежде чем собрать «говорилку» ознакомился со всей статьей и комментариями в обсуждении и собрав конечно же устройство у меня не заработало в связи с чем возникло куча вопросов:
Для начала опишу как ведет себя собранное мною собранное устройство:
Детали все идентичны параметрам схемы, питание подается с батарейки 3,7 вольта от Нокии.
При подключении питания красный и зеленный светодиод слабо светятся одновременно, через 3-4 секунды поочередно мигают и зеленый и красный светодиоды. В схеме так же как и у вас использован SD переходник и флешка от сотового телефона емкостью 1 гигабайт. При установке флешкарты в адаптер загорается в полный накал красный светодиод и через пару секунд обратно начинает мигать по очередно то красный то зеленый как на ЖД переезде. В вашем описании не сказано о том, что они могут мигать по очередно, но я полагаю, что это означает, что не найдена флешкарта. На Флешке записаны три файла из вашего архива и обозначены как у вас на схеме. Все как положено. И формат карты FAT и фалы лежат в корне флешки.
У вас было написано, что возможны танцы с бубном, и я так танцевал уже три дня.
У меня такой вопрос:
Возможно ли переделать данное устройство на какой нибудь другой носитель информации?
Флешка у меня китайская без надписи производителя и думается мне, что просто не поддерживается данным устройством. Найти качественную флешку такого маленького объемом не представляется возможным.
Есть ли другие варианты с носителями информации ???
Можно ли переделать данное устройство на обычную флешку ?
Заранее благодарен за ответ.
Во-первых, ножек у тини13 мало и полноценно подключать карту не получается. Во-вторых, SRAM-памяти мало, что тоже создает проблемы (читается карта блоками чаще всего по 512 байт).
Поэтому подключать к тини13 карту можно разве что чисто из академического интереса. В остальных случаях — оно того не стоит.
Здравствуйте!
Подскажите, пожалуйста, возможно ли подключить sd-карту к мк Attiny13 аналогичным способом? В проекте требуется только принять данные на одну ножку и сохранить их на карту, но сколько я проектов не встречала, они задействуют тини2313 или тини85, с чем это связано?
Заработало после того как в строке Print ; «A» добавил ; .
А так шли коды пустой строки и возврата каретки.
Сделал новую монтажку, учел в ней поставил сопротивления. И все опять повторяется. На момент управления по UART — моргает (кратковременно) красный. На карте памяти у меня 2 папки. Замыкая 5-ю ножку аттинки на землю — мелодия идет. Пробовал управлять через клавиатуру (опять-же по UART) — не идет. Дальше проверить. Буду пробовать и проверять с Компа через USB преобразователь. ( У меня подозрение на библиотеки)
Понял, буду с интересом следить — уж очень интересное и достаточно универсальное устройство получилось. Особенно когда можно в обыкновенную игрушку вдохнуть нечто необычное.
Спасибо огромное, что делитесь своими разработками!
Еще такого устройства еще не делал. Есть в планах на будущее (думаю реализовать независимое воспроизведение 2х треков сразу)
Уважаемый GetChiper, может подскажете какую прошивку к моду 087, или использование совместно мод 110 и мод 087 для реализации звука таким образом, чтобы по нажатию на одну кнопку включился звук движения детского паровоза и постоянно работал как основной, а другой кнопкой можно было включить звук гудка, но после гудка звук хода паровоза не отключался, а продолжался. Т.е. ход паровоза был как бы ведущий.
В линии данных нужно хотя-бы балластные резисторы поставить для уменьшения уравнивающих токов.
Я хотел сделать внуку будильник с выбором конкретных мелодий. 1-я МК Ам-16 с управлением Аттин по UART . В Протеусе по монитору команды на Аттинку выходят а в реальности она пишет ошибку. Программу для Ам-16 писал на Баскоме. Посылаю команды через USB преобразователь (от компьютора) — работает, проверяю через него прием от Тм16- норма. А в общем не работает. Думаю — может быть дело в питании — Ам16 питается 5В а Аттин 3,3В. Доэксперементировалья что пошел дым. Делаю новую монтажку. Где-то проскочило что возможно дело в библиотечке (для Баскома).
Конечно помогу.
Ну что-ж попробую перенести код самостоятельно. Надеюсь если что сможете помочь?
Планировал и в планах осталось, но прямо сейчас не займусь этим, так как много текущих проектов — я просто не успеваю.
Евгений, вы не так давно планировали написать код говорилки под ATmega48 и 88. Разрешите поинтересоваться скоро ли она появится или мне лучше не ждать и самому начать пытаться перенести код?
А то катастрофически не хватает места в памяти для своего алгоритма работы (я даже работу с UART снес, но не помогло, еще бы байтов 50…100 и было бы счастье) .
Так сходу подправить не получится -с новыми картами немного другой алгоритм работы.
Я буду обновлять говорилку и она изначально будет разрабатываться под новые карты.
А как можно сменить тип карты? Сейчас там SD, но найти SD уже чертовски сложно. Я всех друзей обзвонил, все магазины обошел — везде карты от 4гб и выше. Насколько помню, там адресация стала в страницах, а не в байтах. Т.е. адрес надо умножать на 64 чтоль. Что можно поправить, чтобы смогло переваривать хотя бы 4гб кароточки, а то от 2гб и ниже не найти нигде. Даже в Китае они от 500р штука и то хз заработает или нет.
понял , спасибо!
Он удерживает МК от сброса. Конечно и без него линия сброса МК подтянута к питанию, но так надежней.
для чего в схеме резистор на 10 кОм. между питанием и ресет ?
он в схеме обязателен?
CKDIV8 — фьюз отвечающий за уменьшение тактовой частоты МК в 8 раз
По умолчанию (с завода) тактовая частота делится на 8 (CKDIV8 равен 0) соответственно и в даташите так.
Для этого устройства делить частоту не нужно, соответственно этот фьюз нужно деактивировать (CKDIV8 установить в 1)
Скажите пожалуйста почему фьюзы crdiv8 в датащит=0 а у вас на картинке=1?
Это уже дело усилителя. Нужно искать подходящую схему.
да действительно, дело было в нём… теперь другая проблема — звук очень тихий, даже с усилителем…
Чуть позже сделаю такую модификацию
А может кто-нибудь помочь с модификацией? Что-то я совсем заблудился в алгоритмах.
Необходимо, чтобы номер трека принимался по UART (это есть, работает), но в случае, если трек уже воспроизводится, выдавался сигнал «стоп» и воспроизведение останавливалось.
Если есть писк — это возможно фьюзы неправильно прошиты. (особенно обратить внимание на CKDIV8)
Подскажите пожалуйста, собрал данное устройство. При включении горят оба светодиода. Через некоторое время из динамика раздаётся непрерывный писк и мигает красный светодиод. При вставке флешки то же самое. сначала горят оба потом писк и мигает красный.
Период задачи задается в сотых секунды (_Start_Task(0, 30) — 0,3 секунды).
В комментариях могут быть несоответствия (особенно это модов касается).