LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: masterloge em 17 de Abril de 2015, 20:58
-
Boas
Eu tou a usar a placa WTV020 no meu Arduino uno e não estou a conseguir reproduzir 1 música eu não uso botões porque vou por um sensor pir para ativar essa reprodução o códigoque eexperimentei para meter a música a tocar e o seguinte
const int clockPin = 6; // the pin number of the clock pin
const int dataPin = 9; // the pin number of the data pin
const unsigned int VOLUME_0 = 0xFFF0;
const unsigned int VOLUME_1 = 0xFFF1;
const unsigned int VOLUME_2 = 0xFFF2;
const unsigned int VOLUME_3 = 0xFFF3;
const unsigned int VOLUME_4 = 0xFFF4;
const unsigned int VOLUME_5 = 0xFFF5;
const unsigned int VOLUME_6 = 0xFFF6;
const unsigned int VOLUME_7 = 0xFFF7;
const unsigned int PLAY_PAUSE = 0xFFFE;
const unsigned int STOP = 0xFFFF;
void setup() {
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(resetPin, OUTPUT);
digitalWrite(clockPin, HIGH);
digitalWrite(dataPin, LOW);
sendCommand(VOLUME_7);
}
void loop() {
// play "0000.ad4"
sendCommand(0x0000);
delay(10);
}
void sendCommand(unsigned int command) {
// start bit
digitalWrite(clockPin, LOW);
delay(2);
// bit15, bit14, ... bit0
for (unsigned int mask = 0x8000; mask > 0; mask >>= 1) {
if (command & mask) {
digitalWrite(dataPin, HIGH);
}
else {
digitalWrite(dataPin, LOW);
}
// clock low
digitalWrite(clockPin, LOW);
delayMicroseconds(200);
// clock high
digitalWrite(clockPin, HIGH);
delayMicroseconds(200);
}
// stop bit
delay(2);
}
Obrigado pelo vosso tempo
-
Boa noite.
Quando tiver uma oportunidade crie um tópico na secção das apresentações para criar a sua.
Obrigado!
Cumprimentos.
-
Link para documentação do módulo?
Esquema de montagem?
Foto dessa mesma montagem?
Qual é que é o problema ao certo?
O que é que já tentaste?
-
Desculpem o topico estar incompleto
Documentação
http://letsmakerobots.com/files/WTV020_manual_V1.3.pdf (http://letsmakerobots.com/files/WTV020_manual_V1.3.pdf)
Esquema de Montagem
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi1069.photobucket.com%2Falbums%2Fu479%2Fthepeterpah%2F1_zps0ndda1i9.jpg&hash=a61fd8859314e3285dbcde4214ee52cb5ec481ff)
Foto da Minha Montagem (Atenção eu não uso botões como diz no esquema pq vou usar outro sensor)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi1069.photobucket.com%2Falbums%2Fu479%2Fthepeterpah%2FIMG_20150301_201344_zpsevdbxjor.jpg&hash=c62b163a893bf6de7b2b9a731f69c5375826e415)
O Problema e que não reproduz nenhum som e o código original que vi na net para usar o modulo sem qualquer uso da biblioteca é este http://yapan.googlecode.com/svn/trunk/arduino/examples/SOMO_14D_Test/SOMO_14D_Test.pde (http://yapan.googlecode.com/svn/trunk/arduino/examples/SOMO_14D_Test/SOMO_14D_Test.pde)
-
Não tens nenhuma ligação ao pino do RESET do modulo, Play/Stop também está ausente.
Também faltam algumas ligações menos importantes...
-
fiz há pouco tempo um projecto com esse módulo e funciona bem.. tenta ver se está tudo bem ligado: http://www.nadielcomercio.com.br/blog/2014/06/21/modulo-som-mp3-voz-wtv020sd/ (http://www.nadielcomercio.com.br/blog/2014/06/21/modulo-som-mp3-voz-wtv020sd/)
-
Tenho mesmo que meter os botão de play/stop não posso meter o um sensor pir e dizer que quando detectar um movimento da play a musica e quando tiver low dar stop ?
-
Podes, depende é de como isso foi feito, ele pode não gostar que estejas a meter com 5v no sitio dos botões..
-
Existe alguma placa mas aconselhável para este efeito ?