Riadenie MP3 modulu cez UART

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
pablox
Ultimate člen
Ultimate člen
Príspevky: 1736
Dátum registrácie: 19 Júl 2006, 00:00
Bydlisko: Ruzomberok
Vek: 32
Kontaktovať používateľa:

Riadenie MP3 modulu cez UART

Príspevok od používateľa pablox » 28 Mar 2020, 08:50

Zdravím,
riešil niekto pokusy s týmto mp3 modulom z Číny? https://www.ebay.com/itm/MP3-Player-Voi ... SwVcFdC44T

Snažím sa ho riadiť cez UART pomocou Arduina. Základné príkazy mi fungujú, viď zdroják nižšie - funguje.
Problém mám s výberom konkrétnej skladby podľa čísla v názve. Podľa dokumentácie treba na prehranie skladby pomenovanej 00008.mp3 odoslať reťazec 0xAA, 0x07, 0x02, 0x00, 0x08, 0xBB

Skladby mám pomenované podľa dokumentácie 00001.MP3 - 00008.MP3
Pomocou PREV/NEXT si ich viem prehrať všetky, výber konkrétnej mi už nefunguje. Neviem, či mám niekde chybu v názvoch, ale nepomohol som sa s tým.

Vie mi niekto poradiť, čo s tým?

Funkčný zdroják na ovládanie základných funkcií.

Kód: Vybrať všetko


#include <SoftwareSerial.h>

SoftwareSerial mySerial(4, 5); // RX, TX

byte prehrajprvu[6] = {0xAA, 0x07, 0x02, 0x00, 0x02, 0xB5}; // prehra specificku skladbu podla cisla; 0x00 a 0x02 = prehra skladbu na 2. mieste, pozor na CRC
byte play[4] = {0xAA, 0x02, 0x00, 0xAC}; //play
byte pause[4] = {0xAA, 0x03, 0x00, 0xAD}; //pause
byte stp[4] = {0xAA, 0x04, 0x00, 0xAE}; //stop
byte prev[4] = {0xAA, 0x05, 0x00, 0xAF}; //previous
byte next[4] = {0xAA, 0x06, 0x00, 0xB0}; //next
byte volp[4] = {0xAA, 0x14, 0x00, 0xBE}; //volume +
byte volm[4] = {0xAA, 0x15, 0x00, 0xBF}; //volume -
byte volsp[5] = {0xAA, 0x13, 0x01, 0x10, 0xCE}; //hlasitost na specificku uroven 0-30 ; 0x10 = uroven 16 z 31, nezabudni na spocitanie CRC
// posledny bit CRC sa pociita ako sucet vstekych bitov pred CRC 

void setup()
{
  // Inicializacia HW UART
  Serial.begin(9600);
  Serial.println("Start");

  //Inicializacia SW AUART
  mySerial.begin(9600);
Serial.println("===============");
Serial.println("1: PLAY");    
Serial.println("2: PAUSE");
Serial.println("3: PREV");
Serial.println("4: NEXT");
Serial.println("5: VOL+");
Serial.println("6: VOL-");
Serial.println("7: STOP");
Serial.println("===============");
}

void loop() // run over and over
{

if (Serial.available() > 0) {
    int inByte = Serial.read();
delay(100);

switch (inByte) {
      case '1':
        for(byte i =0;i<sizeof(play);i++)(mySerial.write(play[i]));
        Serial.println("PLAY");    
        break;
      case '2':
        for(byte i =0;i<sizeof(pause);i++)(mySerial.write(pause[i]));
        Serial.println("PAUSE");
        break;
      case '3':
        for(byte i =0;i<sizeof(prev);i++)(mySerial.write(prev[i]));
        Serial.println("PREV");
        break;
      case '4':
        for(byte i =0;i<sizeof(next);i++)(mySerial.write(next[i]));    
        Serial.println("NEXT");
        break;
      case '5':
        for(byte i =0;i<sizeof(volp);i++)(mySerial.write(volp[i]));
        Serial.println("VOL +");
        break;
      case '6':
        for(byte i =0;i<sizeof(volm);i++)(mySerial.write(volm[i]));
        Serial.println("VOL-");
        break;
      case '7':
        for(byte i =0;i<sizeof(stp);i++)(mySerial.write(stp[i]));
        Serial.println("STOP");
        break;
      case '8':
        
        break;  
      default:
     {
        }
}
delay(200);
}

}



PDF dokumentáciu pridávam v prílohe.

Ďakujem za rady.
Prílohy
13442 Manual.pdf
(129.36 KiB) 64 stiahnutí
DY-SV5W module functions introduction.pdf
(551.23 KiB) 87 stiahnutí
IO mode user's guide.pdf
(420.44 KiB) 63 stiahnutí
UART mode user's guide.pdf
(206.91 KiB) 75 stiahnutí
One_line mode user's guide.pdf
(181.89 KiB) 75 stiahnutí
storage and path user's guide.pdf
(145.63 KiB) 80 stiahnutí
Standard MP3 mode user's guide.pdf
(185.42 KiB) 79 stiahnutí
0
Meranie radiačného pozadia https://radmon.pablox.net/
Moja osobná webstránka http://www.pablox.net
Moja meteostanica http://www.teplomer.pablox.net

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6201
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Riadenie MP3 modulu cez UART

Príspevok od používateľa pocitujlasku » 28 Mar 2020, 17:11

sizeof nie je pocet prvkov v poli. zmen to pri posielani vo for cykle na length
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Používateľov profilový obrázok
pablox
Ultimate člen
Ultimate člen
Príspevky: 1736
Dátum registrácie: 19 Júl 2006, 00:00
Bydlisko: Ruzomberok
Vek: 32
Kontaktovať používateľa:

Re: Riadenie MP3 modulu cez UART

Príspevok od používateľa pablox » 14 Okt 2023, 11:48

Ak by sa niekto zaoberal týmto modulom (bol som kontaktovaný ohľadom otázok), tu som dávnejšie napísal článok kde som vyrobil jednoduchý mp3 prehrávač pre syna https://www.pablox.net/index.php?option ... &Itemid=33
0
Meranie radiačného pozadia https://radmon.pablox.net/
Moja osobná webstránka http://www.pablox.net
Moja meteostanica http://www.teplomer.pablox.net

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok