You are on page 1of 29

INTRODUCCIÓN ...............................................................................................................

3
MARCO TEÓRICO ............................................................................................................ 4
ALTAVOZ ...................................................................................................................... 4
CARACTERÍSTICAS DE LOS ALTAVOCES ............................................................. 4
POTENCIA ................................................................................................................. 4
SECURE DIGITAL (SD) ................................................................................................. 5
DFPLAYER MINI ........................................................................................................... 6
ESPECIFICACIÓN ..................................................................................................... 6
SOLICITUD ................................................................................................................ 6
MAPA DE PIN ............................................................................................................ 7
MODO DE TRABAJO ................................................................................................ 8
DIAGRAMA DE CONEXIÓN .................................................................................... 12
MICROCONTROLADOR MSP430G2553 .................................................................... 13
DATASHEET MSP430g2553 ................................................................................... 13
CARACTERÍSTICAS PRINCIPALES DEL MSP430g2553 ...................................... 14
CONEXIONES I/O EXTERNAS DEL MSP430g2553 ............................................... 14
DESCRIPCIÓN DEL PROYECTO ................................................................................... 15
ESQUEMA DE CONEXIÓN DEL PROYECTO ............................................................ 17
CÓDIGO FUENTE DE LA PROGRAMACIÓN PARA EL MICROCONTROLADOR .... 18
CONCLUSIÓN................................................................................................................. 22
BIBLIOGRAFÍA ............................................................................................................... 23
EVIDENCIAS ................................................................................................................... 24

2
El siguiente proyecto tratamos acerca de uno de los dispositivos electrónicos
de gran utilidad y que están presentes en la vida diaria de este siglo que son
los altavoces. Es bueno por tanto conocerlos un poco más de cerca, su
arquitectura, cómo se comporta, por qué lo hace y cómo lo hace (la
reproducción de algún archivo de audio). Con poca inversión de dinero y lo
mejor del proyecto ayudando al medio ambiente a salvaguardarlo, tenemos
como meta de lograr esto, ya que los altavoces más comerciales funcionan
con corriente directa y eso hace que el litio de esta batería que se carga en
promedio cada 6 horas afecta al medio ambiente al desechar estos
reproductores de audio.

Todo esto podemos realizar gracias a los recursos electrónicos que


utilizaremos más adelante y veremos cada uno de ellos, por ejemplo;
 Modulo DFPlayer Mini SKU: DFR0299
 MICROCONTROLADOR MSP430G2553 de TEXAS INSTRUMENTS
 PROTOBOARD blanco de200 puntos.

3
ALTAVOZ

Es un transductor electroacústico utilizado para la reproducción de sonido.


El sonido se transmite mediante ondas sonoras, en este caso, a través del aire. El
oído capta estas ondas y las transforma en impulsos nerviosos que llegan al cerebro
y se transforman en señales que se identifican con cosas como música, sonidos y
onomatopeyas. Si se dispone de una grabación de voz, de música en soporte
magnético o digital, o si se recibe estas señales por radio, se dispondrá a la salida
del aparato de señales eléctricas que deben ser convertidas en sonidos; para ello
se utiliza el altavoz.

CARACTERÍSTICAS DE LOS ALTAVOCES


Las principales características de un altavoz son:
 Respuesta en frecuencia.
 Impedancia.
 Potencia admitida.
 Sensibilidad.
 Rendimiento.
 Distorsión.
 Direccionalidad.

POTENCIA
Hace referencia a la potencia eléctrica que admite el altavoz (no a la potencia
acústica). Es la cantidad de energía (en vatios) que se puede introducir en el altavoz
antes de que éste distorsione en exceso o de que pueda sufrir daños. Dentro de la
potencia se diferencia entre potencia nominal y potencia admisible.

4
SECURE DIGITAL (SD)

Es un dispositivo en formato de tarjeta de memoria para dispositivos portátiles, por


ejemplo: cámaras digitales (fotográficas o videograbadoras), teléfonos móviles,
computadoras portátiles y videoconsolas (de sobremesa y portátiles), Tabletas y
entre muchos otros. Inicialmente compitió y coexistió con otros formatos, y
actualmente es uno de los formatos más comunes y utilizados en dispositivos
portátiles y en computadoras y reproductores de música portátiles o domésticos,
destacando principalmente por la velocidad a diferencia de sus predecesores.

Los tres tamaños son:


 SD estándar original,
 miniSD,
 microSD.
Este tamaño microSD es muy utilizado en tabletas y teléfonos móviles. Por medio
de adaptadores pasivos eléctricamente es posible utilizar tarjetas en ranuras más
grandes.
Los dispositivos con ranuras SD pueden utilizar tarjetas MMC, que son más finas,
pero las tarjetas SD no caben en las ranuras MMC. Asimismo, se pueden utilizar en
las ranuras de CompactFlash o de PC Card con un adaptador. Sus variantes miniSD
y microSD se pueden utilizar, también directamente, en ranuras SD mediante un
adaptador. Las normales tienen forma de ‫ם‬. Hay algunas tarjetas SD que tienen un
conector USB integrado con un doble propósito, y hay lectores que permiten que las
tarjetas SD sean accesibles por medio de muchos puertos de conectividad como
USB, FireWire y el puerto paralelo común. Las tarjetas SD también son accesibles
mediante una disquetera usando un adaptador FlashPath.

5
DFPLAYER MINI

Es un módulo MP3 de bajo precio y con una salida simplificada directamente al


altavoz. El módulo se puede usar como un módulo independiente con batería,
altavoz y botones pulsadores adjuntos, o se puede usar en combinación con un
Arduino UNO o cualquier otro con capacidades RX / TX.

ESPECIFICACIÓN
 Frecuencias de muestreo admitidas (kHz): 8 / 11.025 / 12/16 / 22.05 / 24/32
/ 44.1 / 48
 Salida DAC de 24 bits, soporte para rango dinámico 90dB, soporte SNR 85dB
 totalmente compatible con FAT16, sistema de archivos FAT32, soporte
máximo 32G de la tarjeta TF, soporte 32G del disco U, NORFLASH de 64M
bytes
 una variedad de modos de control, modo de control de E / S, modo de serie,
modo de control de botón AD
 Publicidad de la función de espera de sonido, la música puede ser
suspendida. Cuando termine la publicidad en la música, sigue tocando.
 datos de audio ordenados por carpeta, admite hasta 100 carpetas, cada
carpeta puede contener hasta 255 canciones
 Volumen ajustable de 30 niveles, ecualizador de 6 niveles ajustable

SOLICITUD

 Transmisión de voz de navegación del coche;


 Inspectores de transporte vial, estaciones de peaje de voz;
 Estación de tren, inspección de seguridad de autobuses mensajes de voz;
 Electricidad, comunicaciones, avisos de voz en las salas de negocios financieros;
 El vehículo que entra y sale del canal verifica que el mensaje de voz aparezca;
 Los mensajes de voz del canal de control de fronteras de seguridad pública;
 Alarma de voz multicanal o voz de guía de funcionamiento del equipo;
 La voz segura de conducción de coche eléctrico avisos;
 Alarma de falla de equipo electromecánico;
 Indicadores de voz de alarma de incendio;
 El equipo de transmisión automática, transmisión regular.

6
MAPA DE PIN

7
MODO DE TRABAJO

MODO SERIE

Compatibilidad con el modo de comunicación en serie asíncrono mediante


comandos de envío en serie de la PC
Estándar de comunicación: 9600 bps
Bits de datos: 1
Comprobación: ninguno
Control de flujo: ninguno

 Descripción de la instrucción

8
 Control serial

9
 Serial query cmd

10
MODO AD KEY

Usamos las teclas del módulo AD, en lugar del método tradicional de conexión de
teclado matricial, es aprovechar la funcionalidad MCU AD cada vez más poderosa,
la configuración predeterminada de nuestro módulo 2 puerto AD, la distribución de
resistencia de 20 teclas.

MODO I / O

Aquí viene la forma más sencilla de usar este módulo

nota: la pulsación breve significa pre / siguiente, y la pulsación prolongada significa


vol-, vol +

11
DIAGRAMA DE CONEXIÓN

Nota: para un uso simple, el diagrama superior está listo, pero si encuentra que el
ruido es bastante alto, entonces puede conectar una resistencia de 1 K al pin TX.

12
MICROCONTROLADOR MSP430G2553

Los microcontroladores de la serie MSP430 (MSP quiere decir Mixed-Signal


Processor) de Texas Instruments son procesadores de señal combinada de 16 bits,
basados en la arquitectura RISC (Reduced Instruction Set Computer o Computador
de Conjuto de Instrucciones Reducidad), diseñados para tener un consumo ultra
bajo. Además, disponen de una cantidad de periféricos muy variado para realizar
proyectos muy diversos.
Por esta razón, y por ser un componente bastante económico, se ha decidido utilizar
este microcontrolador en nuestro proyecto.

DATASHEET MSP430g2553

13
CARACTERÍSTICAS PRINCIPALES DEL MSP430g2553

 Velocidad del reloj: configurable entre 1 y 16 MHz.


 Memoria FLASH: 16KB
 Memoria SRAM:512B
 Memoria NVM:56KB
 Memoria SRAM: 4KB
 Pines GPIO: 24 como máximo
 2 temporizadores
 Convertidor ADC de 8 canales
 UART
 12C
 SPI
CONEXIONES I/O EXTERNAS DEL MSP430g2553
El microcontrolador MSP430g2553 posee multitud de conexiones de entrada/salida,
o I/O, para poder conectar diversos dispositivos a él. En la siguiente fotografía se
observa cómo la placa de desarrollo, o LaunchPad, conecta dichas entradas y
salidas a unos pines laterales desde donde pueden hacer conexiones más
fácilmente:

14
Para la realización de este proyecto utilizamos diferentes materiales, los cuales son:

 1 Protoboard color blanco de 200 puntos


 1 Microcontrolador Msp430g2553 LaunchPad de Texas Instruments
 1 Módulo de microSD (DFPLAYER MINI)
 2 Altavoces
 1 Cautín
 1 paquete de cables Jumpers Macho/Hembra
 1 paquete de cables Jumpers Macho/Macho
 ½ metro de cable de corriente
 Estaño
 Grasa de soldar
 1 Botón pulsador

Nuestro proyecto trata de poder transmitir canciones grabadas de nuestro microSD


con la extensión mp3, nuestro plus para el proyecto es implementarlo en el
microcontrolador para que podamos mandar instrucciones programadas y así no
utilizar los controles que trae por default el módulo de microSD.
Una vez programados todas las tramas de las canciones para que 12 de 24 pines
posibles de usar en el microcontrolador sean utilizados por medio el botón pulsador
y así cambiar de canciones específicas, poder bajar y subir volumen de la música
que este reproduciendo en el momento, también tenemos la capacidad y gracias los
comandos del módulo SD que podamos mandar una trama de resetear el modulo
por si en alguna ocasión se nos atora que es muy difícil, pero puede suceder.

15
Para que nosotros podamos especificar cada una de estas tramas, el datasheet del módulo nos
dice que comandos utilizar, para que después de saber que queremos hacer en específico
hacer un checksum de los hexadecimales tomados, ejemplo;
// 7E FF 06 0F 00 01 01 XX XX EF

// 0 -> 7E is start code


// 1 -> FF is version
// 2 -> 06 is length
// 3 -> 0F is command
// 4 -> 00 is no receive
// 5~6 -> 01 01 is argument
// 7~8 -> checksum = 0 - (FF+06+0F+00+01+01)
// 9 -> EF is end code

Lo más resaltado es lo más importante para hacer ya que depende de esos dos hexadecimales
mandar la trama correcta.
Ya que tenemos todos entendidos ese aspecto utilizamos una herramienta para programar el
micro; utilizamos CCS (CODE COMPOSER STUDIO), allí donde nosotros fuimos capaces
de programar cada una de las funciones para mandar instrucciones directas al módulo
microSD (DFPLAYER MINI), cabe aclarar que puede aceptar hasta 255 canciones.
Para alimentar nuestro microcontrolador y así hacer puente con el proto y alimentarlo
también, utilizamos corriente directa con un Dock de carga de teléfono y nos dio los voltajes
que utilizamos.

16
ESQUEMA DE CONEXIÓN DEL PROYECTO

17
CÓDIGO FUENTE DE LA PROGRAMACIÓN PARA EL
MICROCONTROLADOR
#include <msp430.h>

int const MSJ1[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x01,0xFE,0xF6,0xEF,13,10};


int const MSJ2[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x02,0xFE,0xF5,0xEF,13,10};
int const MSJ3[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x03,0xFE,0xF4,0xEF,13,10};
int const MSJ4[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x04,0xFE,0xF3,0xEF,13,10};
int const MSJ5[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x05,0xFE,0xF2,0xEF,13,10};
int const MSJ6[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x06,0xFE,0xF1,0xEF,13,10};
int const MSJ7[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x07,0xFE,0xF0,0xEF,13,10};
int const MSJ8[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x08,0xFE,0xEF,0xEF,13,10};
int const MSJ9[]={0x7E,0xFF,0x06,0x03,0x01,0x00,0x09,0xFE,0xEE,0xEF,13,10};
int const MSJ10[]={0x7E,0xFF,0x06,0x0C,0x01,0x00,0x04,0xFE,0xEA,0xEF,13,10};
int const MSJ11[]={0x7E,0xFF,0x06,0x05,0x01,0x00,0x04,0xFE,0xF1,0xEF,13,10};
int const MSJ12[]={0x7E,0xFF,0x06,0x04,0x01,0x00,0x04,0xFE,0xF2,0xEF,13,10};/*
int const MSJ11[]={0x7E,0xFF,0x06,0x05,0x01,0x00,0x00,0xFE,0xF5,0xEF,13,10};
int const MSJ12[]={0x7E,0xFF,0x06,0x04,0x01,0x00,0x00,0xFE,0xF6,0xEF,13,10};*/

int i,x,y,z;
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

if (CALBC1_1MHZ==0xFF) // If calibration constant erased


{
while(1); // do not load, trap CPU!!
}
DCOCTL = 0; // Select lowest DCOx and MODx settings
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;

//P1DIR |= BIT0;
// Set P1.0 to output direction
//configuracion del pin3
P1IE |= BIT0 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7; // P1.3
interrupt enabled
P1IES |= BIT0 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7; // P1.3
Hi/lo edge
P1REN |= BIT0 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7; // Enable
Pull Up on SW2 (P1.3)
P1IFG &= ~(BIT0 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7); // P1.3
IFG cleared
P1OUT |= BIT0 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7;

//P1DIR |= BIT0;
// Set P2.0 to output direction
//configuracion del pin3
P2IE |= BIT0 + BIT1 + BIT2+ BIT3+ BIT4 + BIT5; // P2.
interrupt enabled
P2IES |= BIT0 + BIT1 + BIT2+ BIT3+ BIT4 + BIT5; // P2.
Hi/lo edge
P2REN |= BIT0 + BIT1 + BIT2+ BIT3+ BIT4 + BIT5; // Enable
Pull Up on SW2 (P1.3)
P2IFG &= ~(BIT0 + BIT1 + BIT2+ BIT3+ BIT4 + BIT5); // P2.IFG
cleared
P2OUT |= BIT0 + BIT1 + BIT2+ BIT3+ BIT4 + BIT5;

18
//BIT3 on Port 1 can be used as Switch2
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD

UCA0CTL1 |= UCSSEL_2; // SMCLK


UCA0BR0 = 104; // 1MHz 9600
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(LPM4_bits + GIE); // Enter LPM4 w/interrupt


}

void CambiarC1(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ1[i];
}
}

void CambiarC2(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ2[i];
}
}

void CambiarC3(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ3[i];
}
}
void CambiarC4(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ4[i];
}
}

void CambiarC5(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ5[i];
}
}

void CambiarC6(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ6[i];
}
}
void CambiarC7(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ7[i];
}
}
void CambiarC8(){

19
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ8[i];
}
}
void CambiarC9(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ9[i];
}
}

void Reset(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ10[i];
}
}

void Down(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ11[i];
}
}

void Up(){
for(i=0;i<12;i++){
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = MSJ12[i];
}
}
// Port 1 interrupt service routine

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
//P1OUT ^= BIT0; // P1.0 = toggle
y=P1IFG;
if(y &= BIT0){
P1IFG &= ~BIT0; // P1.3 IFG cleared
Reset();}
_delay_cycles(100000);
y=P1IFG;
if(y &= BIT3){
P1IFG &= ~BIT3; // P1.3 IFG cleared
CambiarC1();}// P1.3 IFG cleared
_delay_cycles(100000);
y=P1IFG;
if(y &= BIT4){
P1IFG &= ~BIT4; // P1.4 IFG cleared
CambiarC2();}// P1.4 IFG cleared
_delay_cycles(100000);
y=P1IFG;
if(y &= BIT5){
P1IFG &= ~BIT5; // P1.5 IFG cleared
CambiarC3();}// P1.5 IFG cleared
_delay_cycles(100000);
y=P1IFG;
if(y &= BIT6){
P1IFG &= ~BIT6; // P1.6 IFG cleared

20
CambiarC4();}// P1.6 IFG cleared
_delay_cycles(100000);
y=P1IFG;
if(y &= BIT7){
P1IFG &= ~BIT7; // P1.7 IFG cleared
CambiarC5();}// P1.7 IFG cleared
_delay_cycles(100000);
}

#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
//P2OUT ^= BIT0;

z=P2IFG;
if(z &= BIT0){
P2IFG &= ~BIT0; // P2. IFG cleared
CambiarC6();}// P2.1 IFG cleared
_delay_cycles(100000);
z=P2IFG;
if(z &= BIT1){
P2IFG &= ~BIT1; // P2. IFG cleared
CambiarC7();}// P2.1 IFG cleared
_delay_cycles(100000);
z=P2IFG;
if(z &= BIT2){
P2IFG &= ~BIT2; // P2. IFG cleared
CambiarC8();}// P2.2 IFG cleared
_delay_cycles(100000);
z=P2IFG;
if(z &= BIT3){
P2IFG &= ~BIT3; // P2. IFG cleared
CambiarC9();}// P2.2 IFG cleared
_delay_cycles(100000);
z=P2IFG;
if(z &= BIT4){
P2IFG &= ~BIT4; // P2. IFG cleared
Down();}// P2.0 IFG cleared
_delay_cycles(100000);
z=P2IFG;
if(z &= BIT5){
P2IFG &= ~BIT5; // P2. IFG cleared
Up();}// P2.0 IFG cleared
_delay_cycles(100000);

#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
x = UCA0RXBUF ; // lee el buffer
}

21
Este proyecto nos sirvió para saber el comportamiento de cada una de las
arquitecturas de los componentes electrónicos que utilizamos, por ejemplo, ahora
sabemos que para enviarle una instrucción al módulo SD por medio de nuestro
puente comunicador que es el microcontrolador MSP430g2553 es por medio de
tramas en un sistema hexadecimal y al último terminarlo con el código para la
función del ‘ENTER’, sabemos con claridad cada una de las conexiones que se
llevaron a cabo.
Con la terminación de este proyecto ahora tenemos la capacidad de hasta mejorar
la presentación para futura comercialización y así llegar a nuestro objetivo inicial
que es cuidar el medio ambiente de no usar baterías que son corriente directa,
usamos corriente alterna para alimentar el microcontrolador y el protoboard.

22
SECURE DIGITAL.de.Sitio web:
http://server-die.alc.upv.es/asignaturas/PAEEES/2006-07/Tarjetas%20SD.pdf

ALTAVOZ.de.Sitio Web:
https://www.ieslosviveros.es/alumnos/asig8/carpeta729/3altavocesPDF.pdf

DF PLAYER MINI. De Sitio Web:


https://www.luisllamas.es/arduino-mp3-dfplayer-mini/
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299
https://www.google.com/search?q=DFPlayer+Mini+SKU:DFR0299&source=lnms&t
bm=isch&sa=X&ved=0ahUKEwi1tc6LoezeAhUCL6wKHWwkAPIQ_AUIDigB&biw=
1366&bih=695#imgrc=55PNXujLDqTNoM:

MSP430g2553. De Sitio Web:


http://bibing.us.es/proyectos/abreproy/12159/fichero/4.pdf
https://www.digikey.com/es/product-highlight/t/texas-instruments/msp430g2553-
mixed-signal-microcontrollers

23
24
25
26
27
28
29

You might also like