Arduino MP3 shield на базе VS1053B

Danila
Offline
Зарегистрирован: 16.05.2013

Доброго времени суток ! 

Ктонибудь работал с подобным шилдом ? 

 

http://www.geeetech.com/wiki/index.php/Arduino_MP3_shield_board_with_TF_card

Danila
Offline
Зарегистрирован: 16.05.2013

Не получается загрузить скетч, ругается на библиотеки. Кто-нибудь из гуру может попробовать скачать и скомпилировать ? 

Danila
Offline
Зарегистрирован: 16.05.2013

Вот например здесь

http://garagelab.com/profiles/blogs/tutorial-mp3-player-shield-with-arduino

они предлагают скачать SDFat library, затем говорят найдите файл Sd2PinMap.h и измените его. А этого файла там просто нет :( 

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

Danila пишет:

Вот например здесь

http://garagelab.com/profiles/blogs/tutorial-mp3-player-shield-with-arduino

они предлагают скачать SDFat library, затем говорят найдите файл Sd2PinMap.h и измените его. А этого файла там просто нет :( 

Зато этот файл есть здесь https://www.google.com/search?hl=ru&q=Sd2PinMap.h

Danila
Offline
Зарегистрирован: 16.05.2013

О, спасибо. 
 

ВЫ не подскажете, что значат эти ошибки ? 
 

sketch_sep18a:56: error: 'Sd2Card' does not name a type
sketch_sep18a:57: error: 'SdVolume' does not name a type
sketch_sep18a:58: error: 'SdFile' does not name a type
sketch_sep18a:59: error: 'SdFile' does not name a type
sketch_sep18a.ino: In function 'void setup()':
Danila
Offline
Зарегистрирован: 16.05.2013

Апдейт.

 

Free RAM = 6667 Should be a base line of 1040, on ATmega328 when using INTx
Can't access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X1,0X0
 
 
 
сейчас вот такие ошибки, не пойму отчего они, кто-нибудь в курсе ? 
Клапауций
Offline
Зарегистрирован: 10.02.2013
Danila
Offline
Зарегистрирован: 16.05.2013

У меня все заработало. Если кто столкнулся с проблемамипри использовании этого шилда, пишите мне, я расскажу.

axill
Offline
Зарегистрирован: 05.09.2011

Danila пишет:

У меня все заработало. Если кто столкнулся с проблемамипри использовании этого шилда, пишите мне, я расскажу.

опишите опыт здесь - что ставили, какие проблемы как решили и пример скетча.

буду признателен, сам планирую запустить этот шилд

Danila
Offline
Зарегистрирован: 16.05.2013

Если вы используете ардуину мегу, то вам придется дополнительно соединять MISO,MOSI,SS и SCK с соответствующими пинами на меге.

МП3 шилд - ардуина мега

SS (9) - (53) 

MOSI (11) - (51)

MISO (12) - (50)

SCK (13) - (52)

А так же, в сборках библиотек не достает библиотеки  Sd2PinMap.h, я её отдельно копировал (https://code.google.com/p/mosquino/downloads/detail?name=sdfatlib-mosquino-20111205.zip&can=2&q=   здесь она есть). Так же в ней надо проверить

#if defined(__AVR_ATmega1280__)\
|| defined(__AVR_ATmega2560__)
// Mega
 
// Two Wire (aka I2C) ports
uint8_t const SDA_PIN = 20;  // D1
uint8_t const SCL_PIN = 21;  // D0
 
// SPI port
uint8_t const SS_PIN = 53;    // B0
uint8_t const MOSI_PIN = 51;  // B2
uint8_t const MISO_PIN = 50;  // B3

uint8_t const SCK_PIN = 52;   // B1

 

что пины указаны правильно.

Вроде все. Скоро буду пробовать этот шилд с Нано.

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

вот у меня такая же плата и я её так же не могу завести((( только я не понял как в сообщении #6 избавится от этих проблем. Автор или же гуру не могли бы разъяснить новичку?

Maksim_k
Offline
Зарегистрирован: 11.12.2015

Arduino Mega + VS1053

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

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015
Maksim_k
Offline
Зарегистрирован: 11.12.2015

Спасибо, данная библиотека у меня есть... Вопрос именно с Мегой. Что сделал: 

"Если вы используете ардуину мегу, то вам придется дополнительно соединять MISO,MOSI,SS и SCK с соответствующими пинами на меге.

МП3 шилд - ардуина мега

SS (9) - (53) 

MOSI (11) - (51)

MISO (12) - (50)

SCK (13) - (52)

Скопировал в папку библиотеки файл  Sd2PinMap.h, убедился: 

#if defined(__AVR_ATmega1280__)\
|| defined(__AVR_ATmega2560__)
// Mega
 
// Two Wire (aka I2C) ports
uint8_t const SDA_PIN = 20;  // D1
uint8_t const SCL_PIN = 21;  // D0
 
// SPI port
uint8_t const SS_PIN = 53;    // B0
uint8_t const MOSI_PIN = 51;  // B2
uint8_t const MISO_PIN = 50;  // B3

uint8_t const SCK_PIN = 52;   // B1

 

Перемычки на  53 51 50 52 поставил. Вопрос надо ли ставить перемычки на выходы 20 21 и если надо то скаких пинов платы?

Просто при запуске на контроллере скетча Файл --> образцы --> SFEMP3 --> File Player в порт выдет ошибку:

F_CPU = 16000000
Free RAM = 7180 Should be a base line of 1017, on ATmega328 when using INTx
Can't access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X1,0X0
 
Карта 16 Гб отформатирована под FAT32 размер кластера стандартный
Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

на пины 20, 21 перемычек не надо. В библиотеке есть папка plugins скопируйте содержимое этой папки на флешку.

Maksim_k
Offline
Зарегистрирован: 11.12.2015

Как мне написать Вам в личку?

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

не в курсе) 

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

Скопировали файлы в корень флешки? такую же ошибку выдает? 

Maksim_k
Offline
Зарегистрирован: 11.12.2015

Все тоже самое(

Maksim_k
Offline
Зарегистрирован: 11.12.2015

Сейчас ошибка несколько иная

F_CPU = 16000000
Free RAM = 7180 Should be a base line of 1017, on ATmega328 when using INTx
Can't access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X1,0XFF
 
Может я как то не так плату подключил?
 
gurf
Offline
Зарегистрирован: 30.11.2015

А у меня вообще не получается эту библиотеку подключить. Скачиваю в виде zip файла, при попытке подключить выдает: "Выбранная папка/zip файл не содержит корректных библиотек". Использую версию IDE 1.6.6 (Windows 7). Что делать то?

 
 
 
  
 
gurf
Offline
Зарегистрирован: 30.11.2015

А что, через пункт меню Скетч-Подключить библиотеку-Добавить ZIP-библиотеку - это не правильный способ? Со многими другими библиотеками проблем при таком подключении не было!

Клапауций 123
Offline
Зарегистрирован: 06.12.2015

gurf пишет:

А что, через пункт меню Скетч-Подключить библиотеку-Добавить ZIP-библиотеку - это не правильный способ? Со многими другими библиотеками проблем при таком подключении не было!

ок. если не было, то приношу свои извинения - никогда таким не пользовался, ибо нет в этом смысла.

смотри, каких годов библиотека - соответственно версию ИДЕ скачай, потому как в новых новые несовместимости добавлены.

а, библиотеку распакуй и проверь

gurf
Offline
Зарегистрирован: 30.11.2015

Ок, проверю с подходящей версии IDE. При попытке распаковать и потом скомпилировать Demo скеч моя IDE выдает ошибку компиляции: C:\Users\User\Documents\Arduino\libraries\Sparkfun-MP3-Player-Shield-Arduino-Library-master\SFEMP3Shield\Examples\MP3Shield_Library_Demo\MP3Shield_Library_Demo.ino:24:19: fatal error: SdFat.h: No such file or directory

 #include <SdFat.h>

Как будто в библиотеке чего-то не хватает, скорее всего SdFat.h ...
 
  
 
gurf
Offline
Зарегистрирован: 30.11.2015

Клапауций 123 пишет:

 - никогда таким не пользовался, ибо нет в этом смысла.

-Смысл пользования этим в том, что одновременно библиотека и распаковывается и закидывается туда, куда надо-отдельно распаковывать не нужно

Клапауций 123
Offline
Зарегистрирован: 06.12.2015

gurf пишет:

-Смысл пользования этим в том, что одновременно библиотека и распаковывается и закидывается туда, куда надо-отдельно распаковывать не нужно

ну, да - но этот смысл разбивается о реальность

gurf пишет:

Как будто в библиотеке чего-то не хватает, скорее всего SdFat.h ...

ты не желаешь распаковать архив в нужно место ручками и посмотреть, если ли там SdFat.h - зачем?, если можно тратить бесконечные часы своего свободного времени в приятной беседе со мной.

gurf
Offline
Зарегистрирован: 30.11.2015

Я ручками и распаковал - на автомате то ide ругалась. Посмотрел - файла нету

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

gurf пишет:

А что, через пункт меню Скетч-Подключить библиотеку-Добавить ZIP-библиотеку - это не правильный способ? Со многими другими библиотеками проблем при таком подключении не было!

Ты внутрь этого архива смотрел? Там может быть архив в архиве или структура папок/файлов не правильная. Для подключения библиотеки таким способом это очень важно. В архиве даже может быть несколько библиотек.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

gurf пишет:

выдает ошибку компиляции: C:\Users\User\Documents\Arduino\libraries\Sparkfun-MP3-Player-Shield-Arduino-Library-master\SFEMP3Shield\Examples\MP3Shield_Library_Demo\MP3Shield_Library_Demo.ino:24:19: fatal error: SdFat.h: No such file or directory

То, о чём я говорил - неправильная структура папок/файлов. Там лишняя папка. Путь должен быть такой: C:\Users\User\Documents\Arduino\libraries\SFEMP3Shield\Examples\

Папка Examples и файлы рядом с ней всегда должны размещаться в корневой папке библиотеки.

Там же в архиве есть ещё одна библиотека с нужными файлами - SdFat. Соответственно путь C:\Users\User\Documents\Arduino\libraries\SdFat\Examples\

gurf
Offline
Зарегистрирован: 30.11.2015

Jeka_M пишет:
Папка Examples и файлы рядом с ней всегда должны размещаться в корневой папке библиотеки.

Jeka_M, спасибо тебе большое человеческое! Сделал, как ты сказал - у меня все сразу заработало! Слушай, как можно с тобой в личке связаться?

Maksim_k
Offline
Зарегистрирован: 11.12.2015

Итог: инструкция как запустить Arduino MP3 shield на базе VS1053B на Arduino Mega 2560.

1. Скачиваем библиотеку Sparkfun-MP3-Player-Shield-Arduino-Library-master.zip (https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library) и распаковываем ее. Несколько слов по поводу распаковки. Любым архиватором распаковываем архив и копируем две папки SdFat и SFEMP3Shield в папку ...\Arduino\libraries\...
2. Отгибаем у Arduino MP3 shield ножки 11,12,13 и устанавливаем плату на Arduino Mega 2560
3. Ставим перемычки:
Mega's 51 to the MP3's D11 for MOSI 
Mega's 50 to the MP3's D12 for MISO 
Mega's 52 to the MP3's D13 for SCK 
ВНИМАНИЕ: НОЖКУ D9 for SS НЕ ТРОГАЕМ!!!
Подробнее можно почитать тут: 
http://mpflaga.github.io/Sparkfun-MP3-Player-Shield-Arduino-Library/_s_f_e_m_p3_shield_config_8h.html
4. Форматируем SD карту в формате FAT16 или FAT32 (в зависимости от размера карты). Лучше всего карту не более 8 Гб.
5. В скачанном архиве 
Sparkfun-MP3-Player-Shield имеется папка plugins копируем из нее все файлы на отформатированную SD
6. Загрузить на карту MP3 c именем файлов в формате track001 - track009.mp3
7. Запускаем среду разработки Arduino далее 
“Файл” > “Примеры” > “SFEMP3Shield” > “Examples” > “FilePlayer”.
8. Постигаем дзен

 

 
lysanev
Offline
Зарегистрирован: 26.03.2016

Всё отлично! Всё работает!

Но, как обычно, не всё так просто: подключил ещё экран вот такой: http://arduinolearning.com/learning/basics/arduino-tm1638-module.php и получаю или хвост в лужу или лапу )))

Т.е. если закомментировать строки инициализации sd карты и самого mp плеера, то экран работает!

if(!sd.begin(SD_SEL, SPI_FULL_SPEED)) sd.initErrorHalt();

if(!sd.chdir("/")) sd.errorHalt("sd.chdir");

MP3player.begin();

Пробывал менять пины для экрана (в том числе использовать 11,12,13, которые не используются для звука), не помогает, а хочется и экран и звук ))))

Правильно ли я понимаю, что и то и то использует SPI? как правильно подключить всё вместе ?

diger67
Offline
Зарегистрирован: 25.07.2015

​Iysanev, судя по описанной проблеме, похоже что есть проблема перехода шины SPI SD в Z состояние. Т.е. выводы SD еще активны, а программа пытается обратиться к LCD, в таком случае другое устрйство не распознает импульс старт передачи.

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

SPI на несколько устройств работает так: MOSI, MISO, SCK - одни и те же пины для всех устройств, SS пин для каждого устройства свой. Одновременно это работать не будет. SPI шина одновременно общается только с одним устройством. Как минимум я так понял из всей документации что прочёл. У меня лично всегда этот МП3 шилд на отдельной ардуине, экран, если он нужен - на другой, сейчас буду подключать шилд easyVR v3, тоже по SPI общается, тоже буду садить на отдельную ардуину. Общаюсь между ардуинами по сериал соединению.

lysanev
Offline
Зарегистрирован: 26.03.2016

Да, но МП3 шилд цепляется действительно через SPI шину (50-51-52 на mega), а индикатор я цепляю к совершенно другим выводам

т.е. фактически уже уже не SPI ?

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

нет, не SPI, я посмотрел на экран tm-1638, он не использует SPI, только в дефолтном скетче на МП3 шилд используется 9 пин для SS сигнала, посмотрите чтобы он не использовался в экране.

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

попробуй посадить экран на пины 22, 23, 24 если у тебя Arduino mega 2560. Жду коммента что у тебя всё заработало))

lysanev
Offline
Зарегистрирован: 26.03.2016

Ура, время на тесты: итого попробывал!

В результате вообще смешную штуку обнаружил:

1. Если вокнут шилд звуковой и воткнут кабель USB в комп, (при этом я испульзую активный USB хаб со своим питанием), то на шилде постоянно моргает зелёная лампочка и на ардуине маргает левый красный светодиод, при этом не звук, ни экран не работают. (а я, наивный, думал, что это из-за пинов)

2. Если вынут шилд звуковой и воткнут кабель USB в комп, то экран работает!!!

3. Если вокнут шилд звуковой и вынут кабель USB из компа, то работает одновременно и шилд звуковой и экран!

4. Если вокнут шилд звуковой и воткнут кабель USB в комп и запустить монитор порта - тоже работает!

собственно, WTF?

зы, прицепил сейчас экран на 17-18-19 пины (кстати, почему вы рекомендовали 22, 23, 24?)

Pin
Offline
Зарегистрирован: 30.03.2016

Во время воспроизведения музыки, можно работать с картой?

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

По мне пины 22-24 просто удобнее для использования так как расположены на боковой отдельной планке с пинами. ну и там точно ничего не сидит (в отличии от пина 0, 1, 50, 51, 52 например)

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

2 Pin

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

Pin
Offline
Зарегистрирован: 30.03.2016

Если воспроизведение через чип не кешированное, может кто подсказать чип с кешированным воспроизведением?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Pin пишет:

Если воспроизведение через чип не кешированное, может кто подсказать чип с кешированным воспроизведением?

VS1053b

Объем буфера 2048 байт.

vlad45
Offline
Зарегистрирован: 12.01.2015

Всем привет я далек от ардуино но по мелочам ковыряюсь подскажите пожалуйста вот такую штуку купил mp3-tf-16p и пытаюсь подключить к ардуино нано делаю все так же как и здесь https://lesson.iarduino.ru/page/urok-17-podklyuchenie-mini-mp3-pleera-k-arduino/ скачиваю библиотеку и пытаюсь залить в программу ардуино версии 1.6.12 при заливке она выдает Выбранная папка/zip файл не содержит корректных библиотек и я уже неделю трахаюсь с этими библиотеками а толку ноль толи я такой валенок толи руки из задницы что делать? заранее спасибо

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

попробуй библиотеку отсюда (http://www.instructables.com/id/Tutorial-of-MP3-TF-16P/) и скрины делай ошибок, по идеи при компиляции у тебя должна быть ошибка, скрин или текст встудию

diger67
Offline
Зарегистрирован: 25.07.2015

А куда ты залил библиотеку. ЕЕ надо залить в папку C:\Users\Name\Documents\Arduino\libraries. Иначе среда разработки не может ее найти.

 

vlad45
Offline
Зарегистрирован: 12.01.2015

все верно в моих документак папка ардуино и в папке ардуино находится папка libraries вручную закидывал и черед программу пробовал не как 

 

vlad45
Offline
Зарегистрирован: 12.01.2015

vlad45
Offline
Зарегистрирован: 12.01.2015

попробовал эту библиотеку C:\Users\Name\Documents\Arduino\libraries. таже самая ошибка может быть проблема из за винды

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vlad45 пишет:

попробовал эту библиотеку C:\Users\Name\Documents\Arduino\libraries. таже самая ошибка может быть проблема из за винды

Я надеюсь, "Name" в Вашем пути не содержит символов кириллицы.

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

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

DFPlayer Mini mp3 Arduino Library V2.0

открой архив и вытащи просто папку по пути выше "..\libraries\"

P.S. Сожалею, но в ссылке которую привел я действительно нет библиотек, там только исполняемый файл, извините что сам не проверил