Форум РадиоКот https://radiokot.ru/forum/ |
|
DF Player mini (MP3-TF-16P)мои грабли https://radiokot.ru/forum/viewtopic.php?f=61&t=134096 |
Страница 4 из 5 |
Автор: | Tirexi [ Вт янв 07, 2020 11:25:26 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Соник, Спасибо тебе, у меня та же самая проблема была, уже голову сломал, а после того как добавил больше 10 файлов на карту SD, все кнопки управления заработали. Вот китайцы |
Автор: | Соник [ Пн июн 01, 2020 14:27:34 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Подскажите, как сделать чтобы DF Player mini сразу при подаче питания сам начал проигрывать аудиофайл? Допустимо ли вывод 12 или 13 накоротко соединить с общим проводом и оставить так? Спойлер |
Автор: | pcb432 [ Вт июн 02, 2020 09:27:30 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
А попробовать? Ведь мс есть у вас и к тому же вряд ли кто кроме разработчиков энает процедуру инициализации мс после подачи питания. |
Автор: | Соник [ Вт июн 02, 2020 23:01:39 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Работает, но я не знаю, допустима ли такая схемотехника... |
Автор: | Radioalex [ Пт июл 31, 2020 10:50:21 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Всем доброго дня. Прошу помощи разобраться с проблемой. Подключил сей модуль через переходник UART-USB к компьютеру (порты RX, TX через резисторы на 1 кОм как в даташите). Использую программу Terminal v1.9. Скорость 9600, названия файлов также как даташите. При включении mp3 модуля терминал принимает команду инициализации: 7E FF 06 3F 00 00 02 FE BA EF, т.е. инициализация произошла успешно и модуль указывает что подключена TF карта. Если замкнуть 9 пин с 10, то файлы проигрываются, т.е. модуль вроде как исправлен. Пытаюсь посылать команды по UART (без контроля суммы), например: 7E FF 06 03 00 00 01 EF - воспроизвести трек №2; 7E FF 06 0D 00 00 00 EF - просто воспроизведение; 7E FF 06 01 00 00 00 EF - воспроизвести следующий трек в ответ всегда модуль шлет 7E FF 06 40 00 00 03 FE B8 EF и ничего не происходит. Судя по даташиту код 40 означает ошибка. Собственно вопрос - что я не так делаю? почему модуль не запускается? |
Автор: | MOHCTEP [ Ср авг 05, 2020 03:00:22 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Radioalex, "$7E$FF$06$0D$00$00$00$EF" так попробуйте послать, без кавычек естественно. У меня тоже непонятка с этим плеером. Эта цепочка, посланная непосредственно с Terminal v1.9, нормально отрабатывает. Точно такая же последовательность с контроллера, на том же юарте, с той же скоростью, никакого воздействия не оказывает. Терминал показывает, что все байты верные. |
Автор: | Radioalex [ Сб авг 08, 2020 09:05:09 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Спасибо МОНСТЕР за вариант. Именно в таком формате я и отправлял данные, но все оказалось сложнее. После трех дней мучений выяснилось следующее (может кому то пригодится): на моих модулях установлен чип MH2024k-24SS, хотя и подзатерта надпись. На иностранных форумах многие жаловались на эти чипы. На оригинальных модулях стоит чип YX5300-24SS и этот чип реагирует на все команды и работает без каких либо нареканий. Модули с чипом MH2024k-24SS воспринимают ТОЛЬКО ПОЛНЫЕ КОМАНДЫ, т.е. с контрольными суммами, например 7E FF 06 01 00 00 00 FE FA EF. Сокращенные команды он не понимает (по крайней мере вся моя партия - 10 шт.) и выдает сообщение об ошибке кадра. Так что не наступайте на мои грабли. Всем удачи... |
Автор: | MOHCTEP [ Чт авг 27, 2020 01:18:31 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся. 1 Плееру абсолютно монопенисуально, какие номера вы присвоите файлам. Он считает файлы в порядке их записи на носитель. Так что, если вы кинете музыку на карточку сразу группой, то вполне возможно, что "025.mp3" запишется перед "001.mp3" и при указании "воспроизвести первый файл", проиграется "025.mp3". 2 Зациклить воспроизведение конкретного файла, напрямую, командой 0x08, возможно, только если файл расположен либо в корне, либо в папке "mp3\". В других папках ("01...99") так просто не получится, из-за отсутствия подходящей команды. Однако с бубном, все же можно. Для этого нужно запустить воспроизведение нужного файла, в нужной папке. Затем, когда файл уже гарантировано "поет", командой 0x19 с "0" аргументом, можно зациклить его воспроизведение. |
Автор: | jcxz [ Ср сен 02, 2020 16:11:14 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся. А зачем она нужна? Непонятно.... MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок.
|
Автор: | Novice user [ Ср сен 02, 2020 17:50:41 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Чуток подразобрался с плеером. Монолог получился, а вот диалог - нет. Так и не удалось добиться от этой чудо-железки адекватных ответов на запросы. Некоторые наблюдения выложу, авось кому-то пригодятся. А зачем она нужна? Непонятно.... MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок.Можно подробнее-как проигрывать МК MP3 ? |
Автор: | MOHCTEP [ Чт сен 03, 2020 01:54:08 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
jcxz писал(а): А зачем она нужна? Мне понадобилась для будильника. Причем часы и будильник, соответственно, в проекте - второстепенны. Распределение ресурсов - соответствующее.jcxz писал(а): Можно подробнее-как проигрывать МК MP3 ? Вот и мне интересно... К тому жеjcxz писал(а): силами самого МК без всяких дополнительных железок.
|
Автор: | jcxz [ Чт сен 03, 2020 11:27:32 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Вот и мне интересно... К тому же А что такого сложного? Можно взять любой готовый программный кодек и декодировать MP3 с помощью него.jcxz писал(а): силами самого МК без всяких дополнительных железок. Например: Helix кодек. Он умеет не только MPEG, но и AAC-формат умеет декодировать. Доступен как в си-исходниках, так и оптимизированный на ассемблере под разные платформы (в том числе ARM). На Cortex-M с тактовой 130 МГц у меня например декодирование MP3-потока 320Кб/с занимает всего около ~20% производительности CPU - несущественная величина. AAC+ на 128Кб/сек требует раза в 2 больше ресурсов. Но ведь Ваш чип вообще AAC не умеет? PS: Хотя для будильника с батарейным питанием это может и не очень подходит. Но надо посмотреть. Если например на STM32L4xx - серии, да играть нужно только иногда - то может нормально будет. PPS: Вроде кроме Helix есть ещё и другие кодеки с открытым кодом, но я их не смотрел. |
Автор: | Novice user [ Чт сен 03, 2020 12:55:50 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Давайте кокретный пример,написать как вы ("взять аттини13,записать mp3-декодер и все") любой смогет |
Автор: | MOHCTEP [ Чт сен 03, 2020 13:03:11 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
jcxz, Верю. jcxz писал(а): На Cortex-M с тактовой 130 МГц можно наверное и видео кодек вставить и все запоет и заиграет. А здесь АТМега, которая на питании в 3.3 вольта и 12 мГц кварц не тянет, максимум 8.
|
Автор: | Novice user [ Сб сен 05, 2020 18:57:37 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Давайте кокретный пример,написать как вы ("взять аттини13,записать mp3-декодер и все") любой смогет я был прав-после моего поста супермен jcxz с кодеком для авр слился в унитаз вместе со своими арм ))) хоть бы чего путного написал-гавкнул и слился... |
Автор: | Prosperous [ Сб окт 03, 2020 21:57:08 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Здравствуйте. Подниму тему. Решил я наладить обратную связь с модулем. Она есть, но какая-то кривая. Грешу на быдлокод. Вопросов два. 1. Работает АЦП 1 канал. Прием по UART долгий (вывод на дисплей) секунд 10. Если работу АЦП закомментировать - UART работает мгновенно. Как оптимизировать? 2. После запуска трека на модуле отправляю команду повтора. Не до конца понимаю как после старта проверить ответ от модуля, и если он положительный - направить команду повтора трека. Код для atmega328P. Все лишнее убрал. Буду рад любой помощи. СпойлерКод: #define F_CPU 16000000UL #define StartConvAdc() ADCSRA |= (1<<ADSC) #include <util/delay.h> #include <stdlib.h> #include <avr/interrupt.h> unsigned char TX_Counter = 0; unsigned char buffer_data[8] = {0x7e, 0xff, 0x06, 0x00, 0x01, 0x00, 0x00, 0xef}; // Sending Buffer unsigned char RX_Buffer[8]; unsigned char RX_Counter = 0; unsigned char RX_Bait = 0; unsigned char flag_EN = 0; unsigned char flag_EN_old = 0; unsigned char value_cp = 0; unsigned char flag=0; unsigned char key=1; unsigned char key1=1; unsigned char key_ok = 0; unsigned char USART_Receive(void) { while (!(UCSR0A & (1 << RXC0))) ; return UDR0; } ISR(USART_RX_vect) { if (RX_Bait<8){ RX_Buffer[RX_Counter] = USART_Receive(); RX_Counter++; if (RX_Counter == 8) RX_Counter = 0; RX_Bait++; } } void current(void) { //инициализация переменных for (int x=0; x<100;x++) { StartConvAdc(); while(ADIF==0); value=ADCH; summ = summ + value; _delay_ms(3); } value_cp = summ/100; vout=value_cp*0.015039; //To determine output voltage from sensor vin=fabs((2.5-vout)/0.185); //To determine real current // вывод на дисплей } void Packet_Analyze() { unsigned char code; unsigned char databyte; code = RX_Buffer[3]; databyte = RX_Buffer[6]; // вывод на дисплей USART_FlushRxBuf(); } void USART_FlushRxBuf(void) { unsigned char saveSreg = SREG; cli(); RX_Counter = 0; RX_Bait = 0; SREG = saveSreg; } void main(void) { usart_init(); //инициализируем АЦП //ион - напряжение питания, выравнивание влево, нулевой канал ADMUX = (0<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0); //вкл. ацп, режим одиночного преобразования, разрешение прерывания, частота преобр. = FCPU/128 ADCSRA = (1<<ADEN)|(0<<ADSC)|(0<<ADATE)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); sei(); I2C_Init();//инициализируем TWI LCD_ini(); //инициализируем дисплей clearlcd();//очистим дисплей PORTD = 0b00000100; DDRD = 0x01; mp3_status(MODULE_ONLINE); // отправляем запрос на получение статуса устройства while(1) { current(); //АЦП key = ~(PIND & _BV(2)); _delay_ms(20); key1 = ~(PIND & _BV(2)); if (key == 0xff && key1 == 0xff){ flag_EN = 1; if (flag_EN!=flag_EN_old) { flag_EN_old = flag_EN; key_on = 1; } } else{ flag_EN = 0; flag_EN_old = 0; key_on=0; } if (key_on == 1){ flag = !flag; if (flag){ mp3_play(MODULE_PLAY); //включение трека //здесь должна быть проверка, если модуль прислал положительный ответ - направляем команду повтора mp3_repeat(MODULE_REPEAT); //повтор трека } else mp3_stop(MODULE_STOP); //останавливаем трек } if (RX_Bait ==8) //анализируем принятый пакет от модуля Packet_Analyze(); } } |
Автор: | Александр МК [ Ср фев 08, 2023 22:13:42 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Решил проверить, как модуль запустить. Подал на модуль случайно +5,5 В. Светодиод слегка моргнул и погас. Подключал без Ардуины. Труп? Нашел схему модуля. Светодиод светится только когда идет сигнал? |
Автор: | MOHCTEP [ Ср фев 08, 2023 23:28:53 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Александр МК писал(а): Светодиод светится только когда идет сигнал? Да. Ну и кратковременная подача 5.5 вольт, думаю не повредила модуль.
|
Автор: | Александр МК [ Чт фев 09, 2023 20:57:26 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
Во всяком случае, SD карта не повредилась - все файлы на месте и читаются. Кратковременно - это минута, в моем случае. В выходные соберу с ардуиной, там посмотрим... |
Автор: | Jack_A [ Пт фев 10, 2023 12:19:04 ] |
Заголовок сообщения: | Re: DF Player mini (MP3-TF-16P)мои грабли |
MP3 можно и программно декодировать и проиграть силами самого МК без всяких дополнительных железок. "В принципе человека можно передать по проводам. Но текнические трудности, возникающие на этом пути, пока превышают наши возможности". © Юморист сказал , имея в виду нашого гуру. |
Страница 4 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |