úte 20.06.2017 16:28
úte 20.06.2017 17:06
úte 20.06.2017 17:12
úte 20.06.2017 23:21
stř 21.06.2017 1:22
// Příklad použití DFPlayeru s microSD
// s adresáři 01-99, s názvy souborů 001.mp3-255.mp3)
// Na SD kartě jsou soubory (001.mp3, 002.mp3, až 010.mp3
// v adresáři "01".
//
const byte pinRX = 10; // definice pin RX DFPlayeru
const byte pinTX = 11; // definice pin TX -"-
const byte pinBusy = 12; // definice pin Busy -"-
const byte Volume = 0x28; // nastavení hlasitosti DFPLayeru - v rozsahu: 0x00-0x30 - default=0x30
#include "SoftwareSerial.h" // knihovna software serial port
SoftwareSerial mySerial(pinRX, pinTX); // RX, TX definice
void setup () {
Serial.begin(110200); // rychlost s PC
mySerial.begin(9600); // rychlost s DFPlayer
pinMode(pinBusy, INPUT); // init Busy pin pro DFPlayer (LO: hraje / HI: nehraje)
Serial.println();
Serial.println(F("DFPlayer Mini Demo"));
Serial.println(F("Inicializace DFPlayeru"));
dfpExecute(0x3F, 0x00, 0x00); // odešli inicializační parametry DFPlayeru
while (mySerial.available()<10) // Počkej, dokud nebudou přijaty inicializační parametry (10 bajtů)
delay(20); // 20 ms zpoždění mezi příkazy
dfpExecute(0x06,0x00,Volume); // odešli hlasitost DL=0x00-0x30,
delay(20); // 20 ms zpoždění mezi příkazy
Serial.println(F("DFPlayer Mini online."));
} // konec Setup
void loop () { // hlavní smyčka
const byte nfiles = 10; // počet mp3 na SD kartě
static byte ifile = 1; // číslo mp3 pro příště
if (digitalRead(pinBusy) == HIGH) { // Pokud se nepřehrává, přehrajte další
delay(500); // zpoždění
Serial.print("Prehravani MP3, nazev: "); // výpis hlášky na PC
Serial.println(ifile); // výpis čísla mp3
dfpExecute(0x0F,0x01,ifile); // přehraj (0x0F) soubor [ifile] z adresáře "01"
ifile++; // další soubor
if (ifile > nfiles) { // pokud je ifile vyšší než počet mp3 v adresáři
ifile = 1; // tak začni znova od 1.
delay(3000); // zpoždění před opakováním
}
}
}
// --- Spusit příkaz DFPlayer se dvěma parametry (číslo adresáře a souboru)---
void dfpExecute(byte CMD, byte Par1, byte Par2) // parametry (0x0F,0x01,ifile)
{
# define Start_Byte 0x7E
# define Version_Byte 0xFF
# define Command_Length 0x06
# define Acknowledge 0x00
# define End_Byte 0xEF
//
// Kontrolní suma (2 byte)
uint16_t checksum = -(Version_Byte + Command_Length + CMD + Acknowledge + Par1 + Par2);
//
// Vytvoření příkazového řádku
uint8_t Command_line[10] = { Start_Byte, Version_Byte, Command_Length, CMD, Acknowledge,
Par1, Par2, highByte(checksum), lowByte(checksum), End_Byte};
//
// Odeslání příkazového řádku do DFPlayeru
for (byte i=0; i<10; i++) mySerial.write( Command_line[i]);
}
stř 21.06.2017 7:09
stř 21.06.2017 8:49
stř 21.06.2017 9:07
stř 21.06.2017 9:21
stř 21.06.2017 9:35
stř 21.06.2017 16:40
stř 21.06.2017 16:47
stř 21.06.2017 17:28
stř 21.06.2017 17:58
stř 21.06.2017 19:06
void loop () { // hlavní smyčka
if (digitalRead(pinDfpBusy) == HIGH) { // Pokud se nepřehrává, přehrajte další
// delay(300); // zpoždění
Serial.print("Prehravani MP3 nazev: "); // výpis hlášky na PC
Serial.println(ifile); // výpis čísla mp3
dfpExecute(0x0F,0x01,ifile); // přehraj (0x0F) soubor [ifile] z adresáře "01"
ifile++; // další soubor
if (ifile > nfiles) { // pokud je ifile vyšší než počet mp3 v adresáři
ifile = 1; // tak začni znova od 1.
Serial.println(F("Novy cyklus"));
delay(2000); // zpoždění před opakováním
}
delay(300);
}
}