Menu

Robô com música

Podemos utilizar vários reprodutores de sons. Vamos testar 2 deles:

 

Usando JR6001:

 

#include <SoftwareSerial.h>

// RX, TX do Arduino (Módulo TX -> 10, Módulo RX -> 11)
SoftwareSerial JR6001(10, 11); 
char digitou;

void comando(String controle) {
  JR6001.println(controle);
  /*
  A2 = play/ reproduzir musica atual
  A3 = pausa
  A4 = parar a reproducao
  A5 = proxima musica
  A6 = ultima musica
  A7 = informar qual musica ex.: A7:00001
  A8 = informar qual musica ex.: A8:02/00003*???
  AE = termina a execucao atual
  AF = ajusta volume entre 00 e 30, ex.: AF:30
  B0 = aumenta o volume
  B1 = diminui o volume
  B4 = estabelece o ciclo, ex.: B4:03 para musica randomica
  B7 = combinacao, ex.: B7:01020504 reproduz arquivos 01, 02, 05, 04
  B8 = termina execucao de combinacao iniciada com B7
  */
}

void setup() {
  Serial.begin(9600);
  JR6001.begin(9600);
  delay(1000); 
  comando("AF:30"); //volume maximo
  Serial.println("Digite o numero da musica");
}

void loop() {
  if (Serial.available())
  {
    digitou = Serial.read();
    switch(digitou)
    {
     case '0': 
      Serial.println(" - reproduzindo a musica atual"); 
      comando("A2"); 
      break; 
     case '1':
      Serial.println(" - reproduzindo 00001.mp3"); 
      comando("A7:00001"); 
      break; 
     case '2': 
      Serial.println(" - reproduzindo 00002.mp3"); 
      comando("A7:00002"); 
      break; 
     case '3':
      Serial.println(" - reproduzindo 00003.mp3"); 
      comando("A7:00003"); 
      break; 
     case '4':
      Serial.println(" - reproduzindo 00004.mp3"); 
      comando("A7:00004"); 
      break; 
    }
  }
}

 

Usando DFPlayer Mini:

 

#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h> //usei: https://github.com/DFRobot/DFRobotDFPlayerMini/tree/master

SoftwareSerial comunicacao(11, 10); 
DFRobotDFPlayerMini DFPlayer;
char digitou;

void inicializarDFPlayer(){
  comunicacao.begin(9600);
  delay(1000);
  if (!DFPlayer.begin(comunicacao))
  {
   Serial.println(F("Nao inicializado"));
   while (true);
  }
  Serial.println();
  Serial.println(F("DFPlayer inicializado!"));
  DFPlayer.setTimeOut(500); //Timeout serial 500ms
  DFPlayer.volume(30); //Volume 
  DFPlayer.EQ(DFPLAYER_EQ_NORMAL); //Equalizacao normal
  /* 
  DFPlayer.volumeUp(); //Aumenta volume
  DFPlayer.volumeDown(); //Diminui volume
  DFPlayer.EQ(DFPLAYER_EQ_NORMAL);
  DFPlayer.EQ(DFPLAYER_EQ_POP);
  DFPlayer.EQ(DFPLAYER_EQ_ROCK);
  DFPlayer.EQ(DFPLAYER_EQ_JAZZ);
  DFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
  DFPlayer.EQ(DFPLAYER_EQ_BASS); 
  */
}

void reproduzir(int qualMusica) {
  DFPlayer.stop();
  delay(150);
  DFPlayer.play(qualMusica);
  delay(150);
  int file = DFPlayer.readCurrentFileNumber();
  while (file != qualMusica) {
   DFPlayer.play(qualMusica);
   delay(150);
   file = DFPlayer.readCurrentFileNumber();
  }
}

void setup() {
  Serial.begin(9600);
  inicializarDFPlayer();
  Serial.println("Digite o numero da musica");
}

void loop() {
  if (Serial.available())
  {
   digitou = Serial.read();
   switch(digitou)
   { 
    case '1':
     Serial.println(" - reproduzindo 00001.mp3"); 
     reproduzir(1); 
     break; 
    case '2': 
     Serial.println(" - reproduzindo 00002.mp3"); 
     reproduzir(2); 
     break; 
    case '3':
     Serial.println(" - reproduzindo 00003.mp3"); 
     reproduzir(3); 
     break; 
    case '4':
     Serial.println(" - reproduzindo 00004.mp3"); 
     reproduzir(4); 
     break; 
    }
  }
}

 

Para aumentar o volume do som precisamos utilizar um AMPLIFICADOR. Vamos ver duas opções:

 

Com módulo amplificador (já está pronto, é só ligar, é estéreo – não dá para modificar parâmetros):

1 – o módulo

2 – a ligação com o JR6001

3 – a ligação com o módulo DF Player Mini

 

Com circuito integrado amplificador (tem que montar; um módulo por canal; podemos modificar as características e ampliar a potência):

1 – o circuito

2 – a ligação com o módulo JR6001

3 – a ligação com o módulo DF Player Mini

Antes de colocarmos a seleção de músicas que iremos reproduzir, precisamos compreender o RFID e identificar as tags. Veja (  __aqui__  ).

 

Universidade Federal do Paraná
TI Aplicada – pesquisa e extensão

Av Pref Lothário Meissner, 632
80210-170 | Curitiba |
simao@ufpr.br
(41) 3360-4420
Universidade Federal do Paraná
TI Aplicada – pesquisa e extensão

Av Pref Lothário Meissner, 632
80210-170 | Curitiba |
simao@ufpr.br
(41) 3360-4420

UFPR nas Redes Sociais


UFPR nas Redes Sociais