Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Player MP3 Serial Catalex para Arduino UNO: Configuração e Controle Fáceis

Componentes e Materiais

ComponenteQuantidade
Arduino UNO1
Player MP3 Serial da Catalex (v1.0)1
Cartão MicroSD com músicas (MP3/WAV)1

Aplicativos e Serviços Online

Sobre o Projeto

Como Usar o SERIAL MP3 PLAYER V1.0 da CATALex

Primeiro, baixe a biblioteca SoftwareSerial.h (já inclusa na IDE).

Defina os pinos de conexão e inicie a comunicação serial:

#define ARDUINO_RX 5  // Conectar ao TX do módulo MP3
#define ARDUINO_TX 6  // Conectar ao RX do módulo
SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);

Comandos Principais (do Datasheet)

O módulo entende comandos no formato 0x7E FF 06 comando 00 00 00 EF. Abaixo os principais definidos:

Função de Envio de Comandos

static int8_t Send_buf[8] = {0};

void sendCommand(int8_t command, int16_t dat) {
  delay(20);
  Send_buf[0] = 0x7E;
  Send_buf[1] = 0xFF;
  Send_buf[2] = 0x06;
  Send_buf[3] = command;
  Send_buf[4] = 0x00; // 0x00 = sem feedback, 0x01 = com feedback
  Send_buf[5] = (int8_t)(dat >> 8); // data high
  Send_buf[6] = (int8_t)(dat);      // data low
  Send_buf[7] = 0xEF;
  for (uint8_t i = 0; i < 8; i++) mySerial.write(Send_buf[i]);
}

Setup e Loop

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(500);
  sendCommand(CMD_SEL_DEV, DEV_TF); // Seleciona cartão TF
  delay(200);
}

void loop() {
  // Toca a primeira música (índice 1) com volume 15 (0x0F)
  sendCommand(CMD_PLAY_WITHVOLUME, 0x0F01);
  delay(1000000); // Repete a cada ~16 min (apenas para teste)
}

Como Carregar Músicas no Cartão SD

O chip lê arquivos .mp3 ou .wav em ordem alfabética. Para controle preciso:

Assim, você sabe exatamente qual pasta/música será reproduzida.

Código Completo de Teste

// Reorganizado por Javier Muñoz 10/11/2016
#include <SoftwareSerial.h>
#define ARDUINO_RX 5
#define ARDUINO_TX 6
SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);

// ... (definições dos comandos iguais às acima) ...

static int8_t Send_buf[8] = {0};

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(500);
  sendCommand(CMD_SEL_DEV, DEV_TF);
  delay(200);
}

void loop() {
  sendCommand(CMD_PLAY_WITHVOLUME, 0x0F01);
  delay(1000000);
}

void sendCommand(int8_t command, int16_t dat) {
  delay(20);
  Send_buf[0] = 0x7e;
  Send_buf[1] = 0xff;
  Send_buf[2] = 0x06;
  Send_buf[3] = command;
  Send_buf[4] = 0x00;
  Send_buf[5] = (int8_t)(dat >> 8);
  Send_buf[6] = (int8_t)(dat);
  Send_buf[7] = 0xef;
  for (uint8_t i = 0; i < 8; i++) {
    mySerial.write(Send_buf[i]);
    Serial.print(Send_buf[i], HEX); // Debug no monitor serial
  }
  Serial.println();
}

Esquemático

Alimentação: 3.2V a 5V, consumo ~200mA. Consulte a imagem do datasheet para ligação detalhada.

Processo de manufatura

  1. Piano Mecânico: Fusão da Tradição Acústica com Precisão Automatizada
  2. Amplifique Mensagem da Crise de Manutenção: Baixe Versões Blues e Reggae da 'Canção da Crise de Manutenção'
  3. Construa uma Boneca Interativa Temática de Round 6 com Arduino UNO – Projeto DIY
  4. Construa um Spybot Controlado por Bluetooth com Arduino
  5. FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
  6. DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
  7. Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
  8. Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
  9. Soluções de Energia Otimizadas para Projetos Arduino
  10. Como Reproduzir Áudio com Arduino UNO e DFPlayer Mini – Guia Passo a Passo