
/*Квартирный звонок на базе DFPlayer Mini
 * http://infotex58.ru
 * Задержки по 10мс необходимы перед коммандами на плеер!!! Не трогать иначе будет "глючить"
 */
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

SoftwareSerial mySerial(10, 11);            // RX, TX DF Плеера
int vol = 21;                               // Громкость 0-30
void setup () {
  mySerial.begin (9600);
  pinMode(13, OUTPUT);
  mp3_set_serial (mySerial);                //Работаем с "Софтовым" портом
  //delay (10);
  //mp3_reset ();                           //Ресет модуля
  delay (10);
  mp3_set_EQ (0);                           // Эквалайзер EQ     0/1/2/3/4/5      Normal/Pop/Rock/Jazz/Classic/Base
}

void loop () {
  boolean play_state = digitalRead(3);      // Кнопка на прерывании D3
  if (play_state == LOW) {
    digitalWrite(13, HIGH);
    delay (10);
    mp3_next ();
    delay(11000);                           // Время звучания
    digitalWrite(13, LOW);
    for (int i = vol; i >= 1; i--) {        // Эффект FADE
      mp3_set_volume (i);
      delay (100);
    }
  }
  delay (10);
  mp3_random_play ();                       //(mp3_random_play (); - Случайный порядок файлов)    (mp3_stop (); - Файлы играют по-порядку)
  delay (10);
  mp3_set_volume (vol);
}
