Обсуждаем контроллеры компании Atmel.
Ответить

Помогите изменить прошивку!

Ср июл 08, 2015 21:07:35

Здравствуйте,люди добрые!Вообщем,сразу к делу.Строю своими руками музыкальную шкатулку для девушки,перерыл весь интернет и самое подходящее нашёл - http://dmitry.gr/index.php?r=05.Projects&proj=18.%20Holiday%20Card . Мне очень понравилась логика прошивки для ATtiny85, НО у автора использована SD карточка с FAT16 ( не более 2 Гб ),а я нигде не могу такую достать,магазины обходил,знакомых тоже,но увы. Поэтому прошу знающих,понимающих, разбирающихся и добрых людей помочь мне переделать прошивку эту,чтобы была поддержка microSDHC карты памяти.

Re: Помогите изменить прошивку!

Чт июл 09, 2015 14:44:39

mckalister89 писал(а):НО у автора использована SD карточка с FAT16 ( не более 2 Гб ),а я нигде не могу такую достать


А microSD с переходником на SD ?
Изображение

Продаются в любом салоне сотовой связи как сами карты так и в комплекте с переходником.

Re: Помогите изменить прошивку!

Чт июл 09, 2015 19:37:16

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

Re: Помогите изменить прошивку!

Чт июл 09, 2015 20:41:49

http://elm-chan.org/works/sd8p/report.html

Там в видео явно карточка на 4гб

Re: Помогите изменить прошивку!

Чт июл 09, 2015 20:45:40

mckalister89 писал(а):Автор устройства (ссылка выше) пишет,что использовал в прошивке драйвер SD карты.Может я чего-то не понял? и да,я пробовал через адаптер такой,но увы не играет,хотя схема собрана правильно.


Если адаптер SD и карточка microSD (а не microSDHC) то, должно работать, иначе, перепроверять:
1. питание карточки 2.7 - 3.3 В (но никак не 5в)
2. схема подключения - на схеме обозначены именно выводы SD карты, а не разъема...

Про распиновку и подключение, можно посмотреть например: http://chipenable.ru/index.php/programming-avr/item/209-rabota-s-sd-kartoy-podklyuchenie-k-mikrokontrolleru-ch1.html

emax писал(а):Там в видео явно карточка на 4гб


На видео - мелко карточка в адаптере, а номинала там не увидеть, так как карточка внутри.

Re: Помогите изменить прошивку!

Чт июл 09, 2015 21:07:21

Выводы составлены правильно.Перепроверял несколько раз.Питание подаю ровно 3.3V.Схему Elm-Chana я делал и она у меня работает (8 bit mono вариант я делал).

Re: Помогите изменить прошивку!

Пт июл 10, 2015 13:44:12

mckalister89 писал(а):Схему Elm-Chana я делал и она у меня работает (8 bit mono вариант я делал).


Ну и зачем делать схему http://dmitry.gr/index.php?r=05.Projects&proj=18.%20Holiday%20Card ?
Там тоже mono, проигрывается тоже WAV...
Единственно - динамик подключен через усилитель а не напрямую к тиньке, и начало воспроизведения начинается просто по подаче питания, при открытии открытки.

Что мешает доработать уже проверенную схему Elm-Chana ?

Re: Помогите изменить прошивку!

Пт июл 10, 2015 17:40:07

У Chana при подаче питания начинает играть музыка,когда питание выключаешь и снова включаешь,то мелодия начинается снова с первого трека на карте.То есть чтобы слушать разные мелодии шкатулку постоянно держать открытой что ли? А тут открыл - одна мелодия играет,закрыл и снова открыл и уже следующая мелодия играет....и не надо шкатулку постоянно открытой держать.

Re: Помогите изменить прошивку!

Пт июл 10, 2015 18:50:54

mckalister89 писал(а):А тут открыл - одна мелодия играет,закрыл и снова открыл и уже следующая мелодия играет....


Уж проще подправить код - добавив рандомный выбор трека (в проверенную схему), чем перепахивать код под другой тип карточки (в схеме работоспособность которой не проверена).

Re: Помогите изменить прошивку!

Пт июл 10, 2015 22:39:20

Ну если не трудно,то смогли бы вы это сделать?а то я в этом деле не силён совсем.Хотелось,чтобы когда открываешь шкатулку начинает играть музыка.Мелодия закончилась,то её снова начинает крутить по кругу.Когда шкатулку закрываешь и снова открываешь(питание отключаешь и подаёшь снова),то начинает играть другая мелодия и её тоже играет по кругу.Буду очень благодарен вам за помощь.

Re: Помогите изменить прошивку!

Вс июл 12, 2015 13:53:07

Art_el,сможете помочь мне?

Re: Помогите изменить прошивку!

Вс июл 12, 2015 15:28:59

Код то я посмотрю, но проверить в железе у меня не на чем...

Re: Помогите изменить прошивку!

Вс июл 12, 2015 15:30:46

Хорошо,я проверять сам буду на железе.

Re: Помогите изменить прошивку!

Пн июл 13, 2015 12:19:25

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

https://www.tindie.com/products/bobricius/micro-sd-card-wav-sound-audio-player-with-atmel-avr-attiny85/
micro SD card Wav sound audio player with Atmel AVR AtTiny85, выложены как сама схема так и исходники с hex

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

кусок кода где надо дорабатывать при необходимости

Спойлер
Код:
/* POWER ON and RESET                                                    */
   ndir = eeprom_read_byte((uint8_t*)DIR_EEADR);

 if(bit_is_set(MCUSR, PORF)) { // Power on - resume playback!
    MCUSR = 0; // clear MCUSR
 }

 if(bit_is_set(MCUSR, WDRF)) { // WatchDog reset - on error!
    MCUSR = 0; // clear MCUSR
   if (ndir !=0) {
    ndir = 0; // resetdirectory
    nskip = 0; // resetdirectory
   eeprom_write_byte ((uint8_t*)SKIP_EEADR, (uint8_t*) nskip);
   eeprom_write_byte ((uint8_t*)DIR_EEADR, (uint8_t*) ndir);
//   for (;;) {
//         PORTB ^= _BV(PB1);
//        delay_ms(200);
//       wdt_reset();
//   }
   }
 }

 if(bit_is_set(MCUSR, EXTRF)) { // Reset button.

    MCUSR = 0; // clear MCUSR
    ndir++; // advance mode

Re: Помогите изменить прошивку!

Вт июл 14, 2015 19:37:32

Лучше конечно,чтобы при подаче питания происходил выбор нового трека.

Re: Помогите изменить прошивку!

Вс июл 19, 2015 22:11:44

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