Как перепрошить музыкальную игрушку

Обновлено: 27.04.2024

Сегодня рассмотрим схему, представляющую собой дверной звонок (хотя применение может не ограничиваться этой сферой, просто основная задумка подразумевает именно дверной звонок). Но звонок не простой, а с возможностью проигрывать несколько различных аудио файлов в зависимости от нажатой кнопки. При этом одну из кнопок можно сделать тайной или спрятанной относительно основной кнопки дверного звонка. Идея такого финта заключается в том. что расположение спрятанной кнопки будут знать только друзья или родные и в случае необходимости попасть в дом будут нажимать именно эту кнопку, звонок проиграет аудио файл либо заведомо известный - выбранный для "своих", либо подаст голосовое оповещение как в данной статье, что пришли "свои". При этом основная кнопка звонка на двери спрятана не будет и любой почтальон или курьер или просто прохожий будет жать именно на нее. Раздастся звонок, оповещающий о том, что в дверь звонит незнакомец. Аналогично можно выбирать любой файл, удобный для Вас, либо просто использовать голосовой аудио файл о нахождении у двери незнакомца как в статье.

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

Схема электрическая принципиальная дверного звонка с тайной кнопкой представлена ниже:


Схема построена на микроконтроллере AVR ATmega8 и карте памяти micro SD. Микроконтроллер можно использовать в любом корпусе - DIP или TQFP. Для питания такой карты памяти необходимо напряжение 3,3 вольта. Основное питание схемы - 5 вольт. Источник напряжения может быть любой - например, можно применить небольшой силовой трансформатор и выпрямительные диоды, либо взять схему импульсного источника питания (да хоть просто взять старое зарядное устройство вольт на 7,5). Напряжение стабилизируется микросхемой L7805 до 5 вольт постоянного тока. Данную микросхему линейного стабилизатора напряжения можно заменить на отечественные аналоги, например КР142ЕН5А или заменить на LM317, слегка подправив включение в схему, либо опять же можно заменить импульсным стабилизатором напряжения на микросхемах MC34063 или LM2576. Это питание основной схемы. Для нормальной работы карты памяти напряжение 3,3 вольта получаем при помощи стабилитрона на 3,3 вольта. Резистор R5 ограничивает ток, протекающий через стабилитрон. Потребление карты памяти очень не большое, поэтому применение стабилитрона себя оправдывает и хорошо справляется с поставленной задачей. Конденсаторы в обвязке линейного стабилизатора и параметрического стабилизатора (на стабилитроне) фильтруют помехи, возможно возникающие в цепях питания этой схемы. Конденсаторы C2 и С4 в обвязке микроконтроллера выполняют ту же функцию. Карта памяти соединяется с микроконтроллером по интерфейсу SPI. но так как питание у них различное по напряжению, то необходимо применить преобразователь уровней. В схеме используется самый простой вариант на резисторах R5, R6, R7, R8, R10, R11. Попарно они образуют по большому счету делители напряжения сигналов от микроконтроллера.

Звуковой сигнал формируется ШИМ'ом в контроллере, однако уровень громкости не всегда годится, поэтому используется усилитель на двух транзисторах Т1 и Т2. L2 и C13 образуют высокочастотный фильтр, чтобы убрать помехи, конденсатор C12 ограничивает ток, проходящий через динамик. Динамик можно использовать любой, подходящий по размеру и мощности. Транзисторы усилителя можно также использовать любые в зависимости от мощности динамика - на маленькие динамики можно брать транзисторы малой мощности, динамики от нескольких ватт нужно использовать с транзисторами средней мощности или больше. Резистор R3, подключенный к выводу reset микроконтроллера предотвращает самопроизвольный перезапуск микроконтроллера в случаях наводок или других помех. Резисторы R1 и R2 ограничивают ток, проходящий через светодиоды в пределах нормального, они необходимы для предотвращения порчи светодиодов. Все резисторы в схеме постоянного сопротивления мощность 0,25 Вт. Номиналы резисторов можно варьировать в разумных пределах. Аналогично в разумных пределах можно заменять номиналы конденсаторов. Так как схема собиралась для демонстрации на макетной плате в качестве кнопок были использованы тактовые кнопки. Но в повседневной жизни для такого устройства их использовать не удобно скорее всего, поэтому одну из тактовых кнопок, выбранную для общего звонка для незнакомцев можно заменить на стандартную клавишу дверного звонка, а снизу ее или сбоку, в общем в удобном месте сделать небольшое отверстие и внутри основной кнопки звонка расположить небольшую тактовую кнопку, слегка выпирающую наружу. При этом ее расположение должно учитывать удобность доступа для "своих".

Вот так готовая схема (за исключением применения стандартной клавиши дверного звонка) выглядит на макетной плате:



Работает данная схема следующим образом. Само собой нужно подать напряжение питания на схему. После внутрисхемной прошивки микроконтроллера устройство не нуждается в настройке и наладке. Нужно записать на карту памяти необходимые аудио файлы и при нажатии одной из четырех кнопок прозвучит одна из четырех мелодий. При нажатии кнопок S3 и S4 во время проигрывания аудио файла будут загораться светодиоды LED1 или LED2 в зависимости от нажатой кнопки. Кнопки S1 и S2 не дублируются светодиодами. Данный функционал можно использовать в любых своих целях, например, световая индикация звонка в дверь или что-то другое. Динамик применяется любой, подходящий для Вас.

Чтобы верно прошить микроконтроллер, необходимо знать конфигурацию фьюз битов (микроконтроллер работает от внутреннего генератора на 8 МГц):


Микроконтроллер программировался в AVR Studio программатором AVRdoper (STK500) (перепрошивается USBasp соответствующей прошивкой и получаем AVRdoper).

Также немало важно знать конфигурацию параметров аудио файлов данного устройства: файлы аудио с разрешением *.WAV, параметры аудио - 8 bit, mono, 44 khz. Названия файлов должны быть такими: "1zv.WAV", "2zv.WAV" , "3zv.WAV" , "4zv.WAV" для каждой из кнопок. Первый аудио файл для четвертой кнопки, второй аудио файл для третьей кнопки и так далее. Немного нумерация наоборот, но думаю, это не проблема, просто нужно это знать. О методах создания собственных голосовых аудио файлов можно узнать в этой статье.

Напоследок привожу рисунок конфигурации выводов флеш карт с адаптером и без него:


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


На какой-то из "чёрных" пятниц была куплена на Али такая машинка для дочки.


И всё бы ничего: и ездит и светится и поёт громко сэмпл секунд 15 по кругу. Но на китайском с китайскими ритмами, которые очень хреново ложились на мою условно славянскую психику.
Было принято решение музыку заменить.
Поскольку штатной процедуры я не увидел начал искать миниатюрный проигрыватель и нашёл вот этот. Читает WAV с MicroCD, питается 3В (для карты microSD), что получается при подключении через диод с литиевых аккумуляторов машинки.
Конвертор с c MP3 в WAV — и машинка поёт детские песенки.


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


С ним она орала весьма внушительно, пришлось ставить переменный резистор на выходной сигнал плеера, чтобы регулировать громкость звука и поберечь ушки жены от воплей "чунга-чанга и дважды два — четыре" ))
В результате такой переделки выявились пара косячков: несколько уменьшилась дистанция работы радиоуправления и периодически (при работе с пультом) просаживается напряжение и плеер перезапускается. Пока не напрягает, т.к. пультом дочка пока почти не пользуется, а вот танцует очень много: сейчас это её любимая игрушка, которая в течение дня почти на 100% или играет или заряжается)

З.Ы. заметил, что куклы дочку мало интересуют, машинки, всё, что разбирается — самое интересное. Как только дотянулась до стола с отверткой, побежала тыкать ей в розетку. Но реакция родителей и заглушки помешали эксперименту.
Вот у всех девочки как девочки, а эта в кого такая… )))))
Люблю её)

найти немогу.
В самой игрушке коробочка на которую нажимаешь и она поет, а вот как записать туда свою мелодию?

Как записывать голосовое послание в домашних условиях?

Для того, чтобы создать голосовые приглашения, вы можете выбрать профессионального диктора или же записать его своими голосами. Преимущества записи своими голосами очевидны:
Вы, лично, обращаетесь к человеку, приглашая его на торжественное мероприятие.
Ваш голос останется прежним, даже через 50 лет спустя.

Вы можете подъехать в нашу звукозаписывающую студию в Санкт-Петербурге, где на качественном оборудовании, в сопровождении специалиста НЛП, вы войдете в состояние восторга, в котором и создадите свою “голосовую бомбу”.

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

Весь процесс, состоит из 2х основных частей:
Настройка оборудования для записи.
Самонастройка и запись.

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

Самонастройка: Для того, чтобы человеку передалось ВАУ, т. е. ваши радостные чувства и эмоции, вы должны ощущать их сами – во время записи! Не спешите. Сначала подготовьте текст, Текст должен состоять из 2 х частей, основной, где “приглашаем вас … туда-то и тогда-то” и имена, например “Здравствуйте Иван Иванович” или “Дорогая наша Марина Борисовна” и т. д . Подготовьте тексты на бумаге, несколько раз прочтите, желательно с улыбкой и перед зеркалом. Когда поймете, что само содержание вам нравиться, звучит гладко и красиво – приступайте к записи.

Если у вас или у вашего будущего партнёра по жизни плохое воображение и он/она не может представить те чувства и то состояние, которое будет у вас во время свадьбы, используйте другой приём. Для этого, вам нужно не фантазировать, а вспомнить своё прошлое, а именно самый счастливый момент вашей жизни. Когда, где и как это была, а главное – что вы чувствовали в этот момент? Это может быть напряжение, потепление, мурашки, холод и др. физические ощущения в вашем теле. Именно их и нужно вам воспроизвести.

9abb5dec136b406c86b049d68310bcb7.jpg

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

cfc48a1f9f234cfcb1a55ad9c92b72dd.jpg

Разобрав её не увидел никаких резисторов и транзисторов и тп. Только маленькая выпуклая сфера:
пример

Расскажите, что это, как работает и как они их программируют миллионами штук?

  • Вопрос задан более трёх лет назад
  • 2654 просмотра

LeEnot

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

Все верно, кроме JTAG'а. В такие устройства чаще всего ставят микроконтроллеры с масочной памятью программы, которая формируется/записывается непосредственно в процессе производства чипа.

LeEnot

MaxDukov

это "интегральная схема" - по сути недо-микросхема. все транзисторы/резисторы/конденсаторы там, под этим черным "куполом". Программируются - врядли. скорее уж аналоговая схема.

fleshtorment

а ничего что существуют контроллеры одноразового программирования? их цена копеечная, если учесть что АВР производятся в китае, и производителю ничего не стоит заказать на заводе партию только кристаллов с защитым кодом.

MaxDukov

Tony AJ: существуют. И что? Что это доказывает или опровергает? если такое моргающее барахло производится милионными партиями и аналоговая интегралка будет на 0,5 копейки дешевле - поставят интегралку. Если микроконтроллер - поставят МК. там может быть все, что угодно.
Однако соглашусь - версия с МК более вероятна, более универсальное решение.

fleshtorment

Макс: стоимость OTP-контроллера типа тини13 настолько мизерна. тем более в бескорпусном исполнении, что смысл лепить аналоговую схему не имеет вообще.

MaxDukov

Tony AJ: пруф? сколько точно стоит контроллер - и сколько схема? При объеме заказа в 1 млн? а в 10? А если схема разработана 10-15 лет назад, под нее есть маска и древний-древний станок в гараже?

stasuss

Tony AJ: Макс: ахаха жжоте))) спорить о полете китайского инженера бесполезно))) там реально может быть все что угодно))) и даже разводка под корпусную микросхему не намекает на микроконтроллер, потому что это может быть даже какая то типовая плата, которая используецо в целом ряде девайсов)

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


Итак, есть некая портативная колонка (в данном случае DEXP Phill), главный ее недостаток в том, что производитель воткнул в нее орущее на максимальной громкости голосовое меню, которое невозможно отключить либо сделать тише. Что-же разберем посмотрим что внутри.

Динамики и аккумулятор:


Эти две микросхемы — усилители мощности звука (УМЗЧ):


Здесь большая, многоногая микросхема — собственно плеер, внизу контроллер заряда аккумулятора и посередине SPI-flash память 25q40ATIG на 512 кБ (4 мБит):


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

Микросхему можно не припаивать а просто зажать:


Почему именно CH341A? 1) Он читает 25 серию флэшек, 2) стоит ~2USD.


Итак считав данные мы получили бинарный (bin) файл размером 512 кБ в котором на первый взгляд ничего не понятно:


Если кто не знает, то здесь показаны: слева — адреса ячеек памяти, по середине — байты (данные) представленные в 16-ричном исчислении, где максимальное значение FF, или 255 в 10-ричном. Справа редактор подставляет символы ACSII, которые иногда здорово помогают!

Если открыть в hex редакторе любой mp3 файл, а до кучи ещё и погуглить на тему устройства ID3 тэгов становиться понятно где собака зарыта где и как можно искать эти самые mp3 файлы голосового меню.


Все mp3 файлы имеющие ID3v2 начинаются с последовательности байт 49 44, поскольку ID3v2 пишется в начале файла — это первый ключ. ID3v1 — пишется в конце — это второй ключ. Мне повезло, то ли благодаря избытку памяти, то ли лени программисты не стали удалять ID3 тэги и байт за байтом я выудил нужные мне файлы. Поясняю: находим начальные и конечные байты, выделяем, копируем в новый hex файл и сохраняем с расширением mp3:


С удивлением обнаружил в прошивке множество других голосовых файлов. Например, озвучены цифры, правда на английском, позже понял для чего они нужны: у колонки есть bluetooth и когда она подключена к телефону во время вызова проговаривает входящий номер. Кривая локализация. Кстати, вот с какой чудовищной динамической компрессией выполнена озвучка:


Догадливый читатель, наверное уже понял что делать дальше, есть два пути: изменить громкость у оригинальных файлов, сделать что то типа такого:


Или заменить на что то более достойное. Я подобрал в бесплатных музыкальных банках новые звуки. Тут главное подогнать под размер заменяемого файла: меньше можно, больше — нет. Хорошо уменьшает размер ресемплирование (например с 44100 -> 22050) и собственно битрейт, но на компромисс идет качество. Далее выполняем всё в обратной последовательности: открываем новые mp3 файлы в hex редакторе копируем их на нужные места в прошивку, сохраняем прошивку, записываем в микросхему, припаиваем микросхему на место, собираем колонку. Profit.

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

Заключение

Важное замечание: конкретно в моем случае программатор CH341A смог только прочитать 25Q40ATIG, записать не смог т.к. ее нет в списке поддерживаемых. Поэтому пришлось купить аналог: 25Q40BVSIG с которым всё получилось.

Читайте также: