Está en la página 1de 34

UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA

FACULTAD DE SISTEMAS Y TELECOMUNICACIONES


CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

PRACTICA 3

GENERACIÓN DE TONOS Y MELODÍAS CON MICROCONTROLADORES Y


BUZZER
ASIGNATURA:

LABORATORIO DE MICROCONTROLADORES

INTEGRANTES:

CECILIA TOMALÁ TOMALÁ


GEORGE RODRIGUEZ
ALEXANDER DIAZ
LEONARDO GUILLEN

DOCENTE:
ING. SENDEY VERA

CURSO
OCTAVO SEMESTRE
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

1 OBJETIVOS

OBJETIVO GENERAL

Desarrollar un programa para el microcontrolador PIC16F886 utilizando el software de simulación


MikroBasic Pro For PIC de tal forma que al diseñar un circuito en el simulador Proteus e
implementarlo físicamente pueda guardar y ejecutar correctamente las instrucciones.

OBJETIVOS ESPECIFICOS

 A través de librerías de MikroBasic Pro For PIC: SOUND LIBRARY, realizar la interface
para generar las melodías entre el PIC16F886 y el BUZZER.
 Programar melodías o tonos con la ayuda del software MikroBasic Pro For Pic para una
respetiva apreciación por medio de pulsadores.
 Aprender a utilizar las notas musicales con sus respectivas frecuencias y tiempos de
retardo y cumplir con los parámetros indicados.
 Aprender a utilizar el Buzzer como dispositivo I/O Digitales.
 Desarrollará las habilidades para implementar el circuito del prototipo y grabar el programa
diseñado para integrar el software y hardware, logrando un sistema funcional.

2 INTRODUCCION

Esta práctica consiste en el desarrollo de un sistema que, a partir de los parámetros de entradas,
genera una melodía o tono musical.

La principal función es la creación de una composición de una melodía musical, entendiendo por
esta una sucesión de notas musicales con un determinado carácter y sentido.

El sistema de notación musical nos permite especificar dos de las características principales de
la música: la nota que debemos tocar y su duración.

El sonido tiene cuatro características: altura, intensidad, duración y timbre.

a) ALTURA: El sonido es producido por vibraciones, estas vibraciones generan unas ondas que
atraviesan el aire y llegan hasta el oído. La frecuencia, es decir, el número de vibraciones que se
realicen por segundo determinan la altura de sonido: graves o agudos.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

b) INTENSIDAD: Así como la altura del sonido depende de la frecuencia, la intensidad depende
de la amplitud de la onda sonora. Mientras más intensa sea la vibración, la amplitud de la onda
sonora será mayor, por lo tanto, el sonido será más fuerte. Si la vibración es menos intensa, la
amplitud de la onda sonora será mayor y, por lo tanto, el sonido será más suave.

c) DURACION: Es la cantidad de tiempo que dure la ejecución de un sonido.

d) TIMBRE: el timbre está determinado por la cantidad y calidad de armónicas que se ejecuten
con cada sonido fundamental o principal.

3 FUNDAMENTOS TEORICO

MICROCONTROLADOR

Los Microcontroladores PIC suponen un avance significativo en la materia de dispositivos digitales


empleados en el control de sistemas. Su reducido tamaño, así como sus elevadas prestaciones
lo convierten en un elemento indispensable en el campo de los
Microcontroladores. Por este motivo, se pretende realizar un conjunto
de prácticas que profundicen en las prestaciones de los
Microcontroladores de forma que se asimile los conceptos
fundamentales mediante la realización de dichas prácticas.

Este microcontrolador de 40 pines es uno de los más usados en


proyectos escolares cuenta con una gran cantidad de documentación
en foros de internet y es en el cual también se basan una gran cantidad
de libros.

 Empaque DIP de 18 pines (ideal para protoboard)


 Memoria de Programa de 2Kwords
 Memoria RAM con 224 registros
 Memoria EEPROM de 128 bytes
 Comparadores analógicos
 USART (puerto serie) compatible con nuestro módulo FT232 para USB
 Oscilador interno de 4MHz, externo hasta 20MHz
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

 2 Timer de 8bits
 1 Timer de 16 Bits
 32 instrucciones
 Módulo de PWM
 Módulo de CCP
 Módulo ADC de 10 bits

 SIMULADORES MIKROBASIC Y PROTEUS

MIKROBASIC

MikroBasic PRO para PIC: es un compilador BASIC con todas las características para
microcontroladores PIC de Microchip. Está diseñado para desarrollar, construir y depurar
aplicaciones embebidas basadas en PIC. Este entorno de desarrollo cuenta con una amplia
variedad de características tales como: una sintaxis BASIC fácil de aprender, IDE fácil de usar,
un código muy compacto y eficiente, muchos equipos y bibliotecas de software, la documentación
completa, el simulador de software, un depurador de hardware, la generación de archivos COFF,
etc. Además, incluye muchos ejemplos prácticos que permiten un rápido inicio en la programación
de microcontroladores PIC.

PROTEUS

Proteus es una compilación de programas en un entorno integrado diseñado para la realización


completa de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño,
simulación, depuración y construcción. Desarrollado por Labcenter Electronics que consta de los
dos programas principales: Ares e Isis, y los módulos VSM y Electra.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

GRABADOR PICKT2 (PICKIT3)


Un clásico entre los programadores USB es el PICKIT 2, y más aún los clones de este. Muy
famosos por ser de Microchip, y por encontrarse a disposición de cualquier tanto el circuito
esquemático como el cómo el código fuente del firmware. Lo que posibilita que muchos usuarios
realicen modificaciones y puedan crear su propio programador.

El PICKIT 2

Es reconocido como un dispositivo HID, por lo que no es necesario drivers extras, los sistemas
operativos modernos cuentan ya con los drivers necesarios. Se puede usar tanto en Linux, Mac
como Windows. En la página de Microchip se encuentran programas específicos como ser la
interfaz de programación, analizador lógico, además con los IDE MPLAB X y MPLAB se lo pude
utilizar como debugger.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

3 SOFTWARE Y MATERIALES

SOFTWARES MATERIALES
 SOFTWARE MIKROBASIC  PIC16F886
PRO FOR PIC  GRABADOR PICKT2
 SOFTWARE DE SIMULACION  PROTOBOARD
PROTEUS  CABLE HEMBRA-HEMBRA
 SOFTWARE DE PICkit 2 v2.61  CABLE USB
 BUZZER
 RESISTENCIAS DE 1KΩ
 PULSADORES

Fig.1 SOFTWARE UTILIZADOS


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

4 PROCEDIMIENTO

Practica a realizar:

1) Revisar las características, propiedades y hojas técnicas del dispositivo que produce
sonido. (Buzzer).

BUZZER

Este es un periférico de salida que le permite generar tonos de distintas frecuencias con un
microcontrolador.

Zumbador, Buzzer en inglés, es un transductor electroacústico que produce


un sonido o zumbido continuo o intermitente de un mismo tono. Sirve como
mecanismo de señalización o aviso, y son utilizados en múltiples sistemas
como en automóviles o en electrodomésticos, incluidos los despertadores.

Inicialmente este dispositivo estaba basado en un sistema electromecánico


que era similar a una campana eléctrica, pero sin el badajo metálico, el cual
imitaba el sonido de una campana.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

FUNCIONAMIENTO

Su construcción consta de dos elementos, un electroimán y una lámina metálica de acero. El


zumbador puede ser conectado a circuitos integrados especiales para así lograr distintos tonos.

Cuando se acciona, la corriente pasa por la bobina del electroimán y produce un campo
magnético variable que hace vibrar la lámina de acero sobre la armadura.

APLICACIONES

Los generadores de sonidos piezoeléctricos son dispositivos aptos para el diseño de alarmas y
controles acústicos de estrecho rango de frecuencia, por ejemplo, en aparatos domésticos y de
medicina.

CONEXIÓN

Primero vamos a fijarnos en el Buzzer, como veraz tiene 3 pines los cuales son para:
 GND: señal de referencia para el pin GND de la placa del microcontrolador.
 VCC: señal de referencia para el pin VCC de la placa del microcontrolador.
 SGN: señal de datos para el pin de salida del sonido del PIC.

Es importante recordar que las piezas tienen polaridad, y que los cables indican precisamente
como conectar nuestro dispositivo a la placa

2) Revisar en la opción HELP (SOUND_LIBRARY) del software MikroBasic Pro For PIC las
diferentes librerías que se utilizara para llevar a cabo la práctica.

GENERACION DE SONIDO, LIBRERÍA DE SONIDO.

Las señales de audio se utilizan con frecuencia cuando se necesita llamar la atención de usuario,
confirmar que alguno de los botones se ha pulsado, avisar que se ha llegado hasta los valores
mínimos o máximos etc. Pueden ser una simple señal de pitido, así como melodías de una
duración más larga o más corta. En este ejemplo se muestra la generación de sonido por medio
de funciones que pertenecen a la librería Sound.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

SOUND_INIT

PROTOTIPO: sub procedure Sound_Init (dim snd_port byref como byte, dim snd_pin como byte)

DESCRIPCIÓN: Permite configurar el pasador de MCU adecuado para la generación de sonido.

PARÁMETROS:

 snd_port: dirección del puerto de salida de sonido


 snd_pin: pin de salida del sonido

EJEMPLO: Sound_Init (PORTC, 3) 'Inicializar sonido a RC3

SOUND_PLAY

PROTOTIPO:
sub procedure Sound_Play (dim freq_in_Hz as word, dim duration_ms as word)

DESCRIPCIÓN: Genera la señal de onda cuadrada en el pin correspondiente.

PARÁMETROS:

 freq_in_Hz: frecuencia de la señal en Hertz (Hz)


 duration_ms: duración de la señal en milisegundos (ms)

EJEMPLO: Sound_play (1000, 100) 'Reproducir sonido de 1KHz en la duración de 100ms.

3) Revisar la tabla de frecuencias de las notas musicales, las cuales nos ayudaran para
generar nuestra melodía.

FRECUENCIAS DE LAS NOTAS MUSICALES

Si tienes que realizar una aplicación que trate con sonido y música, seguro que tarde o temprano
tienes que trabajar con las notas musicales.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Un sonido no es más que una vibración del aire que nuestros oídos pueden captar. Un sonido
que tiene un determinado tono, depende de la frecuencia a la cual vibra el aire.
Las notas musicales son vibraciones de frecuencias determinadas. Por supuesto, en la creación
de música intervienen muchos otros factores complejos, como, por ejemplo, el timbre.

No obstante, una vibración sinusoidal a una frecuencia concreta, produce un sonido puro que
nosotros percibimos como un pitido de un determinado tono.

En el sistema musical occidental, se ha acordado utilizar sólo unas frecuencias concretas, a las
cuales llamamos notas.

Dividimos las posibles frecuencias en porciones que llamamos "octavas", y cada octava en 12
porciones que llamamos notas. Cada nota de una octava tiene exactamente la mitad de
frecuencia que la misma nota en la octava superior.

El oído humano capta solamente frecuencias que estén por encima de los 20Hz y por debajo de
los 20.000 (muy aproximadamente). Así pues, y con mucha suerte, sólo podemos oír unas 10
octavas como mucho, con doce notas cada una.

La nota La sirve como referencia para todas las demás. A menudo se denomina "nota de afinar".
Se produce un La de afinar cuando el aire vibra 440 veces por segundo, es decir a 440 hertzios.
Por convención, a la octava que contiene esta nota La se le suele considerar la cuarta.

Hay otra nota La, de una "octava" superior (la quinta octava) cuando el aire vibra a 880 hertzios,
y otra más cuando vibra a 880*2 (sexta octava), y otra a 880*2*2 (séptima octava), etc., del mismo
modo que hay un La que se produce cuando el aire vibra a 440/2 (tercera octava) y otra a 440/2/2
(segunda octava).

Para hallar la frecuencia de una nota cualquiera mediante una expresión matemática, se suele
coger una frecuencia de referencia, por ejemplo, el La de afinar (La4, 440 Hertzios) y se multiplica
por la raíz duodécima de 2 elevado al número de semitonos que separa el la de afinar de la nota
que estamos buscando.

Por ejemplo, si buscamos el Do de la quinta octava (Do5, está separado 3 semitonos por encima
del La4. Su frecuencia la podemos calcular multiplicando 440 por la raíz duodécima de 2 elevado
a 3. Si buscásemos el Fa4, está cuatro semitonos por debajo del La4. Los semitonos hacia abajo
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

los consideraremos negativos. Así pues, su frecuencia se obtiene multiplicando 440 por la raíz
duodécima de 2 elevado a -4.

Con carácter general, una nota n (n=1 para Do, n=2 para Do#... n=12 para Si) de la octava o (o
desde 0 hasta 10) tiene una frecuencia f(n, o) que podemos calcular de ésta manera:

En la siguiente imagen se muestra la tabla de frecuencia de las notas musicales la cual nos
ayudara para programar nuestro generador de melodías.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

4) Interconectar los dispositivos:

A. Se utilizará el esquema de conexión presentado en HELP (SOUND_LIBRARY) del


software MikroBasic Pro For PIC.

La siguiente imagen muestra el diagrama de conexión, el cual nos ayudara para realizar nuestro
diagrama.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

B. Se utilizará el código de SOUND_LIBRARY.

MAS DETALLADO EN LA PARTE DE DESARROLLO

Este es el código de la melodía de Mario Bros, el cual nos ayudara para crear nuestra melodía.

program mariobrosfinal
'*******************************************************************************
'Nombre proyecto: MELODIA MARIOBROS
'Descripción:
'El presente proyecto se basa en la generación de tonos por medio de pulsadores,
'utilizaremos las librerías que existen en MikroBasic Pro for Pic.
'Configuraciones:
‘Microcontrolador: PIC16F886
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
'*******************************************************************************

dim cont, aux as integer


main:
cont=0
' Registro Oscilador de control
OSCCON = 0X75 ' Oscilador interno de 8mhz
' Registro PUERTO A
TRISA = 0XFF ' PORTA entradas
PORTA = 0X00
' Registro PUERTO B
TRISB = 0X00 ' PORTB salidas
PORTB = 0X00
‘Registro PUERTO E
TRISE = 0X00 ' PORTE entrada digital
PORTE = 0X00
' Selección de registro analógico. 1 analógico, 0 digitales
ANSEL = 0X00
ANSELH = 0X00
Sound_Init (PORTB, 0) ' HABILITA EL PIN RB0 DONDE SALDRA EL SONIDO
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

while 1
IF (PORTA.0 > PORTA.1) THEN
aux = 0
else
IF (PORTA.0 < PORTA.1) THEN
aux = 1
ELSE
IF (PORTE.3 = 0) THEN
aux = 2
end if
end if
end if
select case aux
case 0
PORTB.1 = 1
'MELODIA MARIO BROS
Sound_Play (659, 125)
Sound_Play (659, 250)
Sound_Play (659, 250)
Sound_Play (0, 125)
Sound_Play (523, 125)
Sound_Play (659, 250)
Sound_Play (783, 500)
Sound_Play (0,500)
Sound_Play (523, 250)
Sound_Play (0, 125)
Sound_Play (391, 125)
Sound_Play (0, 250)
Sound_Play (329, 250)
Sound_Play (440, 250)
Sound_Play (493, 500)
Sound_Play (493, 125)
Sound_Play (466, 250)
Sound_Play (440, 250)
Sound_Play (391, 250)
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Sound_Play (659, 250)


Sound_Play (783, 250)
Sound_Play (880, 250)
Sound_Play (698, 125)
Sound_Play (783, 125)
Sound_Play (659, 500)
Sound_Play (523, 125)
Sound_Play (587, 125)
Sound_Play (987, 125)
Sound_Play (0, 250)
Sound_Play (523,250)
Sound_Play (0,125)
Sound_Play (783,125)
Sound_Play (0,250)
Sound_Play (329,250)
Sound_Play (440,250)
Sound_Play (493,250)
Sound_Play (0,125)
Sound_Play (466,125)
Sound_Play (440,250)
Sound_Play (391,250)
Sound_Play (659,250)
Sound_Play (793,250)
Sound_Play (880,250)
Sound_Play (698,125)
Sound_Play (783,125)
Sound_Play (659,250)
Sound_Play (0,125)
Sound_Play (523,125)
Sound_Play (587,125)
Sound_Play (493,125)
Sound_Play (0,250)
while cont<=1
Sound_Play (0,250)
Sound_Play (783,125)
Sound_Play (739,125)
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Sound_Play (698,125)
Sound_Play (622,125)
Sound_Play (659,250)
Sound_Play (0,125)
Sound_Play (830,125)
Sound_Play (440,125)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (440,125)
Sound_Play (523,125)
Sound_Play (587,125)
Sound_Play (0,250)
Sound_Play (783,125)
Sound_Play (739,125)
Sound_Play (698,125)
Sound_Play (0,500)
cont=cont+1
wend
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (587,250)
Sound_Play (659,125)
Sound_Play (523,250)
Sound_Play (440,125)
Sound_Play (391,250)
Sound_Play (0,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (0,125)
Sound_Play (523,125)
Sound_Play (587,125)
Sound_Play (659,125)
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Sound_Play (0,1000)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (523,250)
Sound_Play (523,125)
Sound_Play (523,125)
Sound_Play (587,250)
Sound_Play (659,125)
Sound_Play (523,125)
Sound_Play (0,125)
Sound_Play (440,125)
Sound_Play (391,250)
Sound_Play (0,250)
Sound_Play (659,125)
Sound_Play (659,125)
Sound_Play (659,250)
Sound_Play (659,125)
Sound_Play (523,125)
Sound_Play (659,250)
Sound_Play (783,250)
Sound_Play (0,250)
Sound_Play (0,500)
PORTA = 0X00
case 1
PORTB.1 = 1
'MELODIA DE MONEDA
Sound_Play (987,250)
Sound_Play (1318,500)
Sound_Play (1318,1000)
PORTA = 0X00
case 2
PORTB = 0x00
PORTA = 0X00
end select
wend
end
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

C. Practica a realizar.

RETO
El código presentado en el ítem anterior es un ejemplo el cual se modificará para crear nuestra
melodía (STAR WARS), la cual consiste en buscar la frecuencia y el tiempo necesario para
producir nuestra melodía.

MAS DETALLADO EN LA PARTE DE DESARROLLO

5) Utilizar PICKIT2 para quemar el programa en el PIC. (Descripción de cómo utilizar el


PICKIT2.

El programa PICKIT2 nos ayuda a grabar en el PIC el archivo hexadecimal generado por el código
creado en MikroBasic.

Para poder grabar la información en el PIC realizamos los siguientes pasos:

a) Conectamos el USB al quemador y abrimos el programa PICKT2.

b) Teniendo correctamente conectado el PIC en la tarjeta del programador se pulsa la


pestaña TOOLS y del menú desplegable se selecciona Check Comunication para verificar
la comunicación del pic y el software.

c) Tras realizar esto el programador nos otorgara información sobre el tipo de PIC y se
habilitara el botón Read que nos servirá para leer la memoria del PIC, el botón Write el
cual una vez cargado el programa deseado en el buffer del software nos servirá para
proceder a programar nuestro PIC, el botón Verify sirve para verificar el PIC conectado, el
botón Erase nos sirve para borrar la memoria del PIC y dejarlo en blanco.

d) Para programar un código previamente creado es necesario pulsar la pestaña File y en el


menú seleccionamos Import Hex.

e) Una vez realizado esto podremos observar que el código se cargó correctamente y
procedemos a pulsar el botón Write para grabar el PIC.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

5 DESARROLLO

PARTE A: melodía de MARIOBROS


Código del programa MikroBasic Pro For PIC:

Captura # 1 y2 Codigo de la melodia de MARIOBROS en mikrobasic.


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 3 Codigo de la melodia de MARIOBROS en mikrobasic parte 3

Captura # 4 Codigo de la melodia de MARIOBROS en mikrobasic parte4


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 5 Codigo de la melodia de MARIOBROS en mikrobasic parte5

Captura # 6 Codigo de la melodia de MARIOBROS en mikrobasic parte6


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 7 Codigo de la melodia de MARIOBROS en mikrobasic parte7

Captura # 8 Codigo de la melodia de MARIOBROS en mikrobasic


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 9 Codigo de la melodia de MARIOBROS en mikrobasic

Captura # 10 Codigo de la melodia de MARIOBROS en mikrobasic


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 11 Codigo de la melodia de MARIOBROS en mikrobasic

SIMULACION EN PROTEUS 8
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

PARTE B

RETO
Realizar el código de la melodía STAR WARS EN MICRO BASIC PRO FOR PIC

El código presentado en el ítem anterior es un ejemplo el cual se modificará para crear nuestra
melodía (STAR WARS), la cual consiste en buscar la frecuencia y el tiempo necesario para producir
nuestra melodía.

PARTE B:
Código del programa MikroBasic Pro For PIC:

Captura # 1Codigo de la melodia STAR WARS en mikrobasic parte1


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 2 y 3 Codigo de la melodia de STAR WARS en mikrobasic parte 2 y 3


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 4 Codigo de la melodia de STAR WARS en mikrobasic parte4

Captura # 5 Codigo de la melodia de STAR WARS en mikrobasic parte5


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 6 Codigo de la melodia de STAR WARS en mikrobasic parte6

Captura # 7 Codigo de la melodia de STAR WARS en mikrobasic parte7


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Captura # 8 Codigo de la melodia de STAR WARS en mikrobasic finalizado

SIMULACION EN PROTEUS 8

Captura # 9 Simulacion en proteus de la melodia de STAR WARS


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

1) ¿CUALES SON LAS LIBRERIAS QUE SE UTILIZAN EN MIKROBASIC PRO FOR PIC
PARA GENERAR UNA MELODIA? DESCRIBA.

MikroBasic PRO for PIC proporciona una biblioteca de sonidos para proporcionar a los usuarios
las rutinas necesarias para la señalización de sonido en sus aplicaciones. Esta librería son las
siguientes:

 Sound_Play (1000, 100)


Genera la señal de onda cuadrada en el pin correspondiente.
PARÁMETROS:

 freq_in_Hz: frecuencia de la señal en Hertz (Hz)


 duration_ms: duración de la señal en milisegundos (ms)

EJEMPLO: Sound_play (1000, 100) 'Reproducir sonido de 1KHz en la duración de 100ms.

 Sound_Init (PORTC, 3)
Configura el pin MCU apropiado donde se emitirá el sonido. en este caso en el puerto b del
microcontrolador.
PARAMETROS:
 snd_port: dirección del puerto de salida de sonido
 snd_pin: pin de salida de sonido
EJEMPLO: Sound_Init (PORTC, 3) 'Inicializar sonido a RC3
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

2) ¿QUE RANGO DE FRECUENCIAS UTILIZO Y PORQUE PARA GENERAR LA MELODIA?

Rango de frecuencia que se utilizó en la melodía de Mario Bros fue de 0 hasta 1046.
Rango de frecuencia para el reto que fue la melodía de star wars utilizamos un rango de frecuencia
de 349 al 880. En la tabla de frecuencia antes vista se puede observar que se está trabajando con
la cuarta y quinta octava.

Nota

Al utilizar la melodía de star wars pudimos notar que la frecuencia de cero presenta también un
tono es por esto que para darle un tiempo de retardo se debe utilizar el delay.

3) AL PROGRAMAR LAS NOTAS MUSICALES ¿TUVO DIFICULTAD A LA HORA DE


PROGRAMAR LOS TIEMPOS DE RETARDO PARA OBTENER RESULTADOS FIABLES?

La programar la instrucción SOUND PLAY de MIKOBASIC introducimos cada una de frecuencia y


el tiempo de duración de cada una de las notas musicales para producir la melodía de star wars,
pero al momento de realizar la simulación se notó que la melodía producía un ruido cada vez que
se ejecutaba la frecuencia 0 es por eso que utilizamos mejor el delay, y al volver ejecutar se pudo
notar que la melodía se escuchaba de mejor manera. Y pudimos comprobar que la frecuencia 0
también es un tono musical ya que no lo sabíamos.

4) DESCRIBA EL FUNCIONAMIENTO DE LA PRÁCTICA REALIZADA.

Esta practica tuvo como fin realizar la melodía de star wars en las cuales se utilizó la librería
Sound_Init y Sound_Play de MikroBasic y las diferentes frecuencias y tiempo de duración que
componen cada nota de la melodía antes mencionada, además se utilizó para su implementación
un Buzzer, resistencias, el pic 16f887, protoboard el quemador y pulsadores, mediante los
pulsadores se pudo escuchar la melodía de star wars y comprobar el correcto funcionamiento de
la practica realizada.

.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

6 CONCLUSIONES

CONCLUSIONES

 Esta práctica tenía como objetivo programar melodías o tonos con la ayuda del software
MikroBasic Pro For Pic para ello utilizamos pulsadores para apreciar la melodia propuesta
por el docente en este caso la de mariobross y star wars, y para la realización del código
utilizamos la librería sound.

 La librería SOUND_PLAY nos ayuda a generar la nota que queremos escuchar. Tenemos
este ejemplo, Sound_Play (587, 250) es la nota musical RE, el valor de la izquierda es el
valor de la frecuencia que genera la melodía, el valor de la derecha es el tiempo de duración
de dicha nota musical. Es importante saber que si quieren una pausa en el audio no
coloquen Sound_Play (0, 250) porque se escuchará un ruido interno, lo mejor es escribir la
línea de código Delay_ms (250) y listo.

 Realizar la simulación en MikroBasic como en proteus para comprobar que los resultados
sean los correcto y de esta manera al momento de realizar la implementación no tengamos
problemas es por ello que debemos conocer las características y debida conexión de cada
dispositivo a utilizar.

 Para la generación de las notas musicales trabajamos con los valores de frecuencia de la
cuarta y quinta octava, los cuales utilizamos para la generación de las notas musicales y la
codificación de las instrucciones en MikroBasic Pro For Pic.

 En la práctica se pudo observar y concluir que depende del pic a utilizar y la memoria del
mismo, ya que, con ambas canciones, como la de Mario bros y de star wars se ocupaba la
mayoría de memoria por ende el programa no se ejecutaba y producto de eso salía error,
como solución pudimos agregar un pequeño sonido al primer botón y al segundo botón
añadirle la música de estar wars como se pedía en el reto.

 Al utilizar un circuito con varios elementos, se procede a poner como fuente un Arduino uno
para la suficiente corriente y alimentación de la práctica.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

7 BIBLIOGRAFIA

http://www.academia.edu/4481639/GUIA_DE_PRACTICA_9_USO_DE_BUZZER_Y_TECLADO_
CON_MICROCONTROLADORES_-_IDETEC
http://opironelectronics.blogspot.com/2013/02/primeros-pasos-con-un-buzzer.html
http://es.wikipedia.org/wiki/Zumbador

8 ANEXOS

PARTE A y reto

FIGURA 1 FUNCIONAMIENTO DE LA PARTE A Y B CIRCUITO IMPLEMENTADO


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRONICA Y TELECOMUNICACIONES
LABORATORIO DE MICROCONTROLADORES

Figura 2 utilizamos el quemador PICKIT 2 para pasar el código de la melodía de star wars realizada
en el programa MikroBasic al pic.

Figura 3 circuito implementado

También podría gustarte