WTV020SD как сделать воспроизведение без пауз?

romiras
Offline
Зарегистрирован: 12.07.2015

Здравствуйте, есть звуковой модуль WTV020SD, при цикличном воспроизведении мелодии - присутствует пауза. Модуль хочу использовать для имитации звука работающего двигателя в игрушечной модели. Звук должен быть непрерывным естественно. Может кто сталкивался с этой бедой? Как сделать воспроизведение без пауз?

romiras
Offline
Зарегистрирован: 12.07.2015

Чуть не забыл))

#include <Wtv020sd16p.h>
const int buttonPin =  12;
int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.
int buttonState = 0;
/*
Create an instance of the Wtv020sd16p class.
 1st parameter: Reset pin number.
 2nd parameter: Clock pin number.
 3rd parameter: Data pin number.
 4th parameter: Busy pin number.
 */
Wtv020sd16p wtv020sd16p(resetPin, clockPin, dataPin, busyPin);

void setup() {
  pinMode(buttonPin, INPUT);
  wtv020sd16p.reset();
}
void loop() {
  //Plays synchronously an audio file 0. Busy pin is used for this method.
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    wtv020sd16p.asyncPlayVoice(0);
    delay(300);
  }
  else {
    wtv020sd16p.stopVoice();
  }
}

 

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Думаю что не получится, у меня не получилось во всяком случае. Буду рад если кто подскажет как эту задержку побороть.

А если по существу то между тем как вы подали команду STOP, и готовностью модуля к приему следующей команды PLAY проходит проходит некоторое время. Дома могу посмотреть, разбирался в свое время с этим модулем. Мне надо было сделать речевой информатор. В принципе та задержка между проигрыванием файлов что имеет этот модуль мне подходила.

 

romiras
Offline
Зарегистрирован: 12.07.2015

Да я уж решил, как буду делать: делаю 2 секундный звуковой файл запуска двигателя, 20 минутный звуковой файл работы двигателя. Аудиомодуль будет подключен к атмеге 8 (которая преднаязначена будет только для воспроизведения двух этих звуковых файлов). При включении кнопки на пульте д\у - ардуино мини будет запитывать атмегу, которая будет проигрывать звук запуска и работы двигателя. Так же с пульта будет обесточиваться атмега. Звук уже готов, код накидан.

#include <Wtv020sd16p.h>
int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.
/*
Create an instance of the Wtv020sd16p class.
 1st parameter: Reset pin number.
 2nd parameter: Clock pin number.
 3rd parameter: Data pin number.
 4th parameter: Busy pin number.
 */
Wtv020sd16p wtv020sd16p(resetPin, clockPin, dataPin, busyPin);
void setup() {
  wtv020sd16p.reset();
}
void loop() {
  wtv020sd16p.asyncPlayVoice(3);
  delay(2000);
  wtv020sd16p.playVoice(0);
  delay(100);

}

Как кто так, топорно конечно, но зато сын будет доволен)