Professional Documents
Culture Documents
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.
3
ALTAVOZ
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)
5
DFPLAYER MINI
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
6
MAPA DE PIN
7
MODO DE TRABAJO
MODO SERIE
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
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
DATASHEET MSP430g2553
13
CARACTERÍSTICAS PRINCIPALES DEL MSP430g2553
14
Para la realización de este proyecto utilizamos diferentes materiales, los cuales son:
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
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 i,x,y,z;
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
//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
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
23
24
25
26
27
28
29